bug-gsl
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Bug-gsl] Fix bug in multimin/directional_minimize.c


From: Brian Gough
Subject: Re: [Bug-gsl] Fix bug in multimin/directional_minimize.c
Date: Fri, 12 Mar 2010 11:56:33 +0000
User-agent: Wanderlust/2.14.0 (Africa) Emacs/22.1 Mule/5.0 (SAKAKI)

At Fri, 5 Mar 2010 20:38:30 -0500 (EST),
Gallego Bonet, Guillermo wrote:
> I think it would be wise to replace, inside function
> intermediate_point(), the condition
> 
> if (fb >= fa && stepb > 0.0)
> 
> by
> 
> if (fb >= fa && stepb > STEP_TOL)
> 
> where one could define the tolerance to be any value related to the
> machine precision. I used
> 
> #define STEP_TOL 1e-7
> 
> I tested the Fletcher-Reeves and PR algorithms (
> gsl_multimin_fdfminimizer_conjugate_fr(), ... ) to minimize an
> expensive cost function in R^4 and I was surprised that the function
> gsl_multimin_fdfminimizer_iterate() would take so long to return. I
> found out it was because the line minimization routine was testing
> many smaller and smaller steps (up to 10^-186 !!, which I believe is
> totally unnecessary in any practical situation).

Thanks for the bug report.  I agree the test could be stricter -- I
think the correct approach is to return when the step is small enough
that it does not alter the trial vector.

-- 
Brian Gough

GNU Scientific Library -
http://www.gnu.org/software/gsl/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]