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

◆ cbiry()

void cbiry ( doublecomplex  z,
int  id,
int  kode,
doublecomplex *  bi,
int *  info 
)

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

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