Trabajando con números complejos

JavaScript:
Trabajando con números complejos

Cómo hacerlo:

JavaScript no tiene soporte integrado para números complejos, pero puedes arremangarte y manejarlo con objetos y matemáticas. Aquí tienes un rápido vistazo.

class NumeroComplejo {
  constructor(real, imaginario) {
    this.real = real;
    this.imaginario = imaginario;
  }

  add(otro) {
    return new NumeroComplejo(this.real + otro.real, this.imaginario + otro.imaginario);
  }

  // ...agrega más métodos (restar, multiplicar, dividir) según sea necesario

  toString() {
    return `${this.real} + ${this.imaginario}i`;
  }
}

const a = new NumeroComplejo(1, 2);
const b = new NumeroComplejo(3, 4);
const resultado = a.add(b);

console.log(`Resultado: ${resultado}`); // Resultado: 4 + 6i

Profundización

Los números complejos existen desde el siglo XVI, gracias al matemático italiano Gerolamo Cardano. Se volvieron cruciales en varios campos, como la ingeniería y la física. En la programación moderna, son clave para simulaciones y algoritmos que necesitan multidimensionalidad.

Ahora, JavaScript no está preparado de forma nativa para los números complejos. Pero además de la opción de hacerlo tú mismo, podrías usar bibliotecas matemáticas como math.js o numeric.js. Aportan la potencia para un manejo más pesado de números complejos, agregando ventajas como más operaciones, cálculo de magnitud y búsqueda de argumentos.

Debajo del capó, cuando operas con números complejos, es como si manejaras dos números separados unidos a la cadera. La adición y la sustracción son juegos directos—empareja lo real con lo real, lo imaginario con lo imaginario. La multiplicación y la división se ponen picantes con cruces de términos y necesitan más cuidado.

Ver también