commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gilles (JIRA)" <>
Subject [jira] Created: (MATH-439) Refactoring of solvers (package "analysis.solvers")
Date Fri, 12 Nov 2010 13:07:16 GMT
Refactoring of solvers (package "analysis.solvers")

                 Key: MATH-439
             Project: Commons Math
          Issue Type: Improvement
            Reporter: Gilles
            Priority: Minor
             Fix For: 3.0

The classes in package "analysis.solvers" could be refactored similarly to what was done for
package {{optimization}}.

* Replace {{MaxIterationsExceededException}} with {{TooManyEvaluationsException}}:
Apart from the class {{MaxIterationsExceededException}} being deprecated, this approach makes
it difficult to compare different algorithms: While the concept of iteration is algorithm-dependent,
the user is probably mostly interested in the number of function evaluations. 
* Implement the method {{solve}} in the base class ({{UnivariateRealSolverImpl}}) and define
an abstract method {{doSolve}} to be implemented in derived classes. This method would then
use a new {{computeObjectiveFunction}} method that will take care of the counting of the function
* Remove "protected" fields (the root is unnecessary since it is returned by {{solve}}). Arguingly
the function value is also not very useful (as we know what it should be), except for debugging
purposes (in which case, it might not be a problem to call the function's {{value}} method
once more).
* Remove the tolerance setter (accuracy) and make the corresponding fields "final".

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message