Saltar al contenido
Guía de Varlig
Inicio de Varlig

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

calc
2 + 3i da 2 + 3i
complex(3, -4) da 3 - 4i
i^2 da -1

Pon 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:

calc
i = 5
2 + 3i da 17
complex(2, 3) da 2 + 3i

Aquí 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

calc
(2 + 3i) + (1 - 5i) da 3 - 2i
(1 + 2i) * (3 - i) da 5 + 5i
(2 + 3i) * (2 - 3i) da 13
10 / (3 + 4i) da 1.2 - 1.6i
(1 + i)^8 da 16

La 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

calc
z = 3 + 4i
real(z) da 3
imag(z) da 4
conj(z) da 3 - 4i
abs(z) da 5
arg(1 + i) da 0.7853981634
arg(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):

calc
sqrt(-16 + 0i) da 4i
sqrt(complex(-16, 0)) da 4i
sqrt(3 + 4i) da 2 + i
sqrt(2i) da 1 + i

sqrt 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:

calc
# Raíces de x^2 + 2x + 5 = 0
a = 1
b = 2
c = 5
discriminante = b^2 - 4*a*c da -16
(-b + sqrt(discriminante + 0i)) / (2*a) da -1 + 2i
(-b - sqrt(discriminante + 0i)) / (2*a) da -1 - 2i

Las raíces cúbicas siguen la misma regla de la raíz principal, lo que puede sorprenderte con números negativos:

calc
cbrt(-8) da -2
cbrt(-8 + 0i) da 1 + 1.7320508076i

Ambas 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

calc
exp(i * pi) da -1
ln(-1 + 0i) da 3.1415926536i
i^i da 0.2078795764
cos(i) da 1.5430806348
sinh(i) da 0.8414709848i
2^i da 0.7692389014 + 0.6389612763i

Estas funciones aceptan valores complejos:

  • sin, cos, tan y sus inversas asin, acos, atan
  • sinh, cosh, tanh y sus inversas asinh, acosh, atanh
  • exp, ln, log (o log10), log2, sqrt y cbrt
  • potencias con exponentes fraccionarios o complejos, como i^0.5 o 2^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

calc
2 + 3i == complex(2, 3) da true
2 + 3i != 2 - 3i da true
complex(3, 0) >= 3 da true
abs(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:

calc
# Circuito en serie: resistencia de 30 Ω, reactancia de 40 Ω, alimentación de 10 V
resistencia = 30
reactancia = 40
z = complex(resistencia, reactancia) da 30 + 40i
abs(z) da 50
corriente = 10 / z da 0.12 - 0.16i
abs(corriente) da 0.2
arg(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.