You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Gilles (JIRA)" <ji...@apache.org> on 2010/08/11 13:10:17 UTC
[jira] Updated: (MATH-404) Confusing interface for
"LevenbergMarquardtOptimizer"
[ https://issues.apache.org/jira/browse/MATH-404?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Gilles updated MATH-404:
------------------------
Fix Version/s: 3.0
(was: 2.2)
I'm trying to define a more general "ConvergenceChecker" interface. This is an incompatible change.
> Confusing interface for "LevenbergMarquardtOptimizer"
> -----------------------------------------------------
>
> Key: MATH-404
> URL: https://issues.apache.org/jira/browse/MATH-404
> Project: Commons Math
> Issue Type: Bug
> Affects Versions: 2.1
> Reporter: Gilles
> Assignee: Gilles
> Fix For: 3.0
>
>
> {{LevenbergMarquardtOptimizer}} inherits from {{AbstractLeastSquaresOptimizer}} which in turn implements {{DifferentiableMultivariateVectorialOptimizer}}. That interface mandates methods for setting and getting a {{VectorialConvergenceChecker}}.
> In v2.1, however, that checker is never used! The convergence check is performed using parameters specific to the Levenberg-Marquardt algorithm. Such circumvention of the superclass interface is confusing and leads to totally unexpected behaviour (such as changing the values of the thresholds of the {{VectorialConvergenceChecker}} being ineffective).
> In the development version, the default constructor of {{LevenbergMarquardtOptimizer}} sets the the {{VectorialConvergenceChecker}} field to "null" and when such is the case, the behaviour is as in v2.1. Although it is documented, this is still confusing since it is impossible to use {{LevenbergMarquardtOptimizer}} through its {{DifferentiableMultivariateVectorialOptimizer}} interface: When using the {{VectorialConvergenceChecker}}, one does not know what parameters to use in order to reproduce the results obtained with the LM-specific convergence check (i.e. how to reproduce the result from v2.1).
> Unless I'm missing something, I think that there should be an LM-specific implementation of {{VectorialConvergenceChecker}} that, when given the usual relative and absolute thresholds, can perform a check that will give the same result as the currently specific check (when the "checker" field is "null").
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.