Parcours
/
Haskell
Haskell
/
Exercices
/
Nombres complexes
Nombres complexes

Nombres complexes

Facile

Instructions

Un nombre complexe est un nombre de la forme a + b * i, où a et b sont réels et i vérifie i^2 = -1.

On appelle a la partie réelle et b la partie imaginaire de z. Le conjugué du nombre a + b * i est le nombre a - b * i. Le module d'un nombre complexe z = a + b * i est un nombre réel |z| = sqrt(a^2 + b^2). Le carré du module |z|^2 est le résultat de la multiplication de z par son conjugué.

La somme et la différence de deux nombres complexes consistent à additionner ou soustraire séparément leurs parties réelles et imaginaires : (a + i * b) + (c + i * d) = (a + c) + (b + d) * i, (a + i * b) - (c + i * d) = (a - c) + (b - d) * i.

Le résultat de la multiplication est, par définition, (a + i * b) * (c + i * d) = (a * c - b * d) + (b * c + a * d) * i.

L'inverse d'un nombre complexe non nul est 1 / (a + i * b) = a/(a^2 + b^2) - b/(a^2 + b^2) * i.

Diviser un nombre complexe a + i * b par un autre c + i * d donne : (a + i * b) / (c + i * d) = (a * c + b * d)/(c^2 + d^2) + (b * c - a * d)/(c^2 + d^2) * i.

Élever e à un exposant complexe peut s'exprimer par e^(a + i * b) = e^a * e^(i * b), dont le dernier terme est donné par la formule d'Euler e^(i * b) = cos(b) + i * sin(b).

Implémente les opérations suivantes :

  • l'addition, la soustraction, la multiplication et la division de deux nombres complexes,
  • le conjugué, le module et l'exponentielle d'un nombre complexe donné.

Pars du principe que le langage de programmation que tu utilises ne dispose pas d'une implémentation des nombres complexes.


Source

WikipediaLe lien s'ouvre dans une nouvelle fenêtre ou un nouvel onglet
Modifie via GitHub Le lien s'ouvre dans une nouvelle fenêtre ou un nouvel onglet
Haskell Exercism

Prêt à commencer Nombres complexes ?

Inscris-toi sur Exercism pour apprendre et maîtriser Haskell avec 107 exercices, et un vrai mentorat humain, le tout gratuitement.