casinhf, casinh, casinhl
|
ヘッダー
<complex.h>
で定義
|
||
| (1) | (C99以降) | |
| (2) | (C99以降) | |
| (3) | (C99以降) | |
|
ヘッダー
<tgmath.h>
で定義
|
||
|
#define asinh( z )
|
(4) | (C99以降) |
z
の複素双曲線逆正弦を計算します。
z
の型が
long
double
complex
の場合、
casinhl
が呼び出される。
z
の型が
double
complex
の場合、
casinh
が呼び出される。
z
の型が
float
complex
の場合、
casinhf
が呼び出される。
z
が実数または整数の場合、マクロは対応する実数関数(
asinhf
、
asinh
、
asinhl
)を呼び出す。
z
が虚数の場合、マクロは関数
asin
の対応する実数バージョンを呼び出し、公式
asinh(iy) = i asin(y)
を実装し、戻り値の型は虚数型となる。
目次 |
パラメータ
| z | - | 複素引数 |
戻り値
エラーが発生しない場合、複素数の双曲線逆正弦が
z
に対して返されます。その値域は、実軸方向に数学的に非有界で、虚軸方向には区間
[−iπ/2; +iπ/2]
に含まれます。
エラー処理と特殊値
エラーは math_errhandling に従って報告されます
IEEE浮動小数点演算がサポートされている実装の場合、
- casinh ( conj ( z ) ) == conj ( casinh ( z ) )
- casinh ( - z ) == - casinh ( z )
-
zが+0+0iの場合、結果は+0+0i -
zがx+∞i(任意の正の有限値x)の場合、結果は+∞+π/2 -
zがx+NaNi(任意の有限値x)の場合、結果はNaN+NaNiとなり、 FE_INVALID が発生する可能性がある -
zが+∞+yi(任意の正の有限値y)の場合、結果は+∞+0i -
zが+∞+∞iの場合、結果は+∞+iπ/4 -
zが+∞+NaNiの場合、結果は+∞+NaNi -
zがNaN+0iの場合、結果はNaN+0i -
zがNaN+yi(任意の有限の非ゼロ値y)の場合、結果はNaN+NaNiとなり、 FE_INVALID が発生する可能性がある -
zがNaN+∞iの場合、結果は±∞+NaNi(実部の符号は未規定) -
zがNaN+NaNiの場合、結果はNaN+NaNi
注記
C標準ではこの関数を「複素数の双曲線逆正弦」と命名していますが、双曲線関数の逆関数は面積関数です。それらの引数は双曲線扇形の面積であり、弧長ではありません。正しい名称は「複素数の逆双曲線正弦」、そしてより一般的でないものとして「複素数の面積双曲線正弦」です。
逆双曲正弦関数は多価関数であり、複素平面上での分岐切断が必要です。分岐切断は慣例的に、虚軸上の線分 (- i ∞,- i ) および ( i , i ∞) に配置されます。
逆双曲正弦関数の主値の数学的定義は
asinh z = ln(z +
√
1+z
2
)
| asin(iz) |
| i |
例
#include <stdio.h> #include <complex.h> int main(void) { double complex z = casinh(0+2*I); printf("casinh(+0+2i) = %f%+fi\n", creal(z), cimag(z)); double complex z2 = casinh(-conj(2*I)); // or casinh(CMPLX(-0.0, 2)) in C11 printf("casinh(-0+2i) (the other side of the cut) = %f%+fi\n", creal(z2), cimag(z2)); // for any z, asinh(z) = asin(iz)/i double complex z3 = casinh(1+2*I); printf("casinh(1+2i) = %f%+fi\n", creal(z3), cimag(z3)); double complex z4 = casin((1+2*I)*I)/I; printf("casin(i * (1+2i))/i = %f%+fi\n", creal(z4), cimag(z4)); }
出力:
casinh(+0+2i) = 1.316958+1.570796i casinh(-0+2i) (the other side of the cut) = -1.316958+1.570796i casinh(1+2i) = 1.469352+1.063440i casin(i * (1+2i))/i = 1.469352+1.063440i
参考文献
- C11標準 (ISO/IEC 9899:2011):
-
- 7.3.6.2 casinh関数 (p: 192-193)
-
- 7.25 型総称数学 <tgmath.h> (p: 373-375)
-
- G.6.2.2 casinh関数 (p: 540)
-
- G.7 型総称数学 <tgmath.h> (p: 545)
- C99標準 (ISO/IEC 9899:1999):
-
- 7.3.6.2 casinh関数 (p: 174-175)
-
- 7.22 型総称数学 <tgmath.h> (p: 335-337)
-
- G.6.2.2 casinh関数 (p: 475)
-
- G.7 型総称数学 <tgmath.h> (p: 480)
関連項目
|
(C99)
(C99)
(C99)
|
複素数の双曲線逆余弦を計算する
(関数) |
|
(C99)
(C99)
(C99)
|
複素数の双曲線逆正接を計算する
(関数) |
|
(C99)
(C99)
(C99)
|
複素数の双曲線正弦を計算する
(関数) |
|
(C99)
(C99)
(C99)
|
逆双曲線正弦を計算する (
arsinh(x)
)
(関数) |
|
C++ドキュメント
for
asinh
|
|