commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sébastien Brisard (JIRA) <>
Subject [jira] [Commented] (MATH-909) FDistribution NoBracketingException in BrentSolver
Date Mon, 26 Nov 2012 19:28:58 GMT


Sébastien Brisard commented on MATH-909:

bq. According to the R documentation, the gamma and beta functions are C translations of the
SLATEC Fortran subroutines, as you suspected. The incomplete gamma appears to have a different
origin. According to the R documentation, the pbeta function is related to the incomplete
beta function of Abramowitz and Stegun. They cite two different sources for the function depending
on whether it is a central or non-central pbeta.

Thank you Patrick for checking the references. Didonato and Morris (1992) is actually the
reference I used for our new implementation of {{Gamma.logGamma}} and {{Gamma.gamma}}, as
well as {{Beta.logBeta}} (not yet committed).

I'm worried about the incomplete beta function, as R uses this paper, and the accuracy seems
to be not so good. I will look into it.
> FDistribution NoBracketingException in BrentSolver
> --------------------------------------------------
>                 Key: MATH-909
>                 URL:
>             Project: Commons Math
>          Issue Type: Bug
>    Affects Versions: 3.0
>            Reporter: Patrick Meyer
>   Original Estimate: 24h
>  Remaining Estimate: 24h
> I get an exception when running the code below. the exception is 
> {code}
> function values at endpoints do not have different signs, endpoints: [0, 1.002], values:
[-0.025, -∞]
> {code}
> The problematic code:
> {code}
> double df1 = 10675;
> double df2 = 501725;
> FDistribution fDist = new FDistribution(df1, df2);
> System.out.println(fDist.inverseCumulativeProbability(0.025));//NoBracketingException
> {code}
> However, R returns the value 0.9733505. The R code is:
> {code}
> qf(p=.025, df1=10675, df2=501725)
> {code}
> I don't know enough about the FDistribution class to know the solution to the exception,
but I thought I would report it.

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:

View raw message