利用minimize求解共轭梯度法求二次函数的极小点的python代码
时间: 2024-05-11 07:16:10 浏览: 48
共轭梯度法求解二元函数极小值
3星 · 编辑精心推荐
好的,以下是利用 minimize 求解共轭梯度法求二次函数极小点的 Python 代码:
```python
import numpy as np
from scipy.optimize import minimize
def func(x):
# 定义二次函数
return x[0]**2 + 2*x[0]*x[1] + 3*x[1]**2
def grad(x):
# 定义二次函数的梯度
return np.array([2*x[0] + 2*x[1], 2*x[0] + 6*x[1]])
x0 = np.array([1, 1]) # 初始值
res = minimize(func, x0, method='CG', jac=grad) # CG表示共轭梯度法
print(res.x) # 输出极小点
```
希望能解答您的问题。
阅读全文