利用Schmidt 正交化QR分解求逆矩阵与MATLAB仿真
目录
前言
在线性代数中,QR 分解是将一个矩阵分解为一个正交矩阵(Q)与一个上三角矩阵(R)的乘积的过程。由于Q是正交矩阵,那么其逆矩阵就等于其共轭转置。求逆矩阵,分解之后便只需要去求R的逆矩阵进而就能求出待求矩阵的逆矩阵。
提示:以下是本篇文章正文内容,希望能帮助到各位,转载请附上链接。
一、QR分解
若是一个N×N阶列无关矩阵,则矩阵A可进行QR分解。
令
其他依次计算。其中norm表示求2范数。
那么可以得到矩阵Q
其中Q满足,表示共轭转置。R可以由以下式子得到
因为,则。
二、Q矩阵求逆
由于Q是正交矩阵(酉矩阵),所以,即
其中表示共轭。
三、R矩阵(上三角)求逆
R是个上三角矩阵,求逆方法可以参照下面这篇文章。
一种基于约化因子上三角矩阵求逆方法与MATLAB仿真:http://t.csdnimg.cn/aHPmd
四、A矩阵求逆
由于A=QR,所以。
五、计算量分析
计算需要的乘法次数为2N(n-1),除法次数为n-1,加法次数为
(N-1)(n-1)+N(n-1)=(2N-1)(n-1)
计算需要的乘法次数为N,加法次数为N-1,还需要一次开方。
注意计算时直接用的的值,不需要对其统计运算量。
计算所有的需要的乘法次数为:
加法次数为:
除法次数为:
计算所有的需要的乘法次数为,加法次数为N(N-1),还需要N次开方。
根据
计算Q还需要次除法。
计算(由于R是三角矩阵,相比于普通矩阵乘法,运算量会小)需要的乘法次数为:
加法次数为:
然后还需要计算R的逆矩阵,根据 http://t.csdnimg.cn/aHPmd 中的方法,需要的乘法次数为:
加法次数为:
除法次数为:
最后求(由于是三角矩阵,相比于普通矩阵乘法,运算量会小),
需要的乘法次数为:
加法次数为:
所以通过QR分解求解逆矩阵总共需要的运算次数如下:
乘法:
加法:
除法:
开方:
N
六、MATLAB仿真
以MATLAB自带求逆函数inv为对比,仿真得出以下结果:
七、参考资料
参考资料:https://download.csdn.net/download/m0_66360845/89029773
总结
以上介绍了一种基于施密特正交化将矩阵分解为正交Q矩阵和上三角矩阵R,进而求解逆矩阵的方法与MATLAB仿真。对于Q矩阵而言,其列向量是标准正交的,也就是说列向量的模长为1,并且彼此正交,在复数域中,Q矩阵又被称为酋矩阵。小伙伴们认真看完此文章必定有所收获。