std::tan(std::complex)(3)

๐Ÿ“ฆ version 2024.07.05, in nixpkgs unstable, opensuse-leap 16.0

hey bestie ๐Ÿ’– welcome to the std::tan(std::complex)(3) page from the C++ Standard Library ๐ŸŒธ this one is all about complex tangent, and ngl it's giving math but make it cute. let's get into it ๐Ÿ’…

โœจ NAME โœจ

std::tan(std::complex) โ€” std::tan(std::complex) (yes the name is literally the same thing twice, iconic ๐Ÿ’–)

๐ŸŒธ Synopsis ๐ŸŒธ

Defined in header <complex>

template< class T >
complex<T> tan( const complex<T>& z );

Computes complex tangent of a complex value z.

๐ŸŽ€ Parameters ๐ŸŽ€

  • z โ€” complex value

๐Ÿ’– Return value ๐Ÿ’–

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

Errors and special cases are handled as if the operation is implemented by -i * std::tanh(i * z), where i is the imaginary unit. ๐Ÿซถ

๐Ÿฆ‹ Notes ๐Ÿฆ‹

Tangent is an analytical function on the complex plane and has no branch cuts. It's periodic with respect to the real component, with period ฯ€i, and has poles of the first order along the real line, at coordinates (ฯ€(1/2 + n), 0). However no common floating-point representation is able to represent ฯ€/2 exactly, thus there is no value of the argument for which a pole error occurs. ๐Ÿ’€

Mathematical definition of the tangent is tan z = i(e^{-iz} - e^{iz}) / (e^{-iz} + e^{iz}). ๐Ÿงฎโœจ

๐Ÿ”ฅ 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 tangent along the real line
    std::cout << "tan" << z << " = " << std::tan(z)
              << " ( tan(1) = " << std::tan(1) << ")\n";

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

๐ŸŒˆ Output ๐ŸŒˆ

tan(1.000000,0.000000) = (1.557408,0.000000) ( tan(1) = 1.557408)
tan(0.000000,1.000000) = (0.000000,0.761594) (tanh(1) = 0.761594)

๐Ÿ‘‘ See also ๐Ÿ‘‘

  • sin(std::complex) โ€” computes sine of a complex number sin(z) (function template)
  • cos(std::complex) โ€” computes cosine of a complex number cos(z) (function template)
  • atan(std::complex) (C++11) โ€” computes arc tangent of a complex number arctan(z) (function template)
  • tan, tanf, tanl (C++11) (C++11) โ€” computes tangent tan(x) (function)
  • tan(std::valarray) โ€” applies the function std::tan to each element of valarray (function template)
  • C documentation for ctan

this page is from http://cppreference.com ๐Ÿ’– version/date 2024.06.10 and it's the std::tan(std::complex)(3) page. stay slay, bestie! ๐ŸŽ€โœจ

๐Ÿ“ฆ where this page comes from