commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gilles <>
Subject Re: [Math] MullerSolver2 does not respect initial bracketing
Date Sat, 12 Mar 2016 02:34:25 GMT

On Fri, 11 Mar 2016 17:50:59 -0800, Connor Petty wrote:
> I've been doing some investigation regarding MATH-1333 and I cam 
> across
> some bounds issues in MullerSolver and MullerSolver2. There are a few 
> test
> cases I've created which cause these solvers to return values outside 
> of
> their initial bracket. I've created fixes for MullerSolver but
> MullerSolver2 baffles me. MullerSolver is more or less an 
> implementation of
> the algorithm you can find at 
> while MullerSolver2 is an implementation of the algorithm at
> But the major 
> difference
> between MullerSolver 1 & 2 is that MullerSolver2 was designed to work
> without bracketing. This turns out to make it fairly easy to make it 
> return
> faulty values.
> Now my question is: How much should these solvers stick to their 
> original
> algorithms?

Or the name and documentation of the class must clearly reflect that
it is a variation.

> If the original algorithm is flawed should solver exhibit those
> same flaws?

Yes (if the flaw is in the algorithm itself, not just in the 
e.g. because the expected properties assume infinite precision).

But whenever possible the implementation should (_must_, IMHO) check 
it has not hit one of its own limitation, and "fail early".

> There is some precedent for that in SecantSolver which has the same
> guarantees of convergence as the original algorithm (which has none).
> But MullerSolver2 is clearly a patched version of the algorithm

Do you have the possibility to check another implementation of that
Since the Javadoc says that the original deals with complex values but 
avoids it, I wonder whether this could be the problem.

> it is based
> off of and exhibits some very characteristic flaws from the original
> algorithm. Should MullerSolver2's bounds issue be fixed or should 
> that
> issue just be accepted a limitation of that algorithm?

Cf. above.

Best regards,

> Best Regards,
> Connor Petty

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message