[
https://issues.apache.org/jira/browse/MATH-738?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13507653#comment-13507653
]
Sébastien Brisard commented on MATH-738:
----------------------------------------
In {{r1415853}}, committed new implementation of {{Beta.logBeta(double,
double)}}. The accuracy of the new implementation is reported in the table
below. This change of the code leads to the deprecation of
{{Beta.logBeta(double, double, double, int)}}, as the computation is no longer
iterative.
|| Interval || Values tested
|| Average error || Standard deviation || Maximum error ||
| 0 < x ≤ 8, 0 < y ≤ 8 | x[i] = i / 32, i = 1, ..., 256, y[j] = j / 32, j
= 1, ..., 256 | 1.80 ulps | 81.08 ulps | 14031.0 ulps |
| 0 < x ≤ 8, 8 < y ≤ 16 | x[i] = i / 32, i = 1, ..., 256, y[j] = j / 32, j
= 257, ..., 512 | 0.50 ulps | 3.64 ulps | 694.0 ulps |
| 0 < x ≤ 8, 16 < y ≤ 256 | x[i] = i / 32, i = 1, ..., 256, y[j] = j, j =
17, ..., 256 | 1.04 ulps | 139.32 ulps | 34509.0 ulps
|
| 8 < x ≤ 16, 8 < y ≤ 16 | x[i] = i / 32, i = 257, ..., 512, y[j] = j / 32,
j = 257, ..., 512 | 0.35 ulps | 0.48 ulps | 2.0 ulps |
| 8 < x ≤ 16, 16 < y ≤ 256 | x[i] = i / 32, i = 257, ..., 512, y[j] = j, j =
17, ..., 256 | 0.31 ulps | 0.47 ulps | 2.0 ulps |
| 16 < x ≤ 256, 16 < y ≤ 256 | x[i] = i, i = 17, ..., 256, y[j] = j, j = 17,
..., 256 | 0.35 ulps | 0.49 ulps | 2.0 ulps
|
> Incomplete beta function I(x, a, b) is inaccurate for large values of a
> and/or b
> --------------------------------------------------------------------------------
>
> Key: MATH-738
> URL: https://issues.apache.org/jira/browse/MATH-738
> Project: Commons Math
> Issue Type: Bug
> Affects Versions: 3.0
> Reporter: Sébastien Brisard
> Assignee: Sébastien Brisard
> Labels: special-functions
> Fix For: 3.2, 4.0
>
>
> This was first reported in MATH-718. The result of the current implementation
> of the incomplete beta function I(x, a, b) is inaccurate when a and/or b are
> large-ish.
> I've skimmed through [slatec|http://www.netlib.org/slatec/fnlib/betai.f],
> GSL,
> [Boost|http://www.boost.org/doc/libs/1_38_0/libs/math/doc/sf_and_dist/html/math_toolkit/special/sf_beta/ibeta_function.html]
> as well as NR. At first sight, neither uses the same method to compute this
> function. I think [TOMS-708|http://www.netlib.org/toms/708] is probably the
> best option.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira