|
|
◆ Cairy()
| Sub Cairy |
( |
Z As |
Complex, |
|
|
Id As |
Long, |
|
|
Y As |
Complex, |
|
|
Info As |
Long, |
|
|
Optional Kode As |
Long = 1 |
|
) |
| |
エアリー関数 Ai(z) またはその導関数 Ai'(z) (複素引数)
- 目的
- 本ルーチンはエアリー関数 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) を求める. |
| [out] | Y | Airy関数 Ai(z) またはその導関数 Ai'(z).
Kode = 2 の場合, exp((2/3)*z^(3/2)) でスケーリングする. |
| [out] | Info | = 0: 正常終了.
= -2: パラメータ Id の誤り. (Id <> 0 かつ Id <> 1)
= -5: パラメータ Kode の誤り. (Kode <> 1 かつ Kode <> 2)
= 1: アンダーフローのため Y = 0 とした. (Kode = 1において -π/3 < arg(z) < π/3)
= 2: 精度警告. (精度が半分以下になった)
= 3: 精度エラー. (正しく計算できない)
= 4: Kode = 1においてre(Z)が大きすぎるためオーバーフローが起きた. |
| [in] | Kode | (省略可)
スケーリングの指定. (省略時 = 1)
= 1: スケーリングなし.
= 2: 指数スケーリングあり. |
- 出典
- SLATEC
|