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 :
Les instructions ci-dessus sont synchronisées avec un dépôt partagé afin de garantir la cohérence entre tous les parcours linguistiques. Cette annexe apporte des précisions supplémentaires ou modifie les instructions si nécessaire, afin de mieux les aligner sur les objectifs du parcours Clojure.
Pour cet exercice du parcours Clojure, tu n'as pas besoin d'implémenter l'opération d'exponentiation.
Inscris-toi sur Exercism pour apprendre et maîtriser Clojure avec 12 concepts105 exercices, et un vrai mentorat humain, le tout gratuitement.