【问题标题】:Hessian using finite difference approach in PythonHessian 在 Python 中使用有限差分方法
【发布时间】:2019-09-18 05:05:01
【问题描述】:

可以说,我有一个函数z = x^2 + y^2。现在,我想在python中实现这个函数z的粗麻布。到目前为止,我已经使用下面给出的有限差分法计算了导数 -

def derivative(x, y, f, h):
    return [(f(x + h, y) - f(x - h, y )) / (2*h), (f(x , y + h) - f(x , y - h)) / (2*h)]

我不确定如何重用它来计算 Hessian。

【问题讨论】:

  • 对角项可以使用二阶有限差分f_xx = (f(x+h) - 2*f(x) + f(x-h))/(h^2)。对于非对角项,您可以通过x 导数和y 导数推导出表达式。

标签: python numerical-methods differentiation


【解决方案1】:

有一个更简单的方法:使用numdifftools 包。它具有Hessian 功能,可以满足您的需求。 Documentation

【讨论】:

  • 我想从头开始写。
猜你喜欢
  • 2017-08-09
  • 1970-01-01
  • 2021-12-18
  • 1970-01-01
  • 2013-09-30
  • 2016-01-11
  • 2015-08-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多