Partager via


<complex>

Définit la classe complexe de modèle de conteneur et plusieurs modèles de prise en charge.

#include <complex>

Notes

Un nombre complexe est une paire ordonnée de nombres réels. En termes purement géométriques, le plan complexe est le plan réel à deux dimensions. Les qualités spéciales du plan complexe qui le distinguent du plan réel sont dues au fait qu'il a une structure algébrique supplémentaire. Cette structure algébrique a deux opérations fondamentales :

  • Addition définie comme (a, b) + (c, d) = (a + c, b + d)

  • Multiplication définie comme (a, b) * (c, d) = (ac - bd, ad + bc)

L'ensemble de nombres complexes avec les opérations d'addition complexe et de multiplication complexe sont un champ dans le sens algébrique standard :

  • Les opérations d'addition et de multiplication sont commutatives et associatives et la multiplication est distributive par rapport à l'addition comme pour les nombres réels.

  • Le nombre complexe (0, 0) est l'identité additive et (1, 0) est l'identité multiplicative.

  • L'inverse d'addition pour un nombre complexe (a, b)est (- a, - b), et l'inverse multiplicatif pour tous ces nombres complexes sauf (0, 0) est

    (a/(a2 + b2), -b/(a2 + b2)

Pour représenter un nombre complexe z = (a, b) sous la forme z = a + BI, où I2 = -1, les règles pour l'algèbre de l'ensemble des nombres réels peuvent être appliquées à l'ensemble de nombres complexes et leurs composants. Par exemple :

(1 + 2i) * (2 + 3i)    = 1*(2 + 3i) + 2i*(2 + 3i) = (2 + 3i) + (4i + 6i2)

            = (2 –6) + (3 + 4)i = -4 + 7i

Le système de nombres complexes est un champ, mais ce n'est pas un champ ordonné. Il n'existe aucun ordre des nombres complexes comme pour le champ des nombres réels et ses sous-ensembles, les inégalités ne peuvent pas être appliquées aux nombres complexes comme elles peuvent être pour l'ensemble des nombres réels qui est un champ ordonné.

Il existe trois formes communes pour représenter un nombre complexe z:

  • Cartésien : z = a + BI

  • Polaire : z = r (cos + isin)

  • Exponentiel : z = r * exp()

Les termes utilisés dans les représentations standard d'un nombre complexe sont désignés comme suit :

  • La composante cartésienne réelle ou partie réelle A.

  • La composante cartésienne imaginaire ou partie imaginaire B.

  • Le module (ou valeur absolue) d'un nombre complexe P.

  • L'argument on ange de phase.

Sauf indication contraire, les fonctions pouvant retourner plusieurs valeurs sont requises pour retourner une valeur clé pour les arguments supérieurs à -pi et inférieurs ou égaux à +pi pour qu'ils n'aient qu'une seule valeur. Tous les angles ont besoin d'être exprimés en radians, où il existe 2 pi radians (360 degrés) dans un cercle.

Fonctions

abs

Calcule le modulo à partir d'un nombre complexe.

arg

Extrait l'argument d'un nombre complexe.

conj

Retourne le conjugué complexe d'un nombre complexe.

cos

Retourne le cosinus d'un nombre complexe.

cosh

Renvoie le cosinus d'un nombre complexe.

exp

Retourne la fonction exponentielle d'un nombre complexe.

imag

Extrait le composant imaginaire d'un nombre complexe.

log

Retourne le logarithme népérien d'un nombre complexe.

log10

Retourne le logarithme en base 10 d'un nombre complexe.

norm

Extrait la norme d'un nombre complexe.

polar

Retourne le nombre complexe, qui correspond à un module et un argument spécifié, au format cartésien.

pow

Renvoie le nombre complexe obtenu en déclenchant une base qui est un nombre complexe à la puissance d'un autre nombre complexe.

real

Extrait le composant réel d'un nombre complexe.

sin

Retourne le sinus d'un nombre complexe.

sinh

Renvoie le sinus d'un nombre complexe.

sqrt

Retourne la racine carrée d'un nombre complexe.

tan

Retourne la tangente d'un nombre complexe.

tanh

Retourne la tangente hyperbolique d'un nombre complexe.

Opérateurs

operator!=

Teste l'inégalité de deux nombres complexes, l'un ou les deux pouvant appartenir au sous-ensemble du type pour les parties réelles et imaginaires.

operator*

Multiplie deux nombres complexes, l'un ou les deux pouvant appartenir au sous-ensemble du type pour les parties réelles et imaginaires.

+(opérateur)

Ajoute deux nombres complexes, l'un ou les deux pouvant appartenir au sous-ensemble du type pour les parties réelles et imaginaires.

- (opérateur)

Soustrait deux nombres complexes, l'un ou les deux pouvant appartenir au sous-ensemble du type pour les parties réelles et imaginaires.

operator/

Divise deux nombres complexes, l'un ou les deux pouvant appartenir au sous-ensemble du type pour les parties réelles et imaginaires.

.<<

Une fonction de modèle qui insère un nombre complexe dans le flux de sortie.

operator==

Teste l'égalité de deux nombres complexes, l'un ou les deux pouvant appartenir au sous-ensemble du type pour les parties réelles et imaginaires.

.>>

Une fonction de modèle qui extrait une valeur complexe du flux d'entrée.

Classes

complex<double>

La classe de modèle spécialisée explicite décrit un objet qui enregistre une paire ordonnée d'objets tous deux de type double, le premier représentant la partie réelle d'un nombre complexe et le second représentant la partie imaginaire.

complex<float>

La classe de modèle spécialisée explicite décrit un objet qui enregistre une paire ordonnée d'objets tous deux de type float, le premier représentant la partie réelle d'un nombre complexe et le second représentant la partie imaginaire.

complex<long double>

La classe de modèle spécialisée explicite décrit un objet qui enregistre une paire ordonnée d'objets tous deux de type long double, le premier représentant la partie réelle d'un nombre complexe et le second représentant la partie imaginaire.

profondeur

La classe du modèle décrit un objet utilisé pour représenter le système numérique complexe et effectuer des opérations arithmétiques complexes.

Voir aussi

Référence

Sécurité des threads dans la bibliothèque standard C++

Autres ressources

<complex> membres

Fichiers d'en-tête de bibliothèque standard C++