casinf, casin, casinl
|
ヘッダー
<complex.h>
で定義
|
||
| (1) | (C99以降) | |
| (2) | (C99以降) | |
| (3) | (C99以降) | |
|
ヘッダー
<tgmath.h>
で定義
|
||
|
#define asin( z )
|
(4) | (C99以降) |
z
の複素逆正弦を計算します。
z
の型が
long
double
complex
の場合、
casinl
が呼び出される。
z
の型が
double
complex
の場合、
casin
が呼び出される。
z
の型が
float
complex
の場合、
casinf
が呼び出される。
z
が実数または整数の場合、マクロは対応する実数関数(
asinf
、
asin
、
asinl
)を呼び出す。
z
が虚数の場合、マクロは関数
asinh
の対応する実数バージョンを呼び出し、式
arcsin(iy) = i arsinh(y)
を実装する。マクロの戻り値の型は虚数型となる。
目次 |
パラメータ
| z | - | 複素引数 |
戻り値
エラーが発生しない場合、複素数の逆正弦が返されます。その範囲は虚軸に沿って非有界であり、実軸に沿っては区間 [−π/2; +π/2] 内となります。
エラーおよび特殊ケースは、この操作が以下のように実装されているかのように処理されます。 - I * casinh ( I * z )
注記
逆正弦(またはアークサイン)は多価関数であり、複素平面上で分岐切断を必要とします。分岐切断は慣例的に実軸の線分 (-∞,-1) および (1,∞) に配置されます。
逆正弦関数の主値の数学的定義は
arcsin z = -
i
ln(
i
z +
√
1-z
2
)
| π |
| 2 |
例
#include <stdio.h> #include <math.h> #include <complex.h> int main(void) { double complex z = casin(-2); printf("casin(-2+0i) = %f%+fi\n", creal(z), cimag(z)); double complex z2 = casin(conj(-2)); // または CMPLX(-2, -0.0) printf("casin(-2-0i) (the other side of the cut) = %f%+fi\n", creal(z2), cimag(z2)); // 任意の z について、asin(z) = acos(-z) - pi/2 double pi = acos(-1); double complex z3 = csin(cacos(conj(-2))-pi/2); printf("csin(cacos(-2-0i)-pi/2) = %f%+fi\n", creal(z3), cimag(z3)); }
出力:
casin(-2+0i) = -1.570796+1.316958i casin(-2-0i) (the other side of the cut) = -1.570796-1.316958i csin(cacos(-2-0i)-pi/2) = 2.000000+0.000000i
参考文献
- C11規格 (ISO/IEC 9899:2011):
-
- 7.3.5.2 casin関数群 (p: 190)
-
- 7.25 総称数学 <tgmath.h> (p: 373-375)
-
- G.7 総称数学 <tgmath.h> (p: 545)
- C99規格 (ISO/IEC 9899:1999):
-
- 7.3.5.2 casin関数群 (p: 172)
-
- 7.22 総称数学 <tgmath.h> (p: 335-337)
-
- G.7 総称数学 <tgmath.h> (p: 480)
関連項目
|
(C99)
(C99)
(C99)
|
複素数の逆余弦を計算する
(関数) |
|
(C99)
(C99)
(C99)
|
複素数の逆正接を計算する
(関数) |
|
(C99)
(C99)
(C99)
|
複素数の正弦を計算する
(関数) |
|
(C99)
(C99)
|
逆正弦 (
arcsin(x)
) を計算する
(関数) |
|
C++ドキュメント
for
asin
|
|