In rete questo: http://www.elegio.it/omnia/ht/usare-numeri-complessi.html

Usare l'unità immaginaria   Math.sqrt(−1)   ossia   √−1   e i numeri complessi non è una cosa molto ovvia...

Ulteriori spiegazioni del file di ampliamento dell'oggetto Math posto in rete

//
// Amplia la Math per fare calcoli con numeri complessi
// 
// Math.norm(a)
// Norma del numero complesso a che può
// essere una array di due elementi o un 
// qualche numero in virgola mobile...
//
...Attivare Javascript per vedere i sorgenti !...
//
// Math.coni(a)
// Numero complesso coniugato di a che può
// essere una array di due elementi o un 
// qualche numero in virgola mobile...
//
...
//
// Math.csum(a,b)
// Somma di due numeri complessi ossia a e b
// definibili sia come semplici numeri reali, sia
// come array di due elementi, il primo la
// parte reale e il secondo il coefficiente della
// unità immaginaria solitamente indicata da i
// ( wxMaxima la chiama %i ) dove i=sqrt(-1).
//
...
//
// Math.cper(a,b)
// Prodotto di due numeri complessi. Se a o b
// sono dei semplici numeri reali si assume che
// i coefficienti della unità immaginaria i=sqrt(-1)
// siano nulli.
//
...
//
// Math.cpow(a,b)
// Elevamento a potenza del numero complesso a
// elevato alla b. Se sono nulli i coefficienti
// della unità immaginaria si ha il tradizionale
// elevamento a potenza della base a per l'esponente b.
//
...
//
// Math.cinv(a)
// Calcola l'inverso del numero a che può
// essere reale o un numero complesso.
//
...
//
// Math.csqr(a)
// Calcola la radice quadrata del numero a
// che può essere reale o un numero complesso
// ed a, se reale, può essere anche un numero
// negativo la cui radice è il coefficiente
// della unità immaginaria i=sqrt(-1).
//
...
//
// Math.sommapesata(fu,va)
// Calcola la somma degli elementi della array va,
// usando una funzione assegnata come primo argomento
// ossia fu come funzione di peso degli elementi
// della sommatoria.
// L'argomento va deve essere una Array altrimenti
// il risultato è false. 
// Se fu non è una funzione fa la sommatoria
// senza moltiplicare per qualcosa gli elementi.
//
...
//
// Questa ultima funzione serve anche a ricordare che
// si può passare in argomento ad una qualche function 
// anche una altra function il che è utile per
// certi calcoli come i Runge_Kutta...
// Vedere http://www.elegio.it/omnia/as/as20140527.html
// per esempio...
// 

Dati casuali per fare verifiche numeriche delle precedenti funzioni:

...Attivare Javascript per fare le verifiche !...

Quanti sanno cosa vale √−1−1 senza dover fare una seduta spiritica per chiederlo ad https://it.wikipedia.org/wiki/Eulero ?

Eulero diede importanti contributi allo studio dei numeri complessi. Scoprì quella che è oggi chiamata formula di Eulero:

e i·φ = cos(φ) + i sin(φ)
Da questa ricavò l'identità di Eulero:
e i·π + 1 = 0
Questa formula, ritenuta da   https://it.wikipedia.org/wiki/Richard_Feynman   "la più bella formula di tutta la matematica",   collega armoniosamente cinque numeri estremamente importanti:   e == 2.718281828459045...,   π == 3.141592653589793...,   i == √−1, 1 e 0. Personalmente io adoro http://www.elegio.it/doc/pi/ a cui ho anche coniato una medaglia e, quando ero giovane, dedicato una poesia... http://www.elegio.it/poesie/ .