std::cos(std::complex)

From cppreference.com
< cpp‎ | numeric‎ | complex
Defined in header <complex>
template< class T >
complex<T> cos( const complex<T>& z );

Computes complex cosine of a complex value z.

Parameters

z - complex value

Return value

If no errors occur, the complex cosine of z is returned.

Errors and special cases are handled as if the operation is implemented by std::cosh(i*z), where i is the imaginary unit.

Notes

The cosine is an entire function on the complex plane, and has no branch cuts.

Mathematical definition of the cosine is cos z =
eiz
+e-iz
2

Example

#include <iostream>
#include <cmath>
#include <complex>
 
int main()
{
    std::cout << std::fixed;
    std::complex<double> z(1, 0); // behaves like real cosine along the real line
    std::cout << "cos" << z << " = " << std::cos(z)
              << " ( cos(1) = " << std::cos(1) << ")\n";
 
    std::complex<double> z2(0, 1); // behaves like real cosh along the imaginary line
    std::cout << "cos" << z2 << " = " << std::cos(z2)
              << " (cosh(1) = " << std::cosh(1) << ")\n";
}

Output:

cos(1.000000,0.000000) = (0.540302,-0.000000) ( cos(1) = 0.540302)
cos(0.000000,1.000000) = (1.543081,-0.000000) (cosh(1) = 1.543081)

See also

computes sine of a complex number (sin(z))
(function template)
computes tangent of a complex number (tan(z))
(function template)
computes arc cosine of a complex number (arccos(z))
(function template)
computes cosine (cos(x))
(function)
applies the function std::cos to each element of valarray
(function template)