commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dimitri Pourbaix <>
Subject Re: [math] major problem with new released version 3.1
Date Sun, 30 Dec 2012 18:38:04 GMT

> In my opinion is that the whole weights fiasco is consequence of
> improper design, as much as anything else. All components should be
> as simple as possible, with any additional add ons, like weights,
> not added to the base implementation, but instead done as an extension
> of these classes. If these was done, all the optimisation packages
> would have been just fine, and only the extension classes would need
> fixing.
> I am very against having a correlation function be an input to the
> basic optimiser. The eigendecomposition of the matrix is an O(N^3)
> operation, which could be actually more expensive than the whole
> optimization. In addition you are doing this inversion every time you
> call the optimize method. If you are trying to do multiple starting
> points, you are forcing an inversion to be done each time.

Rather than (or besides) an improper design, CM also tries to combine
pears and apples in a single scheme.

A typical unconstrained optimization problem assumes g, a function from
R^n to R.  A general optimization algorithm takes g for sure.  Depending
on the nature of g (continuous, differentiable, linear or not, ...),
the different algorithms might need more (g, its gradient, its Hessian
matrix, a starting point, ...).  There is no notion of weight there.

Curve fitting (whether is the 1-norm, 2-norm or infinity-norm) can be
seen as a minimisation problem in which case. once again, one needs g
(e.g. the sum of the residual squared, ...), its gradient, a starting
point, ... depending on the algorithm adopted.  However, some specific
algorithms are designed for curve fitting only, e.g. Levenberg-Marquardt,
and rely upon the availability of the model function f, the series of
observations, a starting point, a weighting scheme, ...

In optimization, the user supplies the function to be minimised.  In curve
fitting, the user supplies a series of observations and the model to be
fitted.  Trying to combine both into a unique scheme (how highly abstract
it is) is simply misleading.

Dimitri Pourbaix                         *      Don't worry, be happy
Institut d'Astronomie et d'Astrophysique *         and CARPE DIEM.
CP 226, office 2.N4.211, building NO     *
Universite Libre de Bruxelles            *      Tel : +32-2-650.35.71
Boulevard du Triomphe                    *      Fax : +32-2-650.42.26
  B-1050 Bruxelles                        *        NAC: HBZSC RG2Z6     *

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

View raw message