Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::tanh(std::complex)

      From cppreference.com
      <cpp‎ |numeric‎ |complex
       
       
       
       
      Defined in header<complex>
      template<class T>
      complex<T> tanh(const complex<T>& z);
      (since C++11)

      Computes complex hyperbolic tangent of a complex valuez.

      Contents

      [edit]Parameters

      z - complex value

      [edit]Return value

      If no errors occur, complex hyperbolic tangent ofz is returned.

      [edit]Error handling and special values

      Errors are reported consistent withmath_errhandling.

      If the implementation supports IEEE floating-point arithmetic,

      • std::tanh(std::conj(z))==std::conj(std::tanh(z)).
      • std::tanh(-z)==-std::tanh(z).
      • Ifz is(+0,+0), the result is(+0,+0).
      • Ifz is(x,+∞) (for any[1] finite x), the result is(NaN,NaN) andFE_INVALID is raised.
      • Ifz is(x,NaN) (for any[2] finite x), the result is(NaN,NaN) andFE_INVALID may be raised.
      • Ifz is(+∞,y) (for any finite positive y), the result is(1,+0).
      • Ifz is(+∞,+∞), the result is(1,±0) (the sign of the imaginary part is unspecified).
      • Ifz is(+∞,NaN), the result is(1,±0) (the sign of the imaginary part is unspecified).
      • Ifz is(NaN,+0), the result is(NaN,+0).
      • Ifz is(NaN,y) (for any non-zero y), the result is(NaN,NaN) andFE_INVALID may be raised.
      • Ifz is(NaN,NaN), the result is(NaN,NaN).
      1. perC11 DR471, this only holds for non-zero x. Ifz is(0,∞), the result should be(0,NaN).
      2. perC11 DR471, this only holds for non-zero x. Ifz is(0,NaN), the result should be(0,NaN).

      [edit]Notes

      Mathematical definition of hyperbolic tangent istanh z =
      ez
      -e-z
      ez
      +e-z
      .

      Hyperbolic tangent is an analytical function on the complex plane and has no branch cuts. It is periodic with respect to the imaginary component, with period πi, and has poles of the first order along the imaginary line, at coordinates(0, π(1/2 + n)). However no common floating-point representation is able to representπ/2 exactly, thus there is no value of the argument for which a pole error occurs.

      [edit]Example

      Run this code
      #include <cmath>#include <complex>#include <iostream> int main(){std::cout<<std::fixed;std::complex<double> z(1.0,0.0);// behaves like real tanh along the real linestd::cout<<"tanh"<< z<<" = "<<std::tanh(z)<<" (tanh(1) = "<<std::tanh(1)<<")\n"; std::complex<double> z2(0.0,1.0);// behaves like tangent along the imaginary linestd::cout<<"tanh"<< z2<<" = "<<std::tanh(z2)<<" ( tan(1) = "<<std::tan(1)<<")\n";}

      Output:

      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)

      [edit]See also

      computes hyperbolic sine of a complex number (\({\small\sinh{z}}\)sinh(z))
      (function template)[edit]
      computes hyperbolic cosine of a complex number (\({\small\cosh{z}}\)cosh(z))
      (function template)[edit]
      computes area hyperbolic tangent of a complex number (\({\small\operatorname{artanh}{z}}\)artanh(z))
      (function template)[edit]
      (C++11)(C++11)
      computes hyperbolic tangent (\({\small\tanh{x}}\)tanh(x))
      (function)[edit]
      applies the functionstd::tanh to each element of valarray
      (function template)[edit]
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/numeric/complex/tanh&oldid=159323"

      [8]ページ先頭

      ©2009-2025 Movatter.jp