python实现QR法解线性方程组
来源:互联网 发布:以太网传输数据PLC 编辑:程序博客网 时间:2024/06/06 01:35
QR(正交三角)分解法是目前求一般矩阵全部特征值的最有效并广泛应用的方法,一般矩阵先经过正交相似变化成为Hessenberg矩阵,然后再应用QR方法求特征值和特征向量。它是将矩阵分解成一个正规正交矩阵Q与上三角形矩阵R,所以称为QR分解法,与此正规正交矩阵的通用符号Q有关。测试所用b为全1矩阵。
import numpy as npA = np.zeros((100, 100))for i in range(100): #generate A for j in range(100): if (i == j): A[i, j] = 2 if (abs(i - j) == 1): A[i, j] = A[j, i] = -1b = np.ones((100, 1)) #generate bprint("QR x:")Q=np.zeros_like(A) #Q.shape=A.shapew = 0for a in A.T: u = np.copy(a) for i in range(0, w): u -= np.dot(np.dot(Q[:, i].T, a), Q[:, i]) ex = u / np.linalg.norm(u) Q[:, w] = ex w+= 1R = np.dot(Q.T, A) # A=Q*RN=np.dot(Q.T,b)x2=np.linalg.solve(R,N) # Rx=Q.T*bprint(x2) #solve xprint("done QR!")
阅读全文
0 0
- python实现QR法解线性方程组
- QR分解求线性方程组的解
- C语言实现直接法解线性方程组
- 用Python实现QR二维码的生成
- Python+numpy实现矩阵QR分解
- 追赶法解线性方程组
- 求解线性方程组(SVD,QR,Gauss,LU)
- 【算法】 C/C++实现直接法解线性方程组
- java实现高斯赛德尔算法解线性方程组
- java实现SOR算法解线性方程组
- 平方根法求解线性方程组(C++实现)
- 矩阵的QR分解(三种方法)Python实现
- python 解析线性方程组
- Java实现的LU分解,高斯消去法求线性方程组的解
- QR二维码--实现代码
- 高斯消去法解线性方程组
- Gauss消去法解线性方程组(Matlab)
- 实验一 直接法解线性方程组(android)
- iPhone X 为啥弃 TouchID?
- Python-爬取网页信息
- 使用Eclipse构建Spark Java集成开发环境
- Java设计之日期格式的转换
- 一位资深程序员大牛给予Java初学者的学习路线建议
- python实现QR法解线性方程组
- 关于java中如何复制字节数组
- go开发环境Gogland
- opencv的svm学习_字符识别
- 下载JavaMail的jar包
- Glide使用注意事项
- Linux常用文件和文本管理命令
- centos7 yum仓库找不到
- NOIP模拟题 大奖赛