资源简介
用共轭梯度法实现求解线性方程组。
可以用来求解一般的线性方程组方程,程序清晰易懂。
代码片段和文件信息
#共轭梯度法
import numpy as np
def initialize(Ab):
row = A.shape[0]
col = A.shape[1]
x0 = np.zeros((row1))
return x0
def first_iteration(Ab):
x0 = initialize(Ab)
r0 = b - np.dot(Ax0)
p0 = r0
a0 = np.dot(r0.Tr0)/np.dot(r0.Tnp.dot(Ar0))
x1 = x0 + a0 * p0
return x0r0p0x1a0
def conj_grad_iterational(Abnum_iteration = 100epsilon1 = 10**(-6)epsilon2 = 10**(-6)):
x0r0p0x1a0 = first_iteration(Ab)
x = {}
r = {}
p = {}
a = {}
beta = {}
x[“x“ + str(0)] = x0
x[“x“ + str(1)] = x1
r[“r“ + str(0)] = r0
p[“p“ + str(0)] = p0
a[“a“ + str(0)] = a0
for i in range(1num_iteration):
r[“r“ + str(i)] = b - np.dot(Ax[“x“ + str(i)])
R = r[“r“ + str(i)]
beta[“beta“ + str(i-1)] = - np.dot(np.dot(p[“p“ + str(i-1)].TA)r[“r“ + str(i)])/np.dot(np.dot(p[“p“ + str(i-1)].TA)p[“p“ + str(i-1)])
p[“p“ + str(i)] = r[“r“ + str(i)] + beta[“beta“ + str(i-1)] * p[“p“ + str(i-1)]
P = p[“p“ + str(i)]
a[“a“ + str(i)] = np.dot(P.TR)/np.dot(np.dot(P.TA)P)
x[“x“ + str(i+1)] =
- 上一篇:使用pyqt5实现的Python-GUI动态作图
- 下一篇:BP神经网络马疝病数据集
相关资源
- 使用pyqt5实现的Python-GUI动态作图
- python简易jpeg编码
- 2018传智python 15期 视频教程 今年刚
- python 获取 去哪儿网 火车票信息
- python聊天室
- Python排序算法
- anaconda+python3.5
- 基于python实现的http接口自动化测试框
- jpype1for python3.6
- traits-4.6.0-cp36-cp36m-win_amd64.whl
- python svm算法源码
- python批量灰度化处理图片
- calendar.py
- Python最小二乘法拟合直线
- python五子棋双人对战
- pid code python
- python项目监控
- 声学语音处理 python 源码
- Python实现循环神经网络RNN
- python下元胞自动机的代码和相应的绘
- python 视频学习
- SIFT的Python 代码
- pythonympx.rar
- python selenium模块刷B站播放量
- pycuda 用于加速python 3.6
- 社团检测经典算法实现 python
- [『编程语言』] 小甲鱼零基础入门学
- tecplot二次开发
- 区块链入门学习代码 含完整挖矿、
- 随机森林做泰坦尼克号案例的Python实
评论
共有 条评论