[ https://issues.apache.org/jira/browse/MATH-631?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13081242#comment-13081242 ]
Gilles commented on MATH-631: ----------------------------- {quote} Gilles, you obviously don't share the views that Luc and I have on implementing standard algorithms {quote} That's simply _not true_. I was the one pointing out that standard algorithms should have precedence: Please recall that it was considered fine that "Levenberg-Marquardt" and "Brent" would be, unknowingly to the user, "twisted" to perform _non-standard_ convergences check. In those cases, there was the risk that the result of the algorithm would not be the same as the reference implementation. In this case, there is no such thing as deviating from standard numerics! It was just a matter of throwing the right exception. So: "The algorithm fails? Let's tell it sooner rather than later." Very interesting question that you ask: "what it means to implement the algorithm". But please note that I asked it several posts ago[1], and an answer would have helped sort out this discussion. What is your definition? [1] 08/Aug/11 07:24 > "RegulaFalsiSolver" failure > --------------------------- > > Key: MATH-631 > URL: https://issues.apache.org/jira/browse/MATH-631 > Project: Commons Math > Issue Type: Bug > Reporter: Gilles > Fix For: 3.0 > > > The following unit test: > {code} > @Test > public void testBug() { > final UnivariateRealFunction f = new UnivariateRealFunction() { > @Override > public double value(double x) { > return Math.exp(x) - Math.pow(Math.PI, 3.0); > } > }; > UnivariateRealSolver solver = new RegulaFalsiSolver(); > double root = solver.solve(100, f, 1, 10); > } > {code} > fails with > {noformat} > illegal state: maximal count (100) exceeded: evaluations > {noformat} > Using "PegasusSolver", the answer is found after 17 evaluations. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira