Numpy 如何使用信任ncg进行scipy优化最小化

Numpy 如何使用信任ncg进行scipy优化最小化,numpy,optimization,scipy,minimize,scipy-optimize-minimize,Numpy,Optimization,Scipy,Minimize,Scipy Optimize Minimize,我的任务是使用scipy.opt.minimize的'trust-ncg'方法。 我已经给出了函数的输出f(x,y)。我在函数中手动查找雅可比矩阵。所以,还有黑森人。简而言之,它是: def foo(参数): x、 y=参数 返回x*x+y def df(参数):#雅可比 x、 y=参数 返回np.array([2*x,1]) def hf(参数):#hessian x、 y=参数 返回np.array([[2,0],[0,0]) 那么,我的尝试是: res=选择最小化(foo[1,1],ja

我的任务是使用
scipy.opt.minimize
'trust-ncg'
方法。 我已经给出了函数的输出
f(x,y)
。我在函数中手动查找雅可比矩阵。所以,还有黑森人。简而言之,它是:

def foo(参数):
x、 y=参数
返回x*x+y
def df(参数):#雅可比
x、 y=参数
返回np.array([2*x,1])
def hf(参数):#hessian
x、 y=参数
返回np.array([[2,0],[0,0])
那么,我的尝试是: res=选择最小化(foo[1,1],jac=df,hess=hf,method='trust-ncg',tol=1e-10)

我收到:
value错误:形状(2,11)和(2,11)未对齐:11(尺寸1)!=2(尺寸0)

我在玩公差,如中所示。如果我将公差设置为1,我将只进行1次迭代,但然后我将简单地返回一条直线,这不是我的目标。 我还尝试更改函数参数的顺序,但没有达到预期效果。我尝试了hessian的其他版本,如1d数组,但对我没有帮助。我还尝试将jacobian类型设置为[[0]、[1]]。同样,没有效果


如何正确地使用信任ncg调用scipy opt最小化?

我在“XX/XX/.local/lib/python3.8/site packages/scipy/optimize/\u trustregion\u ncg.py”第90行中看到,在solve dBd=np.dot(d,Bd)中,您使用的是哪个版本的scipy(参见
scipy.\u version\uuu
)?您的示例代码在这里运行良好。您从哪里获得11?