Una variable o valor complejo se representa generalmente como un par de números de punto flotante . Los lenguajes que admiten un tipo de datos complejo suelen proporcionar una sintaxis especial para construir dichos valores y extienden las operaciones aritméticas básicas ('+', '−', '×', '÷') para actuar sobre ellos . Estas operaciones suelen ser traducidas por el compilador en una secuencia de instrucciones de máquina de punto flotante o en llamadas de biblioteca . Esos lenguajes también pueden proporcionar soporte para otras operaciones, como formato, pruebas de igualdad, etc. Al igual que en matemáticas , esos lenguajes a menudo interpretan un valor de punto flotante como equivalente a un valor complejo con una parte imaginaria cero.
Soporte de idiomas
Esta sección necesita ser ampliada . Puedes ayudar agregándole algo. ( Noviembre 2015 )
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 complexclase de plantilla así como funciones matemáticas complejas en el <complex>encabezado.
El lenguaje de programación Go tiene tipos integrados complex64(cada componente es un número de punto flotante de 32 bits) y complex128(cada componente es un número de punto flotante de 64 bits). Los literales numéricos imaginarios se pueden especificar añadiendo una "i".
El módulo principal de Perl Math::Complex proporciona soporte para números complejos.
Python proporciona el tipo incorporado complex. Los literales numéricos imaginarios se pueden especificar añadiendo una "j". Las funciones matemáticas complejas se proporcionan en el módulo de la biblioteca estándar cmath. [2]
Ruby proporciona una clase Complex en el módulo de biblioteca estándar complex .
OCaml admite números complejos con el módulo de biblioteca estándar Complex .
Haskell admite números complejos con el módulo de biblioteca estándar Data.Complex (anteriormente llamado Complex ).
Mercury proporciona números complejos con soporte completo de sobrecarga de operadores en la distribución extras, usando libcomplex_numbers .
Java no tiene una clase de número complejo estándar, pero existen varias implementaciones gratuitas incompatibles de una clase de número complejo:
La biblioteca Apache Commons Math proporciona números complejos para Java con su clase Complex .
La biblioteca JScience tiene una 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 para 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 punto flotante, racionales y enteros de precisión arbitraria. Sus funciones matemáticas básicas están definidas para números complejos, cuando corresponde. Por ejemplo, la raíz cuadrada de -1 es un número complejo:
? ( sqrt -1 ) #C ( 0 1 ) ; el resultado de ( sqrt -1)
Esquema : Los números complejos y las funciones (por ejemplo, sin) están incluidos en la especificación del lenguaje. Sin embargo, su implementación es opcional en el estándar R5RS, mientras que en R6RS es obligatoria.
.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 matemática o función 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 RAIZ CUADRADA ( -4 ) 2 i
Julia incluye tipos predefinidos tanto para números complejos como racionales desde al menos la versión 0.3 [3]
Swift no tiene un tipo de datos de números complejos estándar, pero Swift Numerics, mantenido por los mantenedores del lenguaje, ofrece ComplexModule.
Referencias
^ Guía de programación en Fortran IV Daniel D. McCracken - 1972 - 288 páginas. "La capacidad que ofrecen las operaciones complejas de Fortran supone un gran ahorro en el esfuerzo de programación en determinados problemas".
^ Documentación de Python v2.6.5
^ "Números complejos y racionales — Documentación de Julia Language 0.3.13-pre".
^ "Tipos de datos R". www.w3schools.com . Consultado el 26 de abril de 2022 .