Re: [eigen] Levenberg Marquardt parameters

[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]



lmder1() and similar functions are not really 'deprecated'. It's only that they should be used only when porting old stuff from minpack. They dont provide more (only default values) and are less c++/eigenish.


It is not possible to make the default maxfev() parameter depends on functor.values() because this involves a call to a function, which is not possible when initializing a default value.


I understand your problem here, but there's nothing more i can do that ask people to set their own maxfev value. Maybe i should juste remove the default value and force people to provide one ?

Generally speaking, you should always think a lot about the maxfev value, especially if you get TooManyFunctionEvaluation!

A 'normal' end condition is RelativeReductionTooSmall, maybe RelativeErrorTooSmall or RelativeErrorAndReductionTooSmall. The last ones are really borderline, almost ill-coniditionned cases (despite UserAsked, of course :).

regards,

Thomas

--

Thomas Capricelli <orzel@xxxxxxxxxxxxxxx>

http://www.freehackers.org/thomas


On Sunday 19 June 2011 23:46:32 Koldo Ramirez wrote:

> Doing this change, the system converged with good results after nfev == 1619..., What a relief !

>

> In http://eigen.tuxfamily.org/dox-devel/unsupported/group__NonLinearOptimization__Module.html you state that all minpack methods like lmder1() are deprecated.

>

> From your experience, could you include the better way to initialize the params., adapted to the number of equations and unknowns?



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/