ctanhf, ctanh, ctanhl
提供: cppreference.com
ヘッダ
<complex.h>
で定義
ヘッダ
<tgmath.h>
で定義
#define tanh( z )
(4)
(C99以上)
1-3)
z
の複素双曲線正接を計算します。4) 型装飾マクロ。
z
が long double complex 型の場合は ctanhl
が呼ばれ、 z
が double complex 型の場合は ctanh
が呼ばれ、 z
が float complex 型の場合は ctanhf
が呼ばれます。 z
が実数または整数の場合、このマクロは対応する実数の関数 (tanhf、 tanh 、 tanhl) を呼びます。 z
が虚数の場合、このマクロは関数 tan の対応する実数版を呼んで公式 tanh(iy) = i tan(y) を実装し、戻り値型は虚数になります。[編集] 引数
z
-
複素数の引数
[編集] 戻り値
エラーが発生しなければ、 z
の複素双曲線正接が返されます。
[編集] エラー処理および特殊な値
エラーは math_errhandling と一貫性があるように報告されます。
処理系が IEEE 浮動小数点算術をサポートしている場合、
- ctanh(conj (z)) == conj (ctanh(z)) です。
- ctanh(-z) == -ctanh(z) です。
-
z
が+0+0i
であれば、結果は+0+0i
です。 -
z
がx+∞i
(ただし x は任意の[1] 有限な値) であれば、結果はNaN+NaNi
であり、 FE_INVALID が発生します。 -
z
がx+NaN
(ただし x は任意の[2] 有限な値) であれば、結果はNaN+NaNi
であり、 FE_INVALID が発生するかもしれません。 -
z
が+∞+yi
(ただし y は任意の有限な正の値) であれば、結果は1+0i
です。 -
z
が+∞+∞i
であれば、結果は1±0i
(虚部の符号は未規定) です。 -
z
が+∞+NaNi
であれば、結果は1±0i
(虚部の符号は未規定) です。 -
z
がNaN+0i
であれば、結果はNaN+0i
です。 -
z
がNaN+yi
(ただし y は任意の非ゼロな値) であれば、結果はNaN+NaNi
であり、 FE_INVALID が発生するかもしれません。 -
z
がNaN+NaNi
であれば、結果はNaN+NaNi
です。
- ↑ DR471 によれば、これは非ゼロな x に対してのみ適用されます。
z
が0+∞i
の場合、結果は0+NaNi
であるべきです。 - ↑ DR471 によれば、これは非ゼロな x に対してのみ適用されます。
z
が0+NaNi
の場合、結果は0+NaNi
であるべきです。
[編集] ノート
双曲線正接の数学的な定義は tanh z = ez
-e-z
-e-z
ez
+e-z
です。
+e-z
双曲線正接は複素平面上の解析関数であり、分岐切断を持ちません。 双曲線正接は虚部に関して πi の周期で周期的であり、虚数線に沿って座標 (0, π(1/2 + n)) に位数 1 の極を持ちます。 しかし一般的な浮動小数点表現では π/2 を正確に表すことはできず、そのため極エラーが発生するような引数の値はありません。
[編集] 例
Run this code
#include <stdio.h> #include <math.h> #include <complex.h> int main(void) { double complex z = ctanh(1); // behaves like real tanh along the real line printf ("tanh(1+0i) = %f%+fi (tanh(1)=%f)\n", creal (z), cimag (z), tanh (1)); double complex z2 = ctanh(I); // behaves like tangent along the imaginary line printf ("tanh(0+1i) = %f%+fi ( tan(1)=%f)\n", creal (z2), cimag (z2), tan (1)); }
出力:
tanh(1+0i) = 0.761594+0.000000i (tanh(1)=0.761594) tanh(0+1i) = 0.000000+1.557408i ( tan(1)=1.557408)
[編集] 参考文献
- C11 standard (ISO/IEC 9899:2011):
- 7.3.6.6 The ctanh functions (p: 194)
- 7.25 Type-generic math <tgmath.h> (p: 373-375)
- G.6.2.6 The ctanh functions (p: 542)
- G.7 Type-generic math <tgmath.h> (p: 545)
- C99 standard (ISO/IEC 9899:1999):
- 7.3.6.6 The ctanh functions (p: 176)
- 7.22 Type-generic math <tgmath.h> (p: 335-337)
- G.6.2.6 The ctanh functions (p: 477)
- G.7 Type-generic math <tgmath.h> (p: 480)
[編集] 関連項目
tanh の C++リファレンス