快速提问:使用scipy.optimize.minimize tol参数的默认值

问题描述

我一直在浏览scipy.optimize.minimize的文档中查找参数tol认值,但是here唯一的参数描述是>

终止公差。要进行详细控制,请使用特定于求解器的选项。

我需要一种为参数分配认值的方法,因为我希望用户选择是否要设置自定义公差。如果不应该设置公差,则我不知道要在变量中添加什么。同样,它也不是特定于方法的,因为用户也可以选择方法。 如果知道认值,我会节省很多时间,因为有很多不同的最小化调用-> if语句会使代码非常丑陋,并且时间更长。谢谢!

解决方法

您可以看到here以最小化方式处理tol参数。默认值是特定于方法的。例如,对于Nelder-Mead,它们是xatol=1e-4,fatol=1e-4。您应该检查所有方法here。 (它们被命名为_minimize_methodname。)我认为没有办法设置全局tol