commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sébastien Brisard (JIRA) <j...@apache.org>
Subject [jira] [Comment Edited] (MATH-738) Incomplete beta function I(x, a, b) is inaccurate for large values of a and/or b
Date Mon, 19 Nov 2012 07:16:58 GMT

    [ https://issues.apache.org/jira/browse/MATH-738?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13500067#comment-13500067
] 

Sébastien Brisard edited comment on MATH-738 at 11/19/12 7:15 AM:
------------------------------------------------------------------

Starting first with {{Beta.logBeta(double, double)}}, accuracy of the current {{r}} implementation
as reported in the users guide is
|| 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     | 5.04 ulps       | 270.99 ulps          | 46696.0 ulps    |
| 0 < x ≤ 8, 8 < y ≤ 16      | x[i] = i / 32, i = 1, ..., 256, y[j] = j / 32, j
= 257, ..., 512   | 9.75 ulps       | 149.42 ulps          | 19126.0 ulps    |
| 0 < x ≤ 8, 16 < y ≤ 256    | x[i] = i / 32, i = 1, ..., 256, y[j] = j, j = 17,
..., 256         | 357.82 ulps     | 39297.58 ulps        | 8635522.0 ulps  |
| 8 < x ≤ 16, 8 < y ≤ 16     | x[i] = i / 32, i = 257, ..., 512, y[j] = j / 32,
j = 257, ..., 512 | 2.37 ulps       | 13.0 ulps            | 1.9 ulps        |
| 8 < x ≤ 16, 16 < y ≤ 256   | x[i] = i / 32, i = 257, ..., 512, y[j] = j, j = 17,
..., 256       | 10.75 ulps      | 9.74 ulps            | 73.0 ulps       |
| 16 < x ≤ 256, 16 < y ≤ 256 | x[i] = i, i = 17, ..., 256, y[j] = j, j = 17, ...,
256             | 5.20 ulps       | 4.33 ulps            | 53.0 ulps       |

                
      was (Author: celestin):
    Starting first with {{Beta.logBeta(double, double)}}, accuracy of the current {{r}} implementation
as reported in the users guide is
|| 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}}     | 5.04 ulps       | 270.99 ulps          | 46696.0 ulps    |
| 0 < x ≤ 8, 8 < y ≤ 16      | {{x[i] = i / 32, i = 1, ..., 256}}, {{y[j] = j /
32, j = 257, ..., 512}}   | 9.75 ulps       | 149.42 ulps          | 19126.0 ulps    |
| 0 < x ≤ 8, 16 < y ≤ 256    | {{x[i] = i / 32, i = 1, ..., 256}}, {{y[j] = j, j
= 17, ..., 256}}         | 357.82 ulps     | 39297.58 ulps        | 8635522.0 ulps  |
| 8 < x ≤ 16, 8 < y ≤ 16     | {{x[i] = i / 32, i = 257, ..., 512}}, {{y[j] = j
/ 32, j = 257, ..., 512}} | 2.37 ulps       | 13.0 ulps            | 1.9 ulps        |
| 8 < x ≤ 16, 16 < y ≤ 256   | {{x[i] = i / 32, i = 257, ..., 512}}, {{y[j] = j,
j = 17, ..., 256}}       | 10.75 ulps      | 9.74 ulps            | 73.0 ulps       |
| 16 < x ≤ 256, 16 < y ≤ 256 | {{x[i] = i, i = 17, ..., 256}}, {{y[j] = j, j = 17,
..., 256}}             | 5.20 ulps       | 4.33 ulps            | 53.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.1, 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

Mime
View raw message