|
◆ 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] | a | Argument a. |
[in] | b | Argument b. (must not be a negative integer or zero unless a is an integer with b < a <= 0) |
[in] | z | Argument 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
|