std::sinh(std::complex)(3)

πŸ“¦ version 2024.07.05, in nixpkgs unstable, opensuse-leap 16.0

πŸŽ€ NAME

std::sinh(std::complex) - std::sinh(std::complex)

okay bestie, this is std::sinh(std::complex)(3) from the C++ Standard Libary manual, and we’re getting into complex hyperbolic sine together πŸ’–


✨ Synopsis ✨

Defined in header <complex>:

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

Computes complex hyperbolic sine of a complex value z.


🌸 Parameters

  • z β€” complex value.

πŸ’– Return value

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

🫢 Error handling and special values

Errors are reported consistent with math_errhandling.

If the implementation supports IEEE floating-point arithmetic,

  • std::sinh(std::conj(z)) == std::conj(std::sinh(z))
  • std::sinh(z) == -std::sinh(-z)
  • If z is (+0,+0), the result is (+0,+0)
  • If z is (+0,+∞), the result is (Β±0,NaN) (the sign of the real part is unspecified) and FE_INVALID is raised
  • If z is (+0,NaN), the result is (Β±0,NaN)
  • If z is (x,+∞) (for any positive finite x), the result is (NaN,NaN) and FE_INVALID is raised
  • If z is (x,NaN) (for any positive finite x), the result is (NaN,NaN) and FE_INVALID may be raised
  • If z is (+∞,+0), the result is (+∞,+0)
  • If z is (+∞,y) (for any positive finite y), the result is +∞cis(y)
  • If z is (+∞,+∞), the result is (±∞,NaN) (the sign of the real part is unspecified) and FE_INVALID is raised
  • If z is (+∞,NaN), the result is (±∞,NaN) (the sign of the real part is unspecified)
  • If z is (NaN,+0), the result is (NaN,+0)
  • If z is (NaN,y) (for any finite nonzero y), the result is (NaN,NaN) and FE_INVALID may be raised
  • If z is (NaN,NaN), the result is (NaN,NaN)

where cis(y) is cos(y) + i sin(y).


🧚 Notes

Mathematical definition of hyperbolic sine is sinh z = and the page’s math block is literally:

sinh z =

          ez
          -e-z
          2

          .

yes, the exact little line -e-z is right there, bestie 🫢

Hyperbolic sine is an entire function in the complex plane and has no branch cuts. It is periodic with respect to the imaginary component, with period 2Ο€i.


πŸ”₯ Example

the page says // Run this code and then serves you this:

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

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

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

🌈 Output 🌈

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

πŸ‘‘ See also

  • cosh(std::complex) β€” computes hyperbolic cosine of a complex number; the page also has the little glyph \({\small\cosh{z}}\)cosh(z); function template.
  • tanh(std::complex) β€” computes hyperbolic tangent of a complex number; glyph \({\small\tanh{z}}\)tanh(z); function template.
  • asinh(std::complex) (C++11) β€” computes area hyperbolic sine of a complex number; glyph \({\small\operatorname{arsinh}{z}}\)arsinh(z); function template.
  • sinh, sinhf, sinhl (C++11), (C++11) β€” computes hyperbolic sine; glyph \({\small\sinh{x}}\)sinh(x); function.
  • sinh(std::valarray) β€” applies the function std::sinh to each element of valarray; function template.
  • C documentation for csinh

Source: http://cppreference.com Β· version/date: 2024.06.10 Β· page: std::sinh(std::complex)(3) β€” mwah πŸ’‹

πŸ“¦ where this page comes from