2

我最近开始使用 scipy.optimize 并且我不清楚为什么在 fmin_cg 中,在启动时,根据当前函数值将函数的“先前”值设置为固定值

xk = x0
old_fval = f(xk)
old_old_fval = old_fval + 5000

这绕过了代码中稍后处理(更正确?)这种情况的行搜索功能的方式。当然应该说:

xk = x0
old_fval = f(xk)
old_old_fval = None

还是我错过了什么?

4

1 回答 1

0

是的,应该是None。再看一下代码,这两个值似乎都导致1.0用作初始步长,但是即使碰巧起作用,代码中的“魔术”数字也只是不好的风格。

想要提交补丁?(不过,现在我们更喜欢对补丁进行小的更改的拉取请求,但这并没有更多的工作。)

于 2013-04-13T12:26:42.703 回答