Details
-
Task
-
Status: Resolved
-
Minor
-
Resolution: Implemented
-
3.0
-
None
-
None
Description
Class "AbstractLeastSquares" (in package "o.a.c.m.optimization.general") has a lot of "protected" fields that are modified by its subclasses (e.g. "LevenbergMarquardt"). This decreases encapsulation which in turn makes the code more difficult to understand and modify.
I propose to deprecate (in 3.1) and remove or make "private" (in 4.0) all fields that could be hidden or should be modified through setter methods.
Part of the code could also be more readable (and self-documenting) by making use of higher-level constructs such as "RealMatrix" rather than using explicit loops.