XLPack 7.0
XLPack Numerical Library (C API) Reference Manual
Loading...
Searching...
No Matches

◆ hyp1f1()

double hyp1f1 ( double  a,
double  b,
double  z 
)

Hypergeometric function 1F1(a; b; z) (Kummer's function M(a, b, z))

Purpose
hyp1f1 computes the hypergeometric function 1F1(a; b; z).
1F1(a; b; z) = M(a, b, z) = Σ(a)n * z^n / (b)n * n! (n = 0 to ∞)
where M(a, b, z) is Kummer's function.
Returns
1F1(a; b; z).
Parameters
[in]aArgument a.
[in]bArgument b. (must not be a negative integer or zero unless a is an integer with b < a <= 0)
[in]zArgument z.
Error handling
  • If a is not an integer with b < a <= 0 and b is a negative integer or zero, domain error (EDOM) occurs.
  • Range error (ERANGE) may occur.
Known issues
Problem domains that are still unsolved for this routine exist as follows. Range error (ERANGE) may be reported in those cases.
  • 1F1(-a, -b, -z): a, b and z all large.
  • 1F1(-a, -b, z): a < b, b > z, this is really the same domain as above.
  • 1F1(a, -b, z): There is a gap in between methods where no reliable implementation is possible, the issue becomes much worse for a, b and z all large.
  • 1F1(tiny a, b, -z): There are some values where either the series is non-convergent (most particularly for b < 0) or where the series becomes divergent after a few terms limiting the precision that can be achieved.
Reference
boost/math/special_functions