On 12 Oct 2010, at 08:10, Brian Gough wrote: > At Fri, 08 Oct 2010 12:07:18 -0500, > Johan Hattne wrote: >> While comparing two different implementations of a multidimensional >> optimiser I noticed the backtracking algorithm implemented in >> intermediate_point() in GSL's multimin/directional_minimize.c. It's not >> obvious to me why the step size is decreased the way it is, i.e. >> >> step <- 0.5 * step * u / (df + u) >> >> where u is the length of the step along the line on which a minimum is >> sought, and df = f(x0 + u) - f(x0). Could anyone enlighten me as to >> what's the rationale behind this? > > It looks like the minimum of a quadratic given f(x0), f'(x0) and f(x0+u).
Ah... now I see (I think)! As far as I can tell then, intermediate_point() is equivalent to the lnsrch() function (under the "Line Searching and Backtracking" heading of section 9.7 the Numerical Recipes) with the exception that it doesn't switch to a cubic approximation on subsequent backtracks, and that the stopping criterion is not "Armijo-like". Correct? // Best wishes; Johan _______________________________________________ Help-gsl mailing list [email protected] http://lists.gnu.org/mailman/listinfo/help-gsl
