I'm a bit confused about how to use vnl_levenberg_marquardt properly. Although it wraps an f2c-ized lmder and lmdif, it appears to behave differently than the Fortran. When I ran the Rosenbrock example, although it got the right answer, it exceeded the maximum number of iterations (300). This seems to be different behavior than that of the Fortran version in lmder_test.f, which terminates successfully in 21 function evaluations. How does the usage of set_x_tolerance(), set_f_tolerance(), and set_g_tolerance() differ from xtol, ftol, and gtol parameters in an lmder or lmdif call?