|
◆ hyp1f1()
double hyp1f1 |
( |
double |
a, |
|
|
double |
b, |
|
|
double |
z |
|
) |
| |
超幾何関数 1F1(a; b; z) (第1種合流型超幾何関数 / クンマーの関数 M(a, b, z))
- 目的
- hyp1f1は超幾何関数 1F1(a; b; z) を求める.
1F1(a; b; z) = M(a, b, z) = Σ(a)n * z^n / (b)n * n! (n = 0 〜 ∞)
ただし, M(a, b, z)はクンマーの関数である.
- 戻り値
- 1F1(a; b; z).
- 引数
-
[in] | a | 引数 a. |
[in] | b | 引数 b. (a が b < a <= 0 を満たす整数でない限り, bは負整数または0であってはならない) |
[in] | z | 引数 z. |
- エラー処理
- a が b < a <= 0 を満たす整数でなく, bが負整数または0の場合, 定義域エラー(EDOM)が発生する.
- 値域エラー(ERANGE)が発生することがある.
- 既知の問題
- このルーチンでは計算がうまくいかない次のような値域があることがわかっており, その場合値域エラー(ERANGE)が発生することがある.
- 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のとき)か発散することがあり精度が落ちてしまう.
- 出典
- boost/math/special_functions
|