On 20 April 2011 11:45, Gilles Sadowski <[email protected]> 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? Should I add this to the Math-439 issue? Nick --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
