Namespaces
Variants

csinhf, csinh, csinhl

From cppreference.net
定義先ヘッダ <complex.h>
float complex csinhf ( float complex z ) ;
(1) (C99以降)
double complex csinh ( double complex z ) ;
(2) (C99以降)
long double complex csinhl ( long double complex z ) ;
(3) (C99以降)
定義先ヘッダ <tgmath.h>
#define sinh( z )
(4) (C99以降)
1-3) z の複素双曲線正弦を計算します。
4) 型総称マクロ: z の型が long double complex の場合、 csinhl が呼び出される。 z の型が double complex の場合、 csinh が呼び出される。 z の型が float complex の場合、 csinhf が呼び出される。 z が実数または整数の場合、マクロは対応する実数関数( sinhf sinh sinhl )を呼び出す。 z が虚数の場合、マクロは関数 sin の対応する実数バージョンを呼び出し、公式 sinh(iy) = i sin(y) を実装し、戻り値の型は虚数型となる。

目次

翻訳の説明: - 「Contents」を「目次」に翻訳しました - C++関連の専門用語(Parameters、Return value、Error handling and special values、Notes、Example、References、See also)は原文のまま保持しました - HTMLタグ、属性、クラス名、IDなどは一切変更していません - 数値や構造は完全に保持されています

パラメータ

z - 複素引数

戻り値

エラーが発生しない場合、複素双曲線正弦が z に対して返されます

エラーハンドリングと特殊値

エラーは math_errhandling に従って報告されます

IEEE浮動小数点演算がサポートされている実装の場合、

  • csinh ( conj ( z ) ) == conj ( csinh ( z ) )
  • csinh ( z ) == - csinh ( - z )
  • z +0+0i の場合、結果は +0+0i
  • z +0+∞i の場合、結果は ±0+NaNi (実部の符号は未規定)で、 FE_INVALID が発生する
  • z +0+NaNi の場合、結果は ±0+NaNi
  • z x+∞i (任意の正の有限x)の場合、結果は NaN+NaNi で、 FE_INVALID が発生する
  • z x+NaNi (任意の正の有限x)の場合、結果は NaN+NaNi で、 FE_INVALID が発生する可能性がある
  • z +∞+0i の場合、結果は +∞+0i
  • z +∞+yi (任意の正の有限y)の場合、結果は +∞cis(y)
  • z +∞+∞i の場合、結果は ±∞+NaNi (実部の符号は未規定)で、 FE_INVALID が発生する
  • z +∞+NaNi の場合、結果は ±∞+NaNi (実部の符号は未規定)
  • z NaN+0i の場合、結果は NaN+0i
  • z NaN+yi (任意の有限非ゼロy)の場合、結果は NaN+NaNi で、 FE_INVALID が発生する可能性がある
  • z NaN+NaNi の場合、結果は NaN+NaNi

ここで cis(y) cos(y) + i sin(y) を表します

注記

Mathematical definition of hyperbolic sine is sinh z =
e z
-e -z
2

双曲線正弦は複素平面における整関数であり、分岐切断を持ちません。虚数成分に関して周期 2πi の周期関数です。

#include <stdio.h>
#include <math.h>
#include <complex.h>
int main(void)
{
    double complex z = csinh(1);  // 実軸に沿って実数のsinhのように振る舞う
    printf("sinh(1+0i) = %f%+fi (sinh(1)=%f)\n", creal(z), cimag(z), sinh(1));
    double complex z2 = csinh(I); // 虚軸に沿って正弦関数のように振る舞う
    printf("sinh(0+1i) = %f%+fi ( sin(1)=%f)\n", creal(z2), cimag(z2), sin(1));
}

出力:

sinh(1+0i) = 1.175201+0.000000i (sinh(1)=1.175201)
sinh(0+1i) = 0.000000+0.841471i ( sin(1)=0.841471)

参考文献

  • C11規格 (ISO/IEC 9899:2011):
  • 7.3.6.5 csinh関数群 (p: 194)
  • 7.25 総称数学 <tgmath.h> (p: 373-375)
  • G.6.2.5 csinh関数群 (p: 541-542)
  • G.7 総称数学 <tgmath.h> (p: 545)
  • C99規格 (ISO/IEC 9899:1999):
  • 7.3.6.5 csinh関数群 (p: 175-176)
  • 7.22 総称数学 <tgmath.h> (p: 335-337)
  • G.6.2.5 csinh関数群 (p: 476-477)
  • G.7 総称数学 <tgmath.h> (p: 480)

関連項目

(C99) (C99) (C99)
複素双曲線余弦を計算する
(関数)
(C99) (C99) (C99)
複素双曲線正接を計算する
(関数)
(C99) (C99) (C99)
複素逆双曲線正弦を計算する
(関数)
(C99) (C99)
双曲線正弦 ( sinh(x) ) を計算する
(関数)