当您指定“自动”选项时,检查Mathematica做出的选择

5
我正在对Mathematica中的数值优化方法进行基准测试,当我使用Method->Automatic规范与FindMinimum一起使用时,结果不一致。我想要做的是检查它选择的方法。我知道我可以使用AbsoluteOptions[]从某些输出(如Graphics对象)中提取选择,但是这在FindMinimum中不起作用。

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

无法正常工作。我能做到吗?


1
AbsoluteOptions 不像人们希望的那样起作用。请参见:https://dev59.com/V2855IYBdhLWcg3wiU31 作为示例。 - Mr.Wizard
1个回答

7
我认为除了阅读文档之外,没有一般的方法可以找到数值函数使用的方法。 无约束优化 的文档非常好。在那里它说:
使用Method -> Automatic时,Mathematica使用“拟牛顿”方法,除非问题在结构上是平方和,此时使用“高斯-牛顿”方法的Levenberg-Marquardt变体。当在每个变量中给出两个起始条件时,使用“主轴”方法。
此外,对于受限问题,使用内点方法。如果问题是线性的(目标和约束),将使用线性规划。 (LP本身有三种方法,取决于大小和其他特征。)

谢谢,我一直在想我是不是只是错误地使用了AbsoluteOptions,但我猜我只能在文档中搜索了。 - Jason Hite
@Jason AbsoluteOptions 旨在与具有选项的对象一起使用;例如 GraphicsNotebookObject。在像您建议的命令中,您实际上是将 FindMinimum 的输出传递给 AbsoluteOptions,因此我希望它能够正常工作。 - Mark McClure
@Brett 我碰巧正在电脑前等待 Wolfram Research 的一封电子邮件。 :) - Mark McClure

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接