ctanhf, ctanh, ctanhl
From cppreference.com
| ヘッダー <complex.h> で定義 |
||
| (1) | (C99以降) | |
| (2) | (C99以降) | |
| (3) | (C99以降) | |
| ヘッダー <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(任意の[1] 有限の x)の場合、結果はNaN+NaNiとなり、FE_INVALID が発生します。zがx+NaN(任意の[2] 有限の x)の場合、結果は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 |
| ez +e-z |
双曲線正接は複素平面上の解析関数であり、分岐切断はありません。虚数成分に対して周期 πi を持ち、虚数直線上の1位の極は座標 (0, π(1/2 + n)) にあります。ただし、一般的な浮動小数点表現では π/2 を正確に表現できないため、極エラーが発生する引数の値はありません。
[編集] 例
このコードを実行
#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標準 (ISO/IEC 9899:2011)
- 7.3.6.6 The ctanh functions (p: 194)
- 7.25 型総称数学関数 <tgmath.h> (p: 373-375)
- G.6.2.6 The ctanh functions (p: 542)
- G.7 Type-generic math <tgmath.h> (p: 545)
- C99標準 (ISO/IEC 9899:1999)
- 7.3.6.6 The ctanh functions (p: 176)
- 7.22 型総称数学関数 <tgmath.h> (p: 335-337)
- G.6.2.6 The ctanh functions (p: 477)
- G.7 Type-generic math <tgmath.h> (p: 480)
[編集] 関連項目
| (C99)(C99)(C99) |
複素双曲線サインを計算する (関数) |
| (C99)(C99)(C99) |
複素双曲線コサインを計算する (関数) |
| (C99)(C99)(C99) |
複素アーク双曲線タンジェントを計算する (関数) |
| (C99)(C99) |
双曲線タンジェントを計算する (tanh(x)) (関数) |
| C++ ドキュメント ( tanh )
| |