[ 
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

Reply via email to