commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gilles Sadowski <gil...@harfang.homelinux.org>
Subject Re: [math] MullerSolver() empty constructor deprecated. Replacement?
Date Wed, 20 Apr 2011 11:30:50 GMT
On Wed, Apr 20, 2011 at 11:46:32AM +0100, Nick Fortescue wrote:
> On 20 April 2011 11:45, Gilles Sadowski <gilles@harfang.homelinux.org> wrote:
> > Hello Nick.
> >
> >> MullerSolver() and other Univariate solvers (NewtonSolver,
> >> SecantSolver) have had their no argument constructor deprecated. In
> >> the deprecation comment it says "to be removed in 3.0". I can see no
> >> mention in the javadocs for commons-math 2.2 or 3.0 of any replacement
> >> mechanism for constructing, and the method still exists in the 3.0
> >> javadoc.
> >> I can think of 4 possibilities:
> >>
> >> 1) The deprecation of this method was a mistake and added at the same
> >> time as the constructor which took a function.
> >> 2) The proposal is that construction be moved to a factory class, but
> >> the Factory class has not been added yet.
> >> 3) There is an alternative way of constructing a MullerSolver I
> >> haven't found yet.
> >> 4) Deprecation has been decided with no migration route yet decided upon.
> >>
> >> Can anyone tell me which of these is correct, or a fifth option, and
> >> tell me how code which uses "new MullerSolver()" should be changed?
> >>
> >> I really hope it isn't 4! My guess is 2, as SecantSolver has
> >> UnivariateRealSolverFactoryImpl.newSecantColver(). While I might
> >> disagree with this design (force the use of the Factory) at least
> >> there is the hope of migration.
> >
> > It's not 2) because "UnivariateRealSolverFactory" has been removed in the
> > development code. Cf. https://issues.apache.org/jira/browse/MATH-439
> >
> > The indication of future removal was a mistake: A default constructor still
> > exist (setting a default value for the absolute accuracy) but it does not
> > behave as in 2.2 (where there was also a default "maximum iteration count",
> > which is now replaced with a "maximum evaluation count" to be passed to the
> > "solve" method).
> >
> >
> > Best regards,
> > Gilles
> 
> Thanks for clarifying Gilles. Is there any chance of getting the
> @deprecated out of a 2.2 release? We try and keep our deprecated
> warning count down in our codebase, and this has hit us with a lot.
> Similarly for Secant, Newton etc? 

Unfortunately, there probably won't be any 2.2.x release. [The 2.2 release
has already much delayed the release of the upcoming 3.0.]

> Should I add this to the Math-439
> issue?

I think that it would be clearer to open a new issue.


Sorry for the inconvenience,
Gilles

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@commons.apache.org
For additional commands, e-mail: user-help@commons.apache.org


Mime
View raw message