对于一个矩阵,如果它的列向量之间线性无关,那么它就可以分解成。
是一个标准正交矩阵
是一个上三角形式的矩阵
矩阵的
这种形式的分解称为
。
获取一个列向量之间线性无关的矩阵的标准正交矩阵
,实际上就是对矩阵
的列向量执行Gram-Schmidt过程,因为矩阵
的列向量之间线性无关,所以可以把它们当成空间的一组基来处理。
QR分解实际上是Gram-Schmidt过程的逆过程:
Gram-Schmidt过程是给定空间的一组基求取空间的正交基的过程:
如果已知一组基:,相应的求出这组基所代表的
维空间的一组正交基的过程就是:
...
对于矩阵通过Gram-Schmidt过程,就可以将列向量
处理成一组正交向量组
;
继续将正交向量组的向量进行规范化处理,最后就得到了矩阵的列向量的标准正交向量组
将这组标准正交向量组按列向量的方式排列就得到了标准正交矩阵
从Gram-Schmidt的逆过程推导矩阵的QR分解
在整个Gram-Schmidt过程中,每一步获取一个正交向量
的时候,
可以和最后得到的
存在联系
,进而矩阵
中原先的每个列向量
就可以和
建立联系:
,其中
本身是个标量,这里就用
代替;
![]()
,这里
用
代入得下式
,上式的
和
都是标量,用
代替,简化表示出
与
的关系;
![]()
持续执行上过程,就能反推得到矩阵中原先的每个列向量
和
的关系:
从而,对于矩阵
的一组列向量
,就可以由
进行表示,重新排列成矩阵:
这个新组成的矩阵A,提出其中的
向量,进而就表示成矩阵的
分解形式:
获取矩阵的
矩阵和
矩阵
通过上面的推导过程可知Gram-Schmidt过程得到了矩阵的Q矩阵,再逆推导就能得到R矩阵。
但是对于一个列向量之间线性无关的矩阵,它能够进行QR分解,其实就有:
又,Q是标准正交矩阵,所以根本不需要通过计算来求矩阵Q的逆
所以QR分解一个矩阵,其实只需要进行一边正向Gram-Schmidt过程求出矩阵
的列向量的标准正交向量组;
QR分解的应用
主要还是用于加速线性系统的求解
对于
,
,
求解过程中,只需要求解出矩阵A的Q矩阵,同时R矩阵又是一个上三角矩阵,从而降低了求解的时间复杂度。
网友评论