Robert,
Yes, h() is flat around its maximum. I also thought that's a good
thing. Like you, I tried making the lbfgs tolerance 1e-5, but that
didn't do anything. I tried 1e-6, and then the line searches failed.
So if you could take a look, I'd appreciate it.
On a related subject: there is a rather sophisticated, public-domain
optimization code called "ipopt" (interior point method for constrained
nonlinear optimization, https://projects.coin-or.org/Ipopt), which is
being actively developed. ipopt is written in C++, but claims to have a
Fortran interface, which, I assume, could be translated with f2cl.
Does this sound like a feasible (in the non-optimization sense :-))
project for Maxima?
Kostas
Robert Dodier wrote:
> On 5/18/07, Kostas Oikonomou <ko at research.att.com> wrote:
>
>> h(x,y,z,w) := x*log(x) + y*log(y) + z*log(z) + w*log(w)
>
>> [x=.2407,y=.1277,z=.3157,w=.3157]
>
>> [[x=.242568,y=.126157,z=.321001,w=.321001],
>> %lambda=[.114847,.114847|]
>
> Kostas, it appears that h is nearly flat around these points --
> although the points are not close, h(x, y, z, w) is almost the
> same. That's good news in the sense that the solution
> is not sensitive to small errors in the estimates.
>
> That said, I would have expected that it is possible to get
> closer by making lbfgs_tolerance smaller and/or increasing
> niter, but that doesn't appear to be the case; almost the
> same result is obtained for various values of those parameters.
> I don't know if that's to be expected for this method, or if
> there is a programming bug. I'll take a look at it this weekend.
>
> Sorry I can't be more helpful,
>
> Robert Dodier