<complex>
Définit le modèle complex
de classe de conteneur et ses modèles de prise en charge.
Spécifications
En-tête : <complexe>
Espace de noms : std
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 :
Ajout, défini 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 multiplication sont commutatives et associatives, et la multiplication se distribue sur l'addition exactement comme elle le fait avec l'addition et la multiplication de réels sur le domaine des nombres réels.
Le nombre complexe (0, 0) est l’identité additive et (1, 0) est l’identité multiplicative.
L’inverse additif 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))
En représentant 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 de nombres réels peuvent être appliquées à l’ensemble de nombres complexes et à leurs composants. Par exemple :
(1 + 2 i) * (2 + 3i) = 1 * (2 + 3 i) + 2i * (2+ 3i) = (2 + 3i) + (4i + 6i2) = (2 - 6) + (3+ 4)i = -4 + 7i
Le système de nombres complexes est un champ, mais il ne s’agit pas d’un champ ordonné. Il n’y a aucun ordre des nombres complexes, car il existe pour le champ des nombres réels et ses sous-ensembles, de sorte que les inégalités ne peuvent pas être appliquées à des nombres complexes car ils sont à des nombres réels.
Il existe trois formes courantes de représentation d’un nombre complexe z :
Cartesian : z = a + bi
Polaire : z = r (cos p i + sin p)
Exponentielle : z = r * e ip
Les termes utilisés dans ces représentations standard d'un nombre complexe s'entendent comme suit :
Le composant cartésien réel ou la partie réelle a.
Le composant cartésien imaginaire ou la partie imaginaire b.
Module ou valeur absolue d’un nombre complexe r.
Argument ou angle de phase p en radians.
Sauf indication contraire, les fonctions qui peuvent retourner plusieurs valeurs sont requises pour retourner une valeur principale pour leurs arguments supérieurs à -π et inférieures ou égales à +π pour les conserver à valeur unique. Tous les angles doivent être exprimés en radians, où il y a 2π radians (360 degrés) dans un cercle.
Membres
Functions
Nom | Description |
---|---|
abs |
Calcule le module d'un nombre complexe. |
acos |
|
acosh |
|
arg |
Extrait l’argument d’un nombre complexe. |
asin |
|
asinh |
|
atan |
|
atanh |
|
conj |
Retourne le conjugué complexe d'un nombre complexe. |
cos |
Retourne le cosinus d'un nombre complexe. |
cosh |
Retourne le cosinus hyperbolique 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 naturel d'un nombre complexe. |
log10 |
Retourne le logarithme de 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és, au format cartésien. |
pow |
Évalue le nombre complexe obtenu en élevant une base qui est un nombre complexe à la puissance d'un autre nombre complexe. |
proj |
|
real |
Extrait le composant réel d'un nombre complexe. |
sin |
Retourne le sinus d'un nombre complexe. |
sinh |
Retourne le sinus hyperbolique 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
Nom | Description |
---|---|
operator!= |
Vérifie l'inégalité entre deux nombres complexes, l'un d'entre eux ou les deux pouvant appartenir au sous-ensemble du type pour les parties réelles et imaginaires. |
operator* |
Multiplie deux nombres complexes, l'un d'entre eux ou les deux pouvant appartenir au sous-ensemble du type pour les parties réelles et imaginaires. |
operator+ |
Additionne deux nombres complexes, l'un d'entre eux ou les deux pouvant appartenir au sous-ensemble du type pour les parties réelles et imaginaires. |
operator- |
Soustrait deux nombres complexes, l'un d'entre eux ou les deux pouvant appartenir au sous-ensemble du type pour les parties réelles et imaginaires. |
operator/ |
Divise deux nombres complexes, l'un d'entre eux ou les deux pouvant appartenir au sous-ensemble du type pour les parties réelles et imaginaires. |
operator<< |
Fonction de modèle qui insère un nombre complexe dans le flux de sortie. |
operator== |
Vérifie l'égalité entre deux nombres complexes, l'un d'entre eux ou les deux pouvant appartenir au sous-ensemble du type pour les parties réelles et imaginaires. |
operator>> |
Fonction de modèle qui extrait un nombre complexe du flux d'entrée. |
Classes
Nom | Description |
---|---|
complex<double> |
Le modèle de classe explicitement spécialisé décrit un objet qui stocke une paire ordonnée d’objets, tous deux de type double , où le premier représente la partie réelle d’un nombre complexe et le second représente la partie imaginaire. |
complex<float> |
Le modèle de classe explicitement spécialisé décrit un objet qui stocke une paire ordonnée d’objets, tous deux de type float , où le premier représente la partie réelle d’un nombre complexe et le second représente la partie imaginaire. |
complex<long double> |
Le modèle de classe explicitement spécialisé décrit un objet qui stocke une paire ordonnée d’objets, tous deux de type long double , où le premier représente la partie réelle d’un nombre complexe et le second représente la partie imaginaire. |
complex |
Le modèle de classe décrit un objet utilisé pour représenter le système de nombres complexes et effectuer des opérations arithmétiques complexes. |
Littéraux
L’en-tête <complexe> définit les littéraux définis par l’utilisateur suivants. Les littéraux créent un nombre complexe avec une partie réelle de zéro et une partie imaginaire qui a la valeur du paramètre d’entrée.
Déclaration | Description |
---|---|
constexpr complex<long double> operator""il(long double d) constexpr complex<long double> operator""il(unsigned long long d) |
Retourne : complex<long double>{0.0L, static_cast<long double>(d)} |
constexpr complex<double> operator""i(long double d) constexpr complex<double> operator""i(unsigned long long d) |
Retourne : complex<double>{0.0, static_cast<double>(d)} . |
constexpr complex<float> operator""if(long double d) constexpr complex<float> operator""if(unsigned long long d) |
Retourne : complex<float>{0.0f, static_cast<float>(d)} . |
Voir aussi
Informations de référence sur les fichiers d’en-tête
Sécurité des threads dans la bibliothèque standard C++