std::acos(std::complex) - cppreference.com (original) (raw)

| | | | | -------------------------------------------------------------- | | ------------- | | template< class T > complex<T> acos( const complex<T>& z ); | | (since C++11) |

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

Contents

[edit] Parameters

[edit] Return value

If no errors occur, complex arc cosine of z 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 with math_errhandling.

If the implementation supports IEEE floating-point arithmetic,

[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 is acos z = π + _i_ln(_i_z + √1-z2
).

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

[edit] Example

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

asin(std::complex)(C++11) computes arc sine of a complex number (\({\small\arcsin{z}}\)arcsin(z)) (function template) [edit]
atan(std::complex)(C++11) computes arc tangent of a complex number (\({\small\arctan{z}}\)arctan(z)) (function template) [edit]
cos(std::complex) computes cosine of a complex number (\({\small\cos{z}}\)cos(z)) (function template) [edit]
acosacosfacosl(C++11)(C++11) computes arc cosine (\({\small\arccos{x}}\)arccos(x)) (function) [edit]
acos(std::valarray) applies the function std::acos to each element of valarray (function template) [edit]
C documentation for cacos