[
https://issues.apache.org/jira/browse/MATH-631?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13081633#comment-13081633
]
Gilles commented on MATH-631:
-----------------------------
Also:
Phil,
Could you please leave out dismissive qualifiers such as "pointless" and
"pathetic" (and, elsewhere, "silly") and stick to more or less objective
arguments?
That will certainly help keep the conversation tone to a courteous level.
Luc,
Thanks for stating in full details what you meant by "convergence" in this
case. However, it is still a "post-mortem" description.
Do you really expect that the average user of the CM library (a.o. me and the
original reporter of the issue) to be able to figure out that "obvious"
explanation just by getting a "TooManyEvalutationsException", setting the
along-x accuracy threshold to a ridiculously high value and still getting the
same exception?
If just for educational purposes, don't you think that it is more instructive
to get a specific hint that the algorithm is stuck, rather than hit the
ultimate fail-safe barrier much much later, and then download the source code
and sprinkle the code with "println" statements to do forensic analysis?
Phil,
I tried to handle this issue out of respect for a real user who reported an
issue that would have looked suspicious to many CM users. [How many of them
would be experts in numerical analysis?]
You do not do me a favour by removing this algorithm; I don't want it to be a
_compromise_ (pathetic or not). If you prefer to keep it, I don't care anymore.
But, in that case, _you_ should have answered to Axel Kramer to go and read
some books on numerical analysis.
> "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