名前空間
変種
操作

cexpf, cexp, cexpl

From cppreference.com
< c‎ | numeric‎ | complex
ヘッダー <complex.h> で定義
float complex       cexpf( float complex z );
(1) (C99以降)
double complex      cexp( double complex z );
(2) (C99以降)
long double complex cexpl( long double complex z );
(3) (C99以降)
ヘッダー <tgmath.h> で定義
#define exp( z )
(4) (C99以降)
1-3) z の複素数としてのネイピア数 e の指数を計算します。
4) 型汎用マクロ: z の型が long double complex の場合、cexpl が呼び出されます。z の型が double complex の場合、cexp が呼び出されます。z の型が float complex の場合、cexpf が呼び出されます。z が実数または整数である場合、マクロは対応する実数関数(expf, exp, expl)を呼び出します。z が虚数である場合、対応する複素数引数バージョンが呼び出されます。

目次

[edit] パラメータ

z - 複素数引数

[edit] 戻り値

エラーが発生しなかった場合、ez 乗、ez
が返されます。

[edit] エラー処理と特殊な値

math_errhandling と一貫してエラーが報告されます。

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

  • cexp(conj(z)) == conj(cexp(z))
  • z±0+0i の場合、結果は 1+0i です。
  • zx+∞i(有限の x)の場合、結果は NaN+NaNi となり、FE_INVALID が発生します。
  • zx+NaNi(有限の x)の場合、結果は NaN+NaNi となり、FE_INVALID が発生する場合があります。
  • z+∞+0i の場合、結果は +∞+0i となります。
  • z-∞+yi(有限の y)の場合、結果は +0cis(y) となります。
  • z+∞+yi(有限の非ゼロ y)の場合、結果は +∞cis(y) となります。
  • z-∞+∞i の場合、結果は ±0±0i(符号は不定)となります。
  • z+∞+∞i の場合、結果は ±∞+NaNi となり、FE_INVALID が発生します(実数部の符号は不定)。
  • z-∞+NaNi の場合、結果は ±0±0i(符号は不定)となります。
  • z+∞+NaNi の場合、結果は ±∞+NaNi となります(実数部の符号は不定)。
  • zNaN+0i の場合、結果は NaN+0i となります。
  • zNaN+yi(非ゼロ y)の場合、結果は NaN+NaNi となり、FE_INVALID が発生する場合があります。
  • zNaN+NaNi の場合、結果は NaN+NaNi となります。

ここで、cis(y)cos(y) + i sin(y) です。

[edit] 注記

複素指数関数 ez
は、z = x+iy に対して ex
cis(y)
、すなわち ex
(cos(y) + i sin(y))
と等しくなります。

指数関数は複素平面における *整関数* であり、分岐はありません。

[edit]

#include <stdio.h>
#include <math.h>
#include <complex.h>
 
int main(void)
{
    double PI = acos(-1);
    double complex z = cexp(I * PI); // Euler's formula
    printf("exp(i*pi) = %.1f%+.1fi\n", creal(z), cimag(z));
 
}

出力

exp(i*pi) = -1.0+0.0i

[edit] 参考文献

  • C11標準 (ISO/IEC 9899:2011)
  • 7.3.7.1 The cexp functions (p: 194)
  • 7.25 型総称数学関数 <tgmath.h> (p: 373-375)
  • G.6.3.1 The cexp functions (p: 543)
  • G.7 Type-generic math <tgmath.h> (p: 545)
  • C99標準 (ISO/IEC 9899:1999)
  • 7.3.7.1 The cexp functions (p: 176)
  • 7.22 型総称数学関数 <tgmath.h> (p: 335-337)
  • G.6.3.1 The cexp functions (p: 478)
  • G.7 Type-generic math <tgmath.h> (p: 480)

[edit] 関連項目

(C99)(C99)(C99)
複素自然対数関数を計算する
(関数) [編集]
(C99)(C99)
指定されたべき乗のeを計算する (ex)
(関数) [編集]
English 日本語 中文(简体) 中文(繁體)