Namespaces
Variants

casinhf, casinh, casinhl

From cppreference.net
헤더 파일에 정의됨 <complex.h>
float complex casinhf ( float complex z ) ;
(1) (C99부터)
double complex casinh ( double complex z ) ;
(2) (C99부터)
long double complex casinhl ( long double complex z ) ;
(3) (C99부터)
헤더 파일에 정의됨 <tgmath.h>
#define asinh( z )
(4) (C99부터)
1-3) 허수축을 따라 구간 [−i; +i] 바깥쪽에 분기 절단을 두고 z 의 복소수 아크 쌍곡사인을 계산합니다.
4) 타입-제네릭 매크로: 만약 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 (임의의 유한한 0이 아닌 y에 대해)이면, 결과는 NaN+NaNi 이며 FE_INVALID 가 발생할 수 있습니다
  • 만약 z NaN+∞i 이면, 결과는 ±∞+NaNi 입니다 (실수부의 부호는 명시되지 않음)
  • 만약 z NaN+NaNi 이면, 결과는 NaN+NaNi 입니다

참고 사항

C 표준에서는 이 함수를 "complex arc hyperbolic sine"이라고 명명하지만, 쌍곡선 함수의 역함수는 면적 함수입니다. 이들의 인수는 호가 아닌 쌍곡선 섹터의 면적입니다. 올바른 명칭은 "complex inverse hyperbolic sine"이며, 덜 일반적으로 "complex area hyperbolic sine"이라고도 합니다.

역쌍곡사인은 다가 함수이며 복소평면에서 가지 자름이 필요합니다. 가지 자름은 관례적으로 허수축의 선분 (- i ∞,- i ) ( i , i ∞) 에 위치합니다.

역쌍곡사인의 주값에 대한 수학적 정의는 asinh z = ln(z + 1+z 2
)

For any z, asinh(z) =
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 The casinh functions (p: 192-193)
  • 7.25 Type-generic math <tgmath.h> (p: 373-375)
  • G.6.2.2 The casinh functions (p: 540)
  • G.7 Type-generic math <tgmath.h> (p: 545)
  • C99 표준 (ISO/IEC 9899:1999):
  • 7.3.6.2 The casinh functions (p: 174-175)
  • 7.22 Type-generic math <tgmath.h> (p: 335-337)
  • G.6.2.2 The casinh functions (p: 475)
  • G.7 Type-generic math <tgmath.h> (p: 480)

참고 항목

(C99) (C99) (C99)
복소수 아크 쌍곡선 코사인 계산
(함수)
(C99) (C99) (C99)
복소수 아크 쌍곡선 탄젠트 계산
(함수)
(C99) (C99) (C99)
복소수 쌍곡선 사인 계산
(함수)
(C99) (C99) (C99)
역쌍곡선 사인 계산 ( arsinh(x) )
(함수)
C++ 문서 for asinh