[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug-gsl] Fix bug in multimin/directional_minimize.c
From: |
Gallego Bonet, Guillermo |
Subject: |
[Bug-gsl] Fix bug in multimin/directional_minimize.c |
Date: |
Fri, 5 Mar 2010 20:38:30 -0500 (EST) |
Hi,
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).
Best,
Guillermo
- [Bug-gsl] Fix bug in multimin/directional_minimize.c,
Gallego Bonet, Guillermo <=