This is the mail archive of the
gsl-discuss@sourceware.cygnus.com
mailing list for the GSL project.
Re: multidimensional optimization
Polymorphism using "flags" is undesirable. It would be best to
provide a custom 1d-minimizer in the N-dimensional code to handle the
case of minimization without an enclosing interval.
Alternatively, there is the strategy used in Numerical Recipes -- find
an enclosing interval (by some method) first and feed it to an
existing bracketing algorithm.
> We can use something like:
> typedef struct
> {
> const gsl_min_fminimizer_type * type;
> gsl_function * function ;
> double minimum ;
> double f_minimum ;
> unsigned char is_f_minimum; /* is it the correct way to make a flag? */
> gsl_interval interval ;
> double f_lower;
> unsigned char is_f_lower;
> double f_upper;
> unsigned char is_f_upper;
> void *state;
> }
> gsl_min_fminimizer;