[
https://issues.apache.org/jira/browse/MATH-631?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13080673#comment-13080673
]
Phil Steitz commented on MATH-631:
----------------------------------
I think we should either stick with the standard implementation of Regula Falsi
or drop the class altogether. Different rootfinders are going to perform
better / worse for different functions and parameter values and I don't think
it is a good idea to try to modify our implementations of the algorithms to try
to work around their shortcomings for problem instances for which they are not
well-suited. It is much better to stick with standard algorithms, document
them, and leave it to users to choose among implementations.
Regula Falsi is not a good general-purpose rootfinder, but it does perform well
for some problems (or parts of problems) and the original submission was a
working implementation, so I would say revert the changes and keep it.
> "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