[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Help-gsl] Rationale behind intermediate_point()
From: |
Johan Hattne |
Subject: |
Re: [Help-gsl] Rationale behind intermediate_point() |
Date: |
Tue, 19 Oct 2010 09:09:46 -0500 |
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