std::sin(std::complex)
From cppreference.com
C++
Feature test macros (C++20)
Concepts library (C++20)
Metaprogramming library (C++11)
Ranges library (C++20)
Filesystem library (C++17)
Concurrency support library (C++11)
Execution control library (C++26)
Numerics library
Mathematical special functions (C++17)
Mathematical constants (C++20)
Basic linear algebra algorithms (C++26)
Data-parallel types (SIMD) (C++26)
Floating-point environment (C++11)
Bit manipulation (C++20)
Saturation arithmetic (C++26)
(C++17)
(C++17)
(C++17)
(C++17)
(C++17)
(C++17)
std::complex
(until C++20)
(C++26)
(C++26)
(C++26)
Defined in header
<complex>
template< class T >
complex<T> sin( const complex<T>& z );
complex<T> sin( const complex<T>& z );
Computes complex sine of a complex value z.
Contents
[edit] Parameters
z
-
complex value
[edit] 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.
[edit] 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
-e-iz
2i
.
[edit] Example
Run this code
#include <cmath> #include <complex> #include <iostream> int main() { std::cout << std::fixed ; std::complex <double> z(1.0, 0.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.0, 1.0); // 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)
[edit] See also
(C++11)
(function template) [edit]
C documentation for csin