Namespaces
Variants

std:: tanh (std::complex)

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

Calcule la tangente hyperbolique complexe d'une valeur complexe z .

Table des matières

Paramètres

z - valeur complexe

Valeur de retour

Si aucune erreur ne se produit, la tangente hyperbolique complexe de z est retournée.

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:: tanh ( std:: conj ( z ) ) == std:: conj ( std:: tanh ( z ) ) .
  • std:: tanh ( - z ) == - std:: tanh ( z ) .
  • Si z est (+0,+0) , le résultat est (+0,+0) .
  • Si z est (x,+∞) (pour tout [1] x fini), le résultat est (NaN,NaN) et FE_INVALID est déclenché.
  • Si z est (x,NaN) (pour tout [2] x fini), le résultat est (NaN,NaN) et FE_INVALID peut être déclenché.
  • Si z est (+∞,y) (pour tout y positif fini), le résultat est (1,+0) .
  • Si z est (+∞,+∞) , le résultat est (1,±0) (le signe de la partie imaginaire n'est pas spécifié).
  • Si z est (+∞,NaN) , le résultat est (1,±0) (le signe de la partie imaginaire n'est pas spécifié).
  • Si z est (NaN,+0) , le résultat est (NaN,+0) .
  • Si z est (NaN,y) (pour tout y non nul), le résultat est (NaN,NaN) et FE_INVALID peut être déclenché.
  • Si z est (NaN,NaN) , le résultat est (NaN,NaN) .
  1. selon C11 DR471 , ceci n'est valable que pour x non nul. Si z est (0,∞) , le résultat devrait être (0,NaN) .
  2. selon C11 DR471 , ceci n'est valable que pour x non nul. Si z est (0,NaN) , le résultat devrait être (0,NaN) .

Notes

Mathematical definition of hyperbolic tangent is tanh z =
e z
-e -z
e z
+e -z
.

La tangente hyperbolique est une fonction analytique sur le plan complexe et ne présente aucune coupure de branche. Elle est périodique par rapport à la composante imaginaire, avec une période πi, et possède des pôles du premier ordre le long de l'axe imaginaire, aux coordonnées (0, π(1/2 + n)) . Cependant, aucune représentation courante en virgule flottante ne peut représenter π/2 exactement, donc il n'existe aucune valeur de l'argument pour laquelle une erreur de pôle se produit.

Exemple

#include <cmath>
#include <complex>
#include <iostream>
int main()
{
    std::cout << std::fixed;
    std::complex<double> z(1.0, 0.0); // se comporte comme tanh réel le long de l'axe réel
    std::cout << "tanh" << z << " = " << std::tanh(z)
              << " (tanh(1) = " << std::tanh(1) << ")\n";
    std::complex<double> z2(0.0, 1.0); // se comporte comme tangent le long de l'axe imaginaire
    std::cout << "tanh" << z2 << " = " << std::tanh(z2)
              << " ( tan(1) = " << std::tan(1) << ")\n";
}

Sortie :

tanh(1.000000,0.000000) = (0.761594,0.000000) (tanh(1) = 0.761594)
tanh(0.000000,1.000000) = (0.000000,1.557408) ( tan(1) = 1.557408)

Voir aussi

calcule le sinus hyperbolique d'un nombre complexe ( sinh(z) )
(modèle de fonction)
calcule le cosinus hyperbolique d'un nombre complexe ( cosh(z) )
(modèle de fonction)
calcule la tangente hyperbolique inverse d'un nombre complexe ( artanh(z) )
(modèle de fonction)
(C++11) (C++11)
calcule la tangente hyperbolique ( tanh(x) )
(fonction)
applique la fonction std::tanh à chaque élément du valarray
(modèle de fonction)