Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Checking what choices Mathematica makes when you specify "Automatic"

So I'm doing some benchmarking of a method for numerical optimization in Mathematica and I'm getting some inconsistent results when I use the Method->Automatic specification with FindMinimum. What I want to do is check what method it is choosing. I know I can use AbsoluteOptions[] to extract the choices from a some output, like a Graphics object, but this doesn't work with FindMinimum, ie

AbsoluteOptions[ Findminimum[ f[x], {x, 0.}, Method->Automatic ], Method ]

doesn't work. Can I do this?

like image 601
Jason Hite Avatar asked Jun 02 '11 15:06

Jason Hite


1 Answers

I don't think there is a general way to find what method is used by numerical functions, other than reading the documentation. The documentation on unconstrained optimization is pretty good, though. There it says:

With Method -> Automatic, Mathematica uses the "quasi-Newton" method unless the problem is structurally a sum of squares, in which case the Levenberg-Marquardt variant of the "Gauss-Newton" method is used. When given two starting conditions in each variable, the "principal axis" method is used.

Additionally, for constrained problems the interior point method is used. If the problem is linear (objective and constraints) linear programming will be used. (LP itself has, I think, three methods that are used, depending on size and other features.)

like image 114
Mark McClure Avatar answered Sep 28 '22 14:09

Mark McClure