2
scipy.optimize.minimize函數基本上實現了等價於MATLAB的'fminunc'函數,用於查找函數的局部最小值。scipy.optimize.minimize:一起計算hessian和梯度
在scipy中,漸變和Hessian的函數是分開的。
res = minimize(rosen, x0, method='Newton-CG',
... jac=rosen_der, hess=rosen_hess,
... options={'xtol': 1e-30, 'disp': True})
不過,我有它的Hessian和梯度份額相當多的計算的功能,我想計算Hessian和梯度在一起,以提高效率。在fminunc,目標函數可以寫返回多個值,即:
function [ q, grad, Hessian ] = rosen(x)
是否有一個函數傳遞到scipy.optimize.minimize,可以計算出這些元素結合在一起的好辦法?
謝謝,我懷疑SOLN將涉及某種GL的obal變量。似乎重寫_minimize_trust_ncg()函數以接收函數生成器中的所有三個函數(如fminunc)會很有用也很簡單。 – ejang