Números complejos
Un número complejo tiene una parte real y una parte imaginaria, que se escribe con i, la raíz
cuadrada de −1. Esta página explica cómo escribir números complejos, operar con ellos,
descomponerlos en módulo y argumento, calcular raíces cuadradas de números negativos, y qué funciones
matemáticas aceptan valores complejos.
Te servirá cuando una ecuación de segundo grado no tenga raíces reales, cuando trabajes con circuitos de corriente alterna o señales, o cuando revises ejercicios de análisis complejo.
Escribir números complejos
2 + 3i da 2 + 3icomplex(3, -4) da 3 - 4ii^2 da -1Pon i justo después de un número para la parte imaginaria, como en 3i o 1.5i, o usa i sola.
complex(real, imaginaria) construye el mismo valor a partir de dos partes, algo práctico cuando las
partes son nombres: complex(resistencia, reactancia). Ambas partes deben ser números sin unidades.
i significa la unidad imaginaria solo mientras no haya nada más en la nota que se llame i. En
cuanto defines un nombre o una unidad personalizada llamada i, esta tiene prioridad:
i = 52 + 3i da 17complex(2, 3) da 2 + 3iAquí 3i pasó a ser 3 × 5, y la línea dio 17. Los nombres se mantienen entre los bloques de cálculo
de una nota, así que un i = … en cualquier punto anterior de la nota tiene el mismo efecto. Evita
usar i como nombre en notas con números complejos. complex(2, 3) no usa el nombre, así que sigue
funcionando.
Aritmética
(2 + 3i) + (1 - 5i) da 3 - 2i(1 + 2i) * (3 - i) da 5 + 5i(2 + 3i) * (2 - 3i) da 1310 / (3 + 4i) da 1.2 - 1.6i(1 + i)^8 da 16La suma, la resta, la multiplicación, la división y las potencias de exponente entero son exactas.
Cuando la parte imaginaria de un resultado es cero, como en (2 + 3i) * (2 - 3i), el resultado se
muestra como un número normal. Pon entre paréntesis cada número complejo al multiplicar o dividir,
para que (2 + 3i) * (2 - 3i) no se lea como 2 + (3i * 2) - 3i.
Partes de un número complejo
z = 3 + 4ireal(z) da 3imag(z) da 4conj(z) da 3 - 4iabs(z) da 5arg(1 + i) da 0.7853981634arg(1 + i) rad in degrees da 45°| Función | Da |
|---|---|
real(z) |
La parte real |
imag(z) |
La parte imaginaria, como número sin más |
conj(z) |
El conjugado: la misma parte real y la parte imaginaria con el signo cambiado |
abs(z) |
El módulo: la distancia a cero |
arg(z) |
El argumento: el ángulo desde el semieje real positivo, en radianes |
arg devuelve un número de radianes entre −π y π. Para verlo en grados, márcalo como radianes y
conviértelo, como en la última línea. Para hacer lo contrario, del módulo y el ángulo a un número
complejo, usa exp: 2 * exp(i * pi / 3) es 1 + 1.7320508076i.
Raíces cuadradas de números negativos
La raíz cuadrada de un número negativo normal es un cálculo con números reales, así que sqrt(-16)
muestra un error que te indica qué escribir en su lugar: Error: imaginary number. For a complex answer, write sqrt(-16 + 0i). Para pedir la raíz compleja, escribe el número como complejo: añade 0i o usa
complex(…, 0):
sqrt(-16 + 0i) da 4isqrt(complex(-16, 0)) da 4isqrt(3 + 4i) da 2 + isqrt(2i) da 1 + isqrt devuelve la raíz principal, la que tiene la parte real positiva (o, para números negativos, la
parte imaginaria positiva). La otra raíz cuadrada es su opuesta.
Un valor que escribes como complejo sigue siendo complejo, aunque su parte imaginaria sea cero. Puedes
guardarlo en un nombre o seguir calculando con él antes: después de x = -16 + 0i, sqrt(x) es
4i, aunque x se muestre como -16.
Así, la fórmula de la ecuación de segundo grado funciona con cualquier ecuación:
# Raíces de x^2 + 2x + 5 = 0a = 1b = 2c = 5discriminante = b^2 - 4*a*c da -16(-b + sqrt(discriminante + 0i)) / (2*a) da -1 + 2i(-b - sqrt(discriminante + 0i)) / (2*a) da -1 - 2iLas raíces cúbicas siguen la misma regla de la raíz principal, lo que puede sorprenderte con números negativos:
cbrt(-8) da -2cbrt(-8 + 0i) da 1 + 1.7320508076iAmbas son raíces cúbicas de −8. La versión real da la raíz real; la versión compleja da la raíz compleja principal.
Funciones de un número complejo
exp(i * pi) da -1ln(-1 + 0i) da 3.1415926536ii^i da 0.2078795764cos(i) da 1.5430806348sinh(i) da 0.8414709848i2^i da 0.7692389014 + 0.6389612763iEstas funciones aceptan valores complejos:
sin,cos,tany sus inversasasin,acos,atansinh,cosh,tanhy sus inversasasinh,acosh,atanhexp,ln,log(olog10),log2,sqrtycbrt- potencias con exponentes fraccionarios o complejos, como
i^0.5o2^i
Trabajan en coma flotante binaria, así que los resultados son aproximaciones muy cercanas. Los restos
de redondeo demasiado pequeños para importar se muestran como 0, así que exp(i * pi) se lee como
−1, el resultado que esperarías según el libro de texto. El valor guardado conserva todas las cifras,
así que, para comparar estos resultados, comprueba que la diferencia sea minúscula, como en
abs(exp(i * pi) + 1) < 1e-9, en lugar de usar ==.
Cada función da un único resultado, de su rama principal. Un número complejo tiene infinitos
logaritmos y varias raíces, y obtienes el estándar. Igual que con sqrt, las entradas reales siguen
siendo reales: ln(-1) y log(-100) muestran el error de número imaginario con la forma compleja que
puedes probar, mientras que ln(-1 + 0i) da πi. El
logaritmo de cero da un error.
Las funciones que solo tienen sentido con números reales, como floor y round, no aceptan valores
complejos.
Comparar números complejos
2 + 3i == complex(2, 3) da true2 + 3i != 2 - 3i da truecomplex(3, 0) >= 3 da trueabs(3 + 4i) > abs(1 + 2i) da true== y != funcionan con cualquier valor complejo. <, <=, > y >= solo funcionan cuando la
parte imaginaria de ambos lados es cero, porque los números complejos no tienen un orden natural:
i < 2 da un error. Para comparar tamaños, compara los módulos con abs, como en la última línea.
Los números complejos no se pueden ordenar.
Las reglas completas están en Matemáticas avanzadas: posibilidades y límites.
Todo junto
Esta es la comprobación de un problema de circuito de corriente alterna: una resistencia de 30 Ω y una bobina con 40 Ω de reactancia en serie, con una alimentación de 10 V:
# Circuito en serie: resistencia de 30 Ω, reactancia de 40 Ω, alimentación de 10 Vresistencia = 30reactancia = 40z = complex(resistencia, reactancia) da 30 + 40iabs(z) da 50corriente = 10 / z da 0.12 - 0.16iabs(corriente) da 0.2arg(z) rad in degrees to 1 dp da 53.1°La impedancia es 30 + 40i, con un módulo de 50 Ω, así que la corriente es de 0.2 A y va retrasada
unos 53.1° respecto a la tensión. En ingeniería se suele escribir j para la unidad imaginaria; en
Varlig siempre es i. Los ohmios, voltios y amperios van en el comentario, porque las partes de un
número complejo no pueden llevar unidades.