This is the mail archive of the gsl-discuss@sourceware.cygnus.com mailing list for the GSL project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

multimin question


Hi,

I've been exploring the `multimin' parts of GSL and I've run into
something I don't understand.  I recrafted the guts of multimin/test.c
to minimize a simple paraboloid:

f = (x - 0.5)^2 + (y + 0.75)^2

So far, so good - you get an answer for the location of the minimum
you'd expect: f(0.5, -0.75) ~ 0.0.  Also, the determination of the
location of the minimum is insensitive to the starting point and any
of the other parameters I chose to tweak.  I added a constant to `f':

f = (x - 0.5)^2 + (y + 0.75)^2 + 1.0

and started getting errors like these:

gsl: ../../gsl/multimin/fdfminimizer.c:300: ERROR: function not
continuous

or

gsl: ../../gsl/min/fsolver.c:140: ERROR: endpoints do not enclose a
minimum

or sometimes I get the right answer.  It depends on the details of the
starting guess for (x,y), the value of the constant, and the values I
feed to `gsl_multimin_fdf_minimizer_bracket'.  I realize the multimin
code is under development, but does this sound familiar to anyone?  Do
the minimization algorithms require that f(x) = 0 at the minimum in
order to work properly?  That doesn't seem to be the case for the 1D
algos, but is it true of the multidim ones?  I can supply the exact
code I'm using if anyone's interested.  Help or advice appreciated.

Cheers,
Dave
-- 
David Morrison  Brookhaven National Laboratory  phone: 631-344-5840
                Physics Department, Bldg 510 C    fax: 631-344-3253
		          Upton, NY 11973-5000  email: dave@bnl.gov

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]