Track
/
Haskell
Haskell
/
Esercizi
/
Numeri complessi
Numeri complessi

Numeri complessi

Facile

Istruzioni

Un numero complesso è un numero nella forma a + b * i, dove a e b sono reali e i soddisfa i^2 = -1.

a si chiama parte reale e b si chiama parte immaginaria di z. Il coniugato del numero a + b * i è il numero a - b * i. Il valore assoluto di un numero complesso z = a + b * i è un numero reale |z| = sqrt(a^2 + b^2). Il quadrato del valore assoluto |z|^2 è il risultato della moltiplicazione di z per il suo coniugato complesso.

La somma e la differenza di due numeri complessi richiedono di sommare o sottrarre separatamente le loro parti reale e immaginaria: (a + i * b) + (c + i * d) = (a + c) + (b + d) * i, (a + i * b) - (c + i * d) = (a - c) + (b - d) * i.

Il risultato della moltiplicazione è per definizione (a + i * b) * (c + i * d) = (a * c - b * d) + (b * c + a * d) * i.

Il reciproco di un numero complesso diverso da zero è 1 / (a + i * b) = a/(a^2 + b^2) - b/(a^2 + b^2) * i.

Dividendo un numero complesso a + i * b per un altro c + i * d si ottiene: (a + i * b) / (c + i * d) = (a * c + b * d)/(c^2 + d^2) + (b * c - a * d)/(c^2 + d^2) * i.

Elevare e a un esponente complesso si può esprimere come e^(a + i * b) = e^a * e^(i * b), il cui ultimo termine è dato dalla formula di Eulero e^(i * b) = cos(b) + i * sin(b).

Implementa le seguenti operazioni:

  • addizione, sottrazione, moltiplicazione e divisione di due numeri complessi,
  • coniugato, valore assoluto ed esponente di un numero complesso dato.

Presumi che il linguaggio di programmazione che stai usando non abbia un'implementazione dei numeri complessi.


Fonte

WikipediaIl link si apre in una nuova finestra o scheda
Modifica tramite GitHub Il link si apre in una nuova finestra o scheda
Haskell Exercism

Vuoi iniziare Numeri complessi?

Iscriviti a Exercism per imparare e padroneggiare Haskell con 107 esercizi e il mentoring di persone reali, tutto gratis.