commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gilles Sadowski <>
Subject Re: [math] Why is LaguerreSolver.ComplexSolver private?
Date Fri, 09 Mar 2012 22:04:56 GMT

> Why
> was org.apache.commons.math3.analysis.solvers.LaguerreSolver.ComplexSolver
> made private in math 3.0? We used LaguerreSolver.solveAll() in version 2.1,
> it was deprecated in 2.2 without notice in the API that it would be
> removed, and now it's gone.

When something is deprecated, it means "Do not use it anymore!".

The reason it was removed is because it did not conform to the design
of classes in the package "analysis/solvers", where the interface assumes
that the solution is _one_  _real_ number (cf. method "solve").

"LaguerreSolver" doesn't fit into that mold and the code just looked like an
ugly workaround.
Commons Math 3.0 has been heavily cleaned up from many of those design

> The code is still all there, but just hidden from public access? Why?

The intention was to create another package (or just another interface?) so
that there would be an equivalent, for complex numbers, to what exists for
reals (i.e. "solve" methods with appropriate signatures).

> If
> there's something we should use instead, I don't see any indications from
> the code or JavaDocs.

There is probably none with 3.0.

Having raised an issue mentioning your worries about the deprecation would
have probably led to the above being implemented... Please file a report in
the issue tracking system.

In the meantime, you can still use version 2.2 of the library together with
3.0 (thanks to the packages name change).


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

View raw message