目录
- 一元函数到多元函数的牛顿迭代法
- python代码实现过程
一元函数到多元函数的牛顿迭代法
一元函数的牛顿迭代公式:

多元函数的牛顿迭代公式:

其中Hession矩阵为:

python代码实现过程
- 计算梯度函数
使用了sympy库的diff函数计算导数,再代入具体数值进行计算,返回X处的梯度grad
# 求解梯度值
def get_grad(f, X):
# 计算一阶导数
f1 = diff(f, x1)
f2 = diff(f, x2)
# 代入具体数值计算
grad = np.array([[f1.subs([(x1, X[0]), (x2, X[1])])],
[f2.subs([(x1, X[0]), (x2, X[1])])]])
return grad
- 计算Hession矩阵函数
同样使用diff函数计算二次偏导,组成Hession矩阵(里面的括号、中括号要盯对清楚)
# 求解Hession矩阵
def get_hess(f, X):
# 计算二次偏导
f1 = diff(f, x1)
f2 = diff(f, x2)
f11 = diff(f,x1,2)
f22 = diff(f,x2,2)
f12 = diff(f1,x2)
f21 = diff(f2,x1)
# 计算具体数值计算
hess = np.array([[f11.subs([(x1,X

本文介绍了一元函数到多元函数牛顿迭代法的基本原理,并提供了详细的Python代码实现过程。利用SymPy库进行符号计算,求解梯度与Hessian矩阵,进而实现牛顿迭代求最小值。

1048

被折叠的 条评论
为什么被折叠?



