[ 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)