Algunos lenguajes de programación proporcionan un tipo de datos complejo para el almacenamiento de números complejos y la aritmética como un tipo de datos integrado (primitivo) .
En algunos entornos de programación, el término tipo de datos complejos (a diferencia de los tipos de datos primitivos ) es sinónimo del tipo de datos compuestos . [1] [2]
Aritmética de números complejos
Una variable o valor complejo se suele representar como un par de números de coma flotante . Los lenguajes que admiten un tipo de datos complejo suelen proporcionar una sintaxis especial para construir dichos valores y amplían las operaciones aritméticas básicas ('+', '-', '×', '÷') para actuar sobre ellos. El compilador suele traducir estas operaciones en una secuencia de instrucciones de máquina de punto flotante o en llamadas a bibliotecas . Esos lenguajes también pueden proporcionar soporte para otras operaciones, como formateo, pruebas de igualdad, etc. Como en matemáticas , esos lenguajes a menudo interpretan un valor de punto flotante como equivalente a un valor complejo con una parte imaginaria cero.
Ayuda de idioma
- El tipo COMPLEJO FORTRAN . [3]
- El estándar C99 del lenguaje de programación C incluye tipos de datos complejos y funciones matemáticas complejas en el encabezado de la biblioteca estándar .
<complex.h>
- La biblioteca estándar de C ++ proporciona una
complex
clase de plantilla, así como funciones matemáticas complejas en el
encabezado. - El lenguaje de programación Go tiene tipos integrados
complex64
(cada componente es flotante de 32 bits) ycomplex128
(cada componente es flotante de 64 bits). - El módulo principal de Perl Math :: Complex proporciona soporte para números complejos.
- Python proporciona el tipo integrado
complex
. Los literales de números imaginarios se pueden especificar agregando una "j". Las funciones matemáticas complejas se proporcionan en el módulo de biblioteca estándarcmath
. [4] - Ruby proporciona un Clase compleja en el módulo de biblioteca estándar complejo .
- OCaml admite números complejos con el módulo de biblioteca estándar Complejo .
- Haskell admite números complejos con el módulo de biblioteca estándar Data.Complex (anteriormente llamado Complejo ).
- Mercury proporciona números complejos con soporte completo de sobrecarga del operador en la distribución de extras, utilizando libcomplex_numbers .
- Java no tiene una clase de números complejos estándar, pero existen varias implementaciones gratuitas incompatibles de una clase de números complejos:
- La biblioteca Apache Commons Math proporciona números complejos para Java con su Clase compleja .
- La biblioteca JScience tiene un Clase de números complejos .
- La biblioteca JAS permite el uso de números complejos.
- Netlib tiene una clase de números complejos para Java.
- javafastcomplex también agrega soporte de números complejos para Java
- jcomplexnumber es un proyecto sobre la implementación de números complejos en Java.
- JLinAlg incluye números complejos con precisión arbitraria.
- Common Lisp : El estándar ANSI Common Lisp admite números complejos de flotantes, racionales y enteros de precisión arbitraria. Sus funciones matemáticas básicas se definen para números complejos, cuando corresponda. Por ejemplo, la raíz cuadrada de -1 es un número complejo:
? ( raíz -1 ) #C ( 0 1 ) ; el resultado de (sqrt -1)
- Esquema :
sin
en la especificación del lenguaje se incluyen números complejos y funciones (por ejemplo ). Sin embargo, su implementación es opcional en el estándar R5RS, mientras que en R6RS es obligatoria. - El .NET Framework proporciona System.Numerics.Complex desde la versión 4.0.
- El BASIC inteligente para iOS admite naturalmente números complejos en notación a + bi . Cualquier variable, operación o función matemática puede aceptar números reales y complejos como argumentos y devolver números reales o complejos según el resultado. Por ejemplo, la raíz cuadrada de -4 es un número complejo:
IMPRIMIR CUADRADA ( -4 ) 2 i
Referencias
- ^ Guía de implementación y diseño de bases de datos de IBM Informix
- ^ "Documentación de Flash 8" . Archivado desde el original el 27 de abril de 2009 . Consultado el 11 de mayo de 2009 .
- ^ Una guía para la programación de Fortran IV Daniel D. McCracken - 1972 - 288 páginas. "La capacidad proporcionada por las operaciones complejas de Fortran es un gran ahorro en el esfuerzo de programación en ciertos problemas".
- ^ Documentación de Python v2.6.5