【发布时间】:2020-07-21 03:43:59
【问题描述】:
当使用scipy.optimize.root() 和参数jac = True 查找函数的根时,OptimizeResult.fjac 返回的雅可比值与解的雅可比不正确。
例如,
# objective function
def fun(x):
return [x[0] + 0.5 * (x[0] - x[1])**3 - 1.0, 0.5 * (x[1] - x[0])**3 + x[1]]
# function returns Jacobain at x
def jac(x):
return np.array([[1 + 1.5 * (x[0] - x[1])**2, -1.5 * (x[0] - x[1])**2],
[-1.5 * (x[1] - x[0])**2,
1 + 1.5 * (x[1] - x[0])**2]])
from scipy import optimize
sol = optimize.root(fun, [0, 0], jac=jac)
解收敛后sol.fjac和jac(sol.x)不一样?我无法从OptimizeResult 中理解fjac 的含义?
非常感谢任何见解和更正:)
【问题讨论】:
标签: python scipy scipy-optimize