XLPack 7.0
XLPack 数値計算ライブラリ (C API) リファレンスマニュアル
読み取り中…
検索中…
一致する文字列を見つけられません

◆ cairy()

void cairy ( doublecomplex  z,
int  id,
int  kode,
doublecomplex *  ai,
int *  info 
)

エアリー関数 Ai(z) またはその導関数 Ai'(z) (複素引数)

目的
cairyはエアリー関数 Ai(z) またはその導関数 Ai'(z) を求める.
Ai(z) = (1/π) * ∫ cos((1/3)t^3 + zt) dt [0, ∞]
オーバーフローを避けるためにスケーリング・オプションを使用することができる.
引数
[in]z引数 z.
[in]id導関数の次数.
= 0: Ai(z) を求める.
= 1: Ai'(z) を求める.
[in]kodeスケーリングの指定.
= 1: スケーリングなし.
= 2: 指数スケーリングあり.
[out]aiエアリー関数 Ai(z) またはその導関数 Ai'(z).
kode = 2 の場合, exp((2/3)*z^(3/2)) でスケーリングする.
info < 0 の場合, ai = 0 を返す.
[out]info= 0: 正常終了.
= -2: 入力パラメータ id の誤り. (id != 0 かつ id != 1)
= -3: 入力パラメータ kode の誤り. (kode != 1 かつ kode != 2)
= 1: アンダーフローのため ai = 0 とした. (kode = 1において-π/3 < arg(z) < π/3)
= 2: 精度警告. (精度が半分以下になった)
= 3: 精度エラー. (正しく計算できない)
= 4: kode = 1においてre(z)が大きすぎるためオーバーフローが起きた.
出典
SLATEC