# 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

Run this code

    #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

sin(std::complex) | computes sine of a complex number (sin(z)) (function template)
tan(std::complex) | computes tangent of a complex number (tan(z)) (function template)
acos(std::complex) (C++11) | computes arc cosine of a complex number (arccos(z)) (function template)
cos cosf cosl (C++11)(C++11) | computes cosine (cos(x)) (function)
cos(std::valarray) | applies the function std::cos to each element of valarray (function template)

Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/numeric/complex/cos&oldid=73210"