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

Axion004 edited comment on MATH-1238 at 9/10/15 6:22 PM:
---------------------------------------------------------

I have the same issue through the following test program

import java.util.TreeSet;
import org.apache.commons.math3.analysis.UnivariateFunction;
import org.apache.commons.math3.analysis.solvers.*;

public class TestBrent {

    public static void main(String[] args) {
        BrentSolver test2 = new BrentSolver(1E-10);
        UnivariateFunction function = (double x) -> Math.sin(x);

        double EPSILON = 1e-6;
        TreeSet<Double> set = new TreeSet<>();
        for (int i = 1; i <= 500; i++) {
            set.add(test2.solve(1000, function, i, i+1));
        }

        for (Double s : set) {
            if (s > 0) {
                System.out.println(s);
            }
        }
    }
}

Exception in thread "main" 
org.apache.commons.math3.exception.NoBracketingException: function values at 
endpoints do not have different signs, endpoints: [1, 2], values: [0.841, 0.909]
        at 
org.apache.commons.math3.analysis.solvers.BrentSolver.doSolve(BrentSolver.java:133)
        at 
org.apache.commons.math3.analysis.solvers.BaseAbstractUnivariateSolver.solve(BaseAbstractUnivariateSolver.java:199)
        at 
org.apache.commons.math3.analysis.solvers.BaseAbstractUnivariateSolver.solve(BaseAbstractUnivariateSolver.java:204)
        at TestBrent.main(TestBrent.java:15)
Java Result: 1
BUILD SUCCESSFUL (total time:




was (Author: axion004):
I have the same issue through the following test program

import java.util.TreeSet;
import org.apache.commons.math3.analysis.UnivariateFunction;
import org.apache.commons.math3.analysis.solvers.*;

public class TestBrent {

    public static void main(String[] args) {
        BrentSolver test2 = new BrentSolver(1E-10);
        UnivariateFunction function = (double x) -> Math.sin(x);

        double EPSILON = 1e-6;
        TreeSet<Double> set = new TreeSet<>();
        for (int i = 1; i <= 500; i++) {
            set.add(test2.solve(1000, function, i, i+1));
        }

        for (Double s : set) {
            if (s > 0) {
                System.out.println(s);
            }
        }
    }
}

Exception in thread "main" 
org.apache.commons.math3.exception.NoBracketingException: function values at 
endpoints do not have different signs, endpoints: [1, 2], values: [0.841, 0.909]
        at 
org.apache.commons.math3.analysis.solvers.BrentSolver.doSolve(BrentSolver.java:133)
        at 
org.apache.commons.math3.analysis.solvers.BaseAbstractUnivariateSolver.solve(BaseAbstractUnivariateSolver.java:199)
        at 
org.apache.commons.math3.analysis.solvers.BaseAbstractUnivariateSolver.solve(BaseAbstractUnivariateSolver.java:204)
        at TestBrent.main(TestBrent.java:15)
Java Result: 1
BUILD SUCCESSFUL (total time:



> NoBracketingException send with valid brackets
> ----------------------------------------------
>
>                 Key: MATH-1238
>                 URL: https://issues.apache.org/jira/browse/MATH-1238
>             Project: Commons Math
>          Issue Type: Bug
>    Affects Versions: 3.5
>            Reporter: charles sitbon
>            Priority: Minor
>
> The brent solver sometimes send a NoBracketingException with valid brackets : 
> example for a beta distribution with large Beta (285) and alpha around 15
> Exception in thread "main" 
> org.apache.commons.math3.exception.NoBracketingException: function values at 
> endpoints do not have different signs, endpoints: [0, 1], values: [-0.15, 
> 0.85]
> the exception is actually caused by the yinitial which is Nan



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to