Hi Liam,
As a very simple example, consider the function F(x1 x2) = x1^2 + x2^3:
You're trying to minimize a cubic?
Ha! Whoops. Clearly I should have come up with a less-clueless example. The (non-polynomial) functions that I'm actually trying to minimize do have minima.
There was definitely a bug in the multidimensional minimizer code, which I've now fixed, so do a fresh pull of master.
Thanks very much, that's done the trick.
However, you are giving it a function which has no minimum, because the cubic is unbounded negative. I was kind of hoping GSL would alert you to this fact, but in fact it gets a "solution" which is a bit hard to explain (and definitely not a minimum).
That is kind of confusing. Indeed, after several iterations, gsll:solution actually returns a location that has a larger function value than a location that has been returned on a previous iteration, which kind of puts the lie to the libgsl documentation's claim that gsl_multimin_fdfminimizer_x returns the best estimate of the location of the minimum at all times. Unless they have some notion of "best estimate of the location of the minimum" that does not include "the location where I have computed the smallest value so far".
Thanks again for the speedy fix! James