numeros-complejos-en-python

Números Complejos en Python

En Python, los números complejos se representan utilizando la forma a + bj, donde a y b son números reales, y j es la unidad imaginaria (√-1).

Los números complejos son útiles en matemáticas, ingeniería y otras disciplinas donde se necesitan cálculos con raíces cuadradas de números negativos.

Los números complejos en Python se pueden declarar utilizando la función complex() o directamente utilizando la notación a + bj:

numero_complejo1 = complex(1, 2)
print(numero_complejo1)  # Salida: (1+2j)

numero_complejo2 = 3 + 4j
print(numero_complejo2)  # Salida: (3+4j)

Es posible acceder a la parte real e imaginaria de un número complejo utilizando los atributos .real y .imag, respectivamente:

numero = 1 + 2j
parte_real = numero.real
parte_imaginaria = numero.imag
print(parte_real, parte_imaginaria)  # Salida: 1.0 2.0

Python utiliza la representación estándar de números complejos según el estándar IEEE 754 para números de punto flotante de doble precisión.

Operaciones con Números Complejos

Python soporta varias operaciones matemáticas con números complejos, incluyendo suma, resta, multiplicación, división y otras operaciones específicas de los números complejos.

Las operaciones básicas se comportan de la manera esperada para los números complejos:

# Suma
suma = (1 + 2j) + (3 + 4j)
print(suma)  # Salida: (4+6j)

# Resta
resta = (5 + 6j) - (2 + 1j)
print(resta)  # Salida: (3+5j)

# Multiplicación
multiplicacion = (2 + 3j) * (4 + 5j)
print(multiplicacion)  # Salida: (-7+22j)

# División
division = (5 + 6j) / (2 + 1j)
print(division)  # Salida: (4+1j)

Python también proporciona funciones y métodos para trabajar con números complejos, como el conjugado (conjugate()), la magnitud (abs()) y el argumento (phase()):

# Conjugado
numero = 3 + 4j
conjugado = numero.conjugate()
print(conjugado)  # Salida: (3-4j)

# Magnitud
magnitud = abs(numero)
print(magnitud)  # Salida: 5.0 (raíz cuadrada de 3^2 + 4^2)

# Argumento (fase)
argumento = cmath.phase(numero)
print(argumento)  # Salida: 0.9272952180016122 (en radianes)

Conversión entre Tipos

Es posible convertir otros tipos de datos a números complejos utilizando la función complex():

# Conversión de enteros
numero_entero = 5
numero_complejo = complex(numero_entero)
print(numero_complejo)  # Salida: (5+0j)

# Conversión de flotantes
numero_float = 3.14
numero_complejo = complex(numero_float)
print(numero_complejo)  # Salida: (3.14+0j)