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

◆ hyp1f1r()

double hyp1f1r ( double  a,
double  b,
double  z 
)

正規化された超幾何関数 1F1(a; b; z)/Γ(b)

目的
hyp1f1rは正規化された超幾何関数を求める.
1F1(a; b; z)/Γ(b) = Σ(a)n * z^n / Γ(b + n) * n! (n = 0 〜 ∞)
戻り値
1F1(a; b; z)/Γ(b).
引数
[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