|
|
◆ 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
|