Parcours
/
R
R
/
Exercices
/
Nombres complexes
Nombres complexes

Nombres complexes

Moyen

Instructions

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.

Opérations sur les nombres complexes

Conjugué

Le conjugué du nombre complexe z = a + b * i est donné par :

zc = a - b * i

Valeur absolue

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

Addition

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

Soustraction

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

Multiplication

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

Inverse

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

Division

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

Exponentiation

É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))

Exigences d'implémentation

Comme tu ne dois pas t'appuyer sur une prise en charge intégrée des nombres complexes, implémente les opérations suivantes :

  • l'addition de deux nombres complexes
  • la soustraction de deux nombres complexes
  • la multiplication de deux nombres complexes
  • la division de deux nombres complexes
  • le conjugué d'un nombre complexe
  • la valeur absolue d'un nombre complexe
  • l'exponentiation de e (la base du logarithme népérien) à un nombre complexe

Implémentation

R prend en charge les nombres complexes en tant que type de base : pour plus de détails, voir ici et ici. Le but de cet exercice est de les implémenter à partir de zéro, sans utiliser les fonctions intégrées.


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
R Exercism

Prêt à commencer Nombres complexes ?

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