Movatterモバイル変換


[0]ホーム

URL:


cppreference.com
Namespaces
Variants
    Actions

      std::acos(std::complex)

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

      Computes complex arc cosine of a complex valuez. Branch cuts exist outside the interval[−1, +1] along the real axis.

      Contents

      [edit]Parameters

      z - complex value

      [edit]Return value

      If no errors occur, complex arc cosine ofz is returned, in the range of a strip unbounded along the imaginary axis and in the interval[0, +π] along the real axis.

      [edit]Error handling and special values

      Errors are reported consistent withmath_errhandling.

      If the implementation supports IEEE floating-point arithmetic,

      • std::acos(std::conj(z))==std::conj(std::acos(z))
      • Ifz is(±0,+0), the result is(π/2,-0)
      • Ifz is(±0,NaN), the result is(π/2,NaN)
      • Ifz is(x,+∞) (for any finite x), the result is(π/2,-∞)
      • Ifz is(x,NaN) (for any nonzero finite x), the result is(NaN,NaN) andFE_INVALID may be raised.
      • Ifz is(-∞,y) (for any positive finite y), the result is(π,-∞)
      • Ifz is(+∞,y) (for any positive finite y), the result is(+0,-∞)
      • Ifz is(-∞,+∞), the result is(3π/4,-∞)
      • Ifz is(+∞,+∞), the result is(π/4,-∞)
      • Ifz is(±∞,NaN), the result is(NaN,±∞) (the sign of the imaginary part is unspecified)
      • Ifz is(NaN,y) (for any finite y), the result is(NaN,NaN) andFE_INVALID may be raised
      • Ifz is(NaN,+∞), the result is(NaN,-∞)
      • Ifz is(NaN,NaN), the result is(NaN,NaN)

      [edit]Notes

      Inverse cosine (or arc cosine) is a multivalued function and requires a branch cut on the complex plane. The branch cut is conventionally placed at the line segments(-∞,-1) and(1,∞) of the real axis.

      The mathematical definition of the principal value of arc cosine isacos z =
      1
      2
      π +iln(iz +1-z2
      )
      .

      For anyz,acos(z) = π - acos(-z).

      [edit]Example

      Run this code
      #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)constdouble pi=std::acos(-1);std::complex<double> z3= pi-std::acos(z2);std::cout<<"cos(pi - acos"<< z2<<") = "<<std::cos(z3)<<'\n';}

      Output:

      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)

      [edit]See also

      computes arc sine of a complex number (\({\small\arcsin{z}}\)arcsin(z))
      (function template)[edit]
      computes arc tangent of a complex number (\({\small\arctan{z}}\)arctan(z))
      (function template)[edit]
      computes cosine of a complex number (\({\small\cos{z}}\)cos(z))
      (function template)[edit]
      (C++11)(C++11)
      computes arc cosine (\({\small\arccos{x}}\)arccos(x))
      (function)[edit]
      applies the functionstd::acos to each element of valarray
      (function template)[edit]
      Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/numeric/complex/acos&oldid=150794"

      [8]ページ先頭

      ©2009-2025 Movatter.jp