Un nombre complexe s'écrit sous la forme z = a + b * i, où :
a est la partie réelle (un nombre réel),
b est la partie imaginaire (aussi un nombre réel), et
i est l'unité imaginaire qui vérifie i^2 = -1.
Le conjugué du nombre complexe z = a + b * i est donné par :
zc = a - b * i
La valeur absolue (ou module) de z est définie par :
|z| = sqrt(a^2 + b^2)
Le carré de la valeur absolue se calcule comme le produit de z et de son conjugué zc :
|z|^2 = z * zc = a^2 + b^2
La somme de deux nombres complexes z1 = a + b * i et z2 = c + d * i s'obtient en additionnant séparément leurs parties réelles et imaginaires :
z1 + z2 = (a + b * i) + (c + d * i)
= (a + c) + (b + d) * i
La différence de deux nombres complexes s'obtient en soustrayant leurs parties respectives :
z1 - z2 = (a + b * i) - (c + d * i)
= (a - c) + (b - d) * i
Le produit de deux nombres complexes est défini par :
z1 * z2 = (a + b * i) * (c + d * i)
= (a * c - b * d) + (b * c + a * d) * i
L'inverse d'un nombre complexe non nul est donné par :
1 / z = 1 / (a + b * i)
= a / (a^2 + b^2) - b / (a^2 + b^2) * i
La division d'un nombre complexe par un autre est donnée par :
z1 / z2 = z1 * (1 / z2)
= (a + b * i) / (c + d * i)
= (a * c + b * d) / (c^2 + d^2) + (b * c - a * d) / (c^2 + d^2) * i
Élever e (la base du logarithme népérien) à un exposant complexe peut s'exprimer à l'aide de la formule d'Euler :
e^(a + b * i) = e^a * e^(b * i)
= e^a * (cos(b) + i * sin(b))
Comme tu ne dois pas t'appuyer sur une prise en charge intégrée des nombres complexes, implémente les opérations suivantes :
Inscris-toi sur Exercism pour apprendre et maîtriser TypeScript avec 108 exercices, et un vrai mentorat humain, le tout gratuitement.