Namespaces
Variants

std:: acos (std::complex)

From cppreference.net
Défini dans l'en-tête <complex>
template < class T >
complex < T > acos ( const complex < T > & z ) ;
(depuis C++11)

Calcule l'arc cosinus complexe d'une valeur complexe z . Des coupures de branche existent en dehors de l'intervalle [−1, +1] le long de l'axe réel.

Table des matières

Paramètres

z - valeur complexe

Valeur de retour

Si aucune erreur ne se produit, l'arc cosinus complexe de z est retourné, dans la plage d'une bande non bornée le long de l'axe imaginaire et dans l'intervalle [0, +π] le long de l'axe réel.

Gestion des erreurs et valeurs spéciales

Les erreurs sont signalées conformément à math_errhandling .

Si l'implémentation prend en charge l'arithmétique à virgule flottante IEEE,

  • std:: acos ( std:: conj ( z ) ) == std:: conj ( std:: acos ( z ) )
  • Si z est (±0,+0) , le résultat est (π/2,-0)
  • Si z est (±0,NaN) , le résultat est (π/2,NaN)
  • Si z est (x,+∞) (pour tout x fini), le résultat est (π/2,-∞)
  • Si z est (x,NaN) (pour tout x fini non nul), le résultat est (NaN,NaN) et FE_INVALID peut être déclenché.
  • Si z est (-∞,y) (pour tout y fini positif), le résultat est (π,-∞)
  • Si z est (+∞,y) (pour tout y fini positif), le résultat est (+0,-∞)
  • Si z est (-∞,+∞) , le résultat est (3π/4,-∞)
  • Si z est (+∞,+∞) , le résultat est (π/4,-∞)
  • Si z est (±∞,NaN) , le résultat est (NaN,±∞) (le signe de la partie imaginaire n'est pas spécifié)
  • Si z est (NaN,y) (pour tout y fini), le résultat est (NaN,NaN) et FE_INVALID peut être déclenché
  • Si z est (NaN,+∞) , le résultat est (NaN,-∞)
  • Si z est (NaN,NaN) , le résultat est (NaN,NaN)

Notes

L'arc cosinus (ou fonction réciproque du cosinus) est une fonction multivalue et nécessite une coupure de branche sur le plan complexe. La coupure de branche est conventionnellement placée sur les segments de droite (-∞,-1) et (1,∞) de l'axe réel.

The mathematical definition of the principal value of arc cosine is acos z =
1
2
π + i ln( i z + 1-z 2
)
.

Pour tout z , acos(z) = π - acos(-z) .

Exemple

#include <cmath>
#include <complex>
#include <iostream>
int main()
{
    std::cout << std::fixed;
    std::complex<double> z1(-2.0, 0.0);
    std::cout << "acos" << z1 << " = " << std::acos(z1) << '\n';
    std::complex<double> z2(-2.0, -0.0);
    std::cout << "acos" << z2 << " (the other side of the cut) = "
              << std::acos(z2) << '\n';
    // for any z, acos(z) = pi - acos(-z)
    const double pi = std::acos(-1);
    std::complex<double> z3 = pi - std::acos(z2);
    std::cout << "cos(pi - acos" << z2 << ") = " << std::cos(z3) << '\n';
}

Sortie :

acos(-2.000000,0.000000) = (3.141593,-1.316958)
acos(-2.000000,-0.000000) (the other side of the cut) = (3.141593,1.316958)
cos(pi - acos(-2.000000,-0.000000)) = (2.000000,0.000000)

Voir aussi

calcule l'arc sinus d'un nombre complexe ( arcsin(z) )
(modèle de fonction)
calcule l'arc tangente d'un nombre complexe ( arctan(z) )
(modèle de fonction)
calcule le cosinus d'un nombre complexe ( cos(z) )
(modèle de fonction)
(C++11) (C++11)
calcule l'arc cosinus ( arccos(x) )
(fonction)
applique la fonction std::acos à chaque élément du valarray
(modèle de fonction)