Namespaces
Variants

casinf, casin, casinl

From cppreference.net
ヘッダー <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) 実軸上の区間 [−1,+1] の外側に分岐切断を持つ z の複素逆正弦を計算します。
4) 型ジェネリックマクロ: 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
)

For any z, arcsin(z) = acos(-z) -
π
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) ) を計算する
(関数)