|
|
◆ Hyp1f1r()
| Function Hyp1f1r |
( |
A As |
Double, |
|
|
B As |
Double, |
|
|
Z As |
Double, |
|
|
Optional Info As |
Long |
|
) |
| |
正規化された超幾何関数 1F1(a; b; z)/Γ(b)
- 目的
- 本ルーチンは正規化された超幾何関数を求める.
1F1(a; b; z)/Γ(b) = Σ(a)n * z^n / Γ(b + n) * n! (n = 0 〜 ∞)
- 戻り値
- Double
1F1(a; b; z)/Γ(b).
- 引数
-
| [in] | A | 引数 a. |
| [in] | B | 引数 b. (Aが B < A <= 0 を満たす整数でない限り, Bは負整数または0であってはならない) |
| [in] | Z | 引数 z. |
| [out] | Info | (省略可)
= 0: 正常終了.
= -1: パラメータ A または B の誤り. (Aが B < A <= 0 を満たす整数でなく, Bが負整数または0)
= 1: 浮動小数点値域エラー. |
- 注
- このルーチンでは計算がうまくいかない次のような値域があることがわかっており, その場合値域エラー(Info = 1)が発生することがある.
- 1F1(-a, -b, -z): a, b および z が全部大きい値の場合.
- 1F1(-a, -b, z): a < b, b > z の場合. これは実際には上と同じ原因による.
- 1F1(a, -b, z): 計算方法のつなぎ目で精度が保てないところがある. a, b および z が全部大きい値の場合, より悪くなる.
- 1F1(小さいa, b, -z): 値によっては級数が収束しない(特にb < 0のとき)か発散することがあり精度が落ちてしまう.
- 本ルーチンはaの絶対値が非常に大きいときに異常終了することがある.
- 出典
- boost/math/special_functions
|