|
|
◆ Lhyp1f1()
| Function Lhyp1f1 |
( |
A As |
Double, |
|
|
B As |
Double, |
|
|
Z As |
Double, |
|
|
Sign As |
Long, |
|
|
Optional Info As |
Long |
|
) |
| |
Logarithm of hypergeometric function ln|1F1(a; b; z)|
- Purpose
- This routine computes the logarithm of the hypergeometric function ln|1F1(a; b; z)|.
- Returns
- Double
ln|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. |
| [out] | Sign | Sign of hypergeometric function.
= -1: Negative.
= 1: Positive. |
| [out] | Info | (Optional)
= 0: Successful exit.
= -1: The argument A or B had an illegal value. (A is not an integer with B < A <= 0 and B is a negative integer or zero)
= 1: Floating point range error. |
- Note
- Problem domains that are still unsolved for this routine exist as follows. Range error (Info = 1) may occur 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.
- This routine may abnormally terminate if the magnitude of a is very large.
- Reference
- boost/math/special_functions
|