Rutas
/
Haskell
Haskell
/
Ejercicios
/
Números complejos
Números complejos

Números complejos

Fácil

Instrucciones

Un número complejo es un número de la forma a + b * i, donde a y b son números reales e i satisface i^2 = -1.

a se llama la parte real y b se llama la parte imaginaria de z. El conjugado del número a + b * i es el número a - b * i. El valor absoluto de un número complejo z = a + b * i es un número real |z| = sqrt(a^2 + b^2). El cuadrado del valor absoluto |z|^2 es el resultado de multiplicar z por su conjugado complejo.

La suma o diferencia de dos números complejos implica sumar o restar sus partes real e imaginaria por separado: (a + i * b) + (c + i * d) = (a + c) + (b + d) * i, (a + i * b) - (c + i * d) = (a - c) + (b - d) * i.

El resultado de la multiplicación es, por definición, (a + i * b) * (c + i * d) = (a * c - b * d) + (b * c + a * d) * i.

El recíproco de un número complejo distinto de cero es 1 / (a + i * b) = a/(a^2 + b^2) - b/(a^2 + b^2) * i.

Dividir un número complejo a + i * b entre otro c + i * d da: (a + i * b) / (c + i * d) = (a * c + b * d)/(c^2 + d^2) + (b * c - a * d)/(c^2 + d^2) * i.

Elevar e a un exponente complejo puede expresarse como e^(a + i * b) = e^a * e^(i * b), cuyo último término viene dado por la fórmula de Euler e^(i * b) = cos(b) + i * sin(b).

Implementa las siguientes operaciones:

  • suma, resta, multiplicación y división de dos números complejos,
  • conjugado, valor absoluto y exponente de un número complejo dado.

Supón que el lenguaje de programación que utilizas no tiene una implementación de números complejos.


Fuente

WikipediaEl enlace se abre en una nueva ventana o pestaña
Editar en GitHub El enlace se abre en una ventana o pestaña nueva
Haskell Exercism

¿Listo para empezar Números complejos?

Regístrate en Exercism para aprender y dominar Haskell con 107 ejercicios y mentoría humana real, todo gratis.