Namespaces
Variants

std:: tan (std::complex)

From cppreference.net
定義済みヘッダー <complex>
template < class T >
complex < T > tan ( const complex < T > & z ) ;

複素数の複素正接を計算します z

目次

パラメータ

z - 複素数値

戻り値

エラーが発生しない場合、 z の複素正接が返されます。

エラーおよび特殊ケースは、この演算が - i * std::tanh ( i * z ) によって実装されているかのように処理されます。ここで i は虚数単位です。

注記

タンジェントは複素平面上の解析関数であり、分岐切断はありません。実数成分に関して周期的であり、周期はπiです。また、実数直線上に一次の極を持ち、その座標は (π(1/2 + n), 0) です。しかし、一般的な浮動小数点表現ではπ/2を正確に表現できないため、極エラーが発生する引数の値は存在しません。

Mathematical definition of the tangent is tan z =
i(e -iz
-e iz
)
e -iz
+e iz
.

#include <cmath>
#include <complex>
#include <iostream>
int main()
{
    std::cout << std::fixed;
    std::complex<double> z(1.0, 0.0); // 実軸に沿って実数の正接関数のように振る舞う
    std::cout << "tan" << z << " = " << std::tan(z)
              << " ( tan(1) = " << std::tan(1) << ")\n";
    std::complex<double> z2(0.0, 1.0); // 虚軸に沿って双曲線正接のように振る舞う
    std::cout << "tan" << z2 << " = " << std::tan(z2)
              << " (tanh(1) = " << std::tanh(1) << ")\n";
}

出力:

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)

関連項目

複素数の正弦を計算する ( sin(z) )
(関数テンプレート)
複素数の余弦を計算する ( cos(z) )
(関数テンプレート)
複素数の逆正接を計算する ( arctan(z) )
(関数テンプレート)
(C++11) (C++11)
正接を計算する ( tan(x) )
(関数)
関数 std::tan をvalarrayの各要素に適用する
(関数テンプレート)