资源简介
用共轭梯度法实现求解线性方程组。
可以用来求解一般的线性方程组方程,程序清晰易懂。
代码片段和文件信息
#共轭梯度法
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神经网络马疝病数据集
相关资源
- python+ selenium教程
- PycURL(Windows7/Win32)Python2.7安装包 P
- 英文原版-Scientific Computing with Python
- 7.图像风格迁移 基于深度学习 pyt
- 基于Python的学生管理系统
- A Byte of Python(简明Python教程)(第
- Python实例174946
- Python 人脸识别
- Python 人事管理系统
- 基于python-flask的个人博客系统
- 计算机视觉应用开发流程
- python 调用sftp断点续传文件
- python socket游戏
- 基于Python爬虫爬取天气预报信息
- python函数编程和讲解
- Python开发的个人博客
- 基于python的三层神经网络模型搭建
- python实现自动操作windows应用
- python人脸识别(opencv)
- python 绘图(方形、线条、圆形)
- python疫情卡UN管控
- python 连连看小游戏源码
- 基于PyQt5的视频播放器设计
- 一个简单的python爬虫
- csv文件行列转换python实现代码
- Python操作Mysql教程手册
- Python Machine Learning Case Studies
- python获取硬件信息
- 量化交易(附python常见函数的使用方
- python 名字用字排行
评论
共有 条评论