casinf, casin, casinl
提供: cppreference.com
<tbody>
</tbody>
| ヘッダ <complex.h> で定義
|
||
float complex casinf( float complex z ); |
(1) | (C99以上) |
double complex casin( double complex z ); |
(2) | (C99以上) |
long double complex casinl( long double complex z ); |
(3) | (C99以上) |
| ヘッダ <tgmath.h> で定義
|
||
#define asin( z ) |
(4) | (C99以上) |
1-3)
z の複素逆正弦を計算します。 実軸に沿って区間 [−1 ; +1] の外側に分岐切断を持ちます。4) 型総称マクロ。
z が long double complex 型の場合は casinl が呼ばれ、 z が double complex 型の場合は casin が呼ばれ、 z が float complex 型の場合は casinf が呼ばれます。 z が実数または整数の場合、このマクロは対応する実数の関数 (asinf、 asin、 asinl) を呼びます。 z が虚数の場合、このマクロは関数 asinh の対応する実数版を呼んで公式 asin(iy) = i asinh(y) を実装し、このマクロの戻り値型は虚数になります。引数
| z | - | 複素数の引数 |
戻り値
エラーが発生しなければ、 z の複素逆正弦が返されます。 戻り値は実部が区間 [−π/2; +π/2] 内で虚部が非有界な帯状の範囲内になります。
エラーおよび特殊なケースは、この演算が -I * casinh(I*z) によって実装されているかのように処理されます。
ノート
逆正弦は多値関数であり、複素平面上の分岐切断が要求されます。 分岐切断は慣習的に実軸上の線分 (-∞,-1) および (1,∞) に置かれます。
逆正弦の主値の数学的な定義は asin z = -iln(iz + √1-z2
) です。
任意の z について、
asin(z) = acos(-z) -| π |
| 2 |
が成り立ちます。
例
Run this code
#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)); // or CMPLX(-2, -0.0)
printf("casin(-2-0i) (the other side of the cut) = %f%+fi\n", creal(z2), cimag(z2));
// for any 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 standard (ISO/IEC 9899:2011):
- 7.3.5.2 The casin functions (p: 190)
- 7.25 Type-generic math <tgmath.h> (p: 373-375)
- G.7 Type-generic math <tgmath.h> (p: 545)
- C99 standard (ISO/IEC 9899:1999):
- 7.3.5.2 The casin functions (p: 172)
- 7.22 Type-generic math <tgmath.h> (p: 335-337)
- G.7 Type-generic math <tgmath.h> (p: 480)
関連項目
(C99)(C99)(C99) |
複素数の逆余弦を計算します (関数) |
(C99)(C99)(C99) |
複素数の逆正接を計算します (関数) |
(C99)(C99)(C99) |
複素正弦を計算します (関数) |
(C99)(C99) |
逆正弦 (arcsin(x)) を計算します (関数) |
asin の C++リファレンス
| |