【发布时间】:2018-01-03 14:25:04
【问题描述】:
Scipy optimize.newton 的初始步长硬编码为 1e-4。以不同的步长(理想情况下,指定为参数)使用此函数的最佳方法是什么?
# https://github.com/scipy/scipy/blob/v0.19.0/scipy/optimize/zeros.py#L160
else:
# Secant method
p0 = x0
if x0 >= 0:
p1 = x0*(1 + 1e-4) + 1e-4
【问题讨论】:
-
如果您确定这是一个有用的功能(非常非常肯定),您可以打开一个功能请求并要求将初始步长添加到参数中。更好的是,您可以通过将
1e-4替换为initial_step(或其他东西)之类的变量来自己修复它,并将其添加到您安装的 scipy 版本中,并告诉 scipy 的人您做到了,他们会如果他们认为合适,将其合并到分布式版本中(不是真正的 github 合并请求专家,抱歉不准确)
标签: python optimization scipy newtons-method