# std::sin(std::complex)

< cpp‎ | numeric‎ | complex

C++
 Language Standard library headers Concepts Utilities library Strings library Containers library Algorithms library Iterators library Numerics library Input/output library Localizations library Regular expressions library (C++11) Atomic operations library (C++11) Thread support library (C++11) Filesystem library (C++17) Technical Specifications

Numerics library
 Common mathematical functions Special mathematical functions Floating-point environment (C++11) Complex numbers Numeric arrays Pseudo-random number generation Compile-time rational arithmetic (C++11) Numeric algorithms gcd(C++17) lcm(C++17) Generic numeric operations iota(C++11) accumulate inner_product adjacent_difference partial_sum

std::complex
Member functions
Non-member functions
 real imag abs arg norm conj proj(C++11) polar operator""ioperator""ifoperator""il(C++14)(C++14)(C++14)
Exponential functions
Power functions
Trigonometric functions
 sin cos tan
 asin(C++11) acos(C++11) atan(C++11)
Hyperbolic functions
 asinh(C++11) acosh(C++11) atanh(C++11)

 Defined in header `` template< class T > complex sin( const complex& z );

Computes complex sine of a complex value `z`.

### Parameters

 z - complex value

### Return value

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

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

### Notes

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

Mathematical definition of the sine is sin z =
 eiz-e-iz 2i

### Example

```#include <iostream>
#include <cmath>
#include <complex>

int main()
{
std::cout << std::fixed;
std::complex<double> z(1, 0); // behaves like real sine along the real line
std::cout << "sin" << z << " = " << std::sin(z)
<< " ( sin(1) = " << std::sin(1) << ")\n";

std::complex<double> z2(0, 1); // behaves like sinh along the imaginary line
std::cout << "sin" << z2 << " = " << std::sin(z2)
<< " (sinh(1) = " << std::sinh(1) << ")\n";
}```

Output:

```sin(1.000000,0.000000) = (0.841471,0.000000) ( sin(1) = 0.841471)
sin(0.000000,1.000000) = (0.000000,1.175201) (sinh(1) = 1.175201)```