全主元三角分解
来源:互联网 发布:淘宝主播 编辑:程序博客网 时间:2024/05/16 12:58
对于一个非奇异的矩阵而言(非奇异!非奇异!非奇异!非奇异!重要的事情说三遍!!!),全主元三角分解是一个较为‘“靠谱”的方法,它的靠谱体现在最终的分解结果上,它对计算机精度的要求相对而言较低。
全主元三角分解是一般的高斯LU的一种改进,它在选取消去过程中的主元的时候,选取子式中元素的绝对值中的最大元(具体哪个子式...enn...看教材去^_^),也就是说,相对于一般的高斯LU分解,全主元LU分解在分解过程中,会有一系列的置换矩阵P&Q(P=pr*pr-1...*p1;Q=q1*q2...*qr)。
一般的全主元三角分解最终结果可由下式来描述:
PAQ=LU
其中:L=P(Ln-1Pn-1......L2P2L1P1),为下三角矩阵,U为上三角矩阵.
通常,全主元三角分解最主要的用途就是求解系数矩阵为满秩的线性方程组,例如:
Ax=b
将PAQ=LU带到上式,进行适当的转化,可将上式转化为:
Ly=Pb
UQ^(-1)x=y
然后再应用前代法及回代发即可完成对线性方程组的求解,相比于其他的方法而言,这种方法得到的解较为精确。
Ps:第一次写博客,隐隐还有点小激动呢,哎呀,,,不能暴露我话痨的本质,我可是高冷帅气男呢,,,enn..第一次就这么多吧
matlab代码实现:
%%输入要分解的非奇异矩阵(方阵)A=input('please enter the coefficient matrix:'); %%对所给矩阵进行分解[X,Y]=size(A); %求矩阵的阶数 I=eye(X); %生成单位矩阵,为后面置换矩阵的生成及其他做准备p=1; %后面要用到的常量q=1; %同上lp=1; %同上for jj=1:X-1 love1=zeros(X); %变量的及时更新 lk=zeros(1,X); %同上 love1(jj:X,jj:X)=abs(A(jj:X,jj:X)); %将子式中的元素都变为非负 love2=max(max(love1)); %求子式的绝对值最大值 [x,y]=find(love1==love2); %确定绝对值最大值元素所在的位置(位置可能有好几个) row=x(1); %行位置 col=y(1); %列位置 P=I; zj1=P(:,jj); P(:,jj)=I(:,col); P(:,col)=zj1; %列置换矩阵 p=P*p; %列置换矩阵的乘积(pr*pr-1*...p1) Q=I; zj2=Q(:,jj); Q(:,jj)=I(:,row); Q(:,row)=zj2; %行置换矩阵 q=q*Q; %行置换矩阵的乘积(q1*q2...qr) A=P*A*Q; %将最大元挪到主元位置 %%高斯消去部分 ek=I(jj,:); zj3=A(jj+1:X,jj)/A(jj,jj); lk(jj+1:X)=zj3; Lk=I-lk'*ek; lp=(Lk*P)*lp; A=Lk*A;endL=p*inv(lp); U=A;
阅读全文
0 0
- 全主元三角分解
- 矩阵分解 三角分解(LU分解)
- 矩阵三角分解,QR分解,奇异值分解
- 矩阵分解——三角分解(Cholesky 分解)
- R中的矩阵运算-三角分解
- 数值分析2.2 直接三角分解方法
- 矩阵的三角分解算法实验报告
- LU三角分解(matlab程序)
- 矩阵分解——三角分解(二)
- 从高斯消元到矩阵的三角分解(LU)
- 漫步线性代数五——三角分解和行交换
- 矩阵的三角分解法之LU分解之Crout分解
- 矩阵的三角分解法之LU分解之Doolittle分解
- 三角
- uva 1635 分解质因数+杨辉三角(二项式)+组合数递推
- UVA 1635 Irrelevant Elements(唯一分解定理,杨辉三角)
- uva1635(唯一分解定理,杨辉三角二项式递推公式)
- 分解
- 未出现数
- 2.使用canvas实现简单的画直线橡皮筋式画框
- POJ-2378-Tree cutting
- 设置Eclipse的上网代理
- Unity3D Coroutine(协程)
- 全主元三角分解
- 十分钟搞定Vue搭建
- [原创] 宫涵韵和大奶牛的手办
- 代理模式
- 如何用cv2读取图片
- react入坑之生命周期
- java基础知多少(三)
- SpringMVC架构原理(运行流程)
- SVM中核函数的理解