[ 
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.

Reply via email to