Levenberg-Marquardt: stop condition


alphab
11-28-2002, 09:38 AM
I have this problem with the Levenberg-Marquardt routines:
1. mrqmin: Upon a unsuccessful try with a parameter set, lamda is increased and the old chi-square value returned. No problem with that.
2. In the example program (at least in an old pascal version), a stop condition is used that checks if the difference between the old chisquare value and the new one is smaller than a given amount.

Now, if mrqmin returns the old chisquare value as new one, obviously the difference is zero and convergence is pretended, even though this is not the case.

Anybody agree?
Has someone elaborated a rock-solid stop condition?

Thanks in advance

jkempner
01-07-2003, 09:18 AM
The stop condition you suggested is halfway there:

In addition to checking the new value of chi-squared against the old one, you should check to see if lamda has increased. The stop condition is therefore satisfied only if the change in chi-squared is less than some minimum value AND lamda has decreased.