矩阵分析之 实矩阵分解(4)满秩分解,QR分解

矩阵分析之 实矩阵分解(4)满秩分解,QR分解

前言

之前已经将特征分解、SVD分解、LU和PLU分解、Cholesky和LDLT分解总结了,本次是实矩阵分解的最后一节,包括满秩分解和QR分解。

满秩分解

对于实矩阵 A ∈ R m × n , r a n k ( A ) = r A\in R^{m\times n},rank(A)=r ARm×n,rank(A)=r,则可满秩分解为:
A m × n = B m × r C r × n , r a n k ( B ) = r a n k ( C ) = r A_{m\times n}=B_{m\times r}C_{r\times n},rank(B)=rank(C)=r Am×n=Bm×rCr×n,rank(B)=rank(C)=r
矩阵 B B B C C C分别是列满秩和行满秩矩阵。满秩分解的结果不是唯一的

证明:
r a n k ( A ) = r , ∃ D ∈ R m × n , r a n k ( D ) = r rank(A)=r,\exist D\in R^{m\times n}, rank(D)=r rank(A)=r,DRm×nrank(D)=r
D D D是元素为1或0的对角矩阵,则 A , D A,D A,D矩阵等价,存在可逆矩阵 P ∈ R m × m , Q ∈ R n × n P\in R^{m\times m},Q\in R^{n\times n} PRm×m,QRn×n使得 D = P A Q , A = P − 1 D Q − 1 D=PAQ,A=P^{-1}DQ^{-1} D=PAQ,A=P1DQ1,此时矩阵 D D D可以进行分块矩阵分解:
D = [ E r × r 0 r × ( n − r ) 0 ( m − r ) × r 0 ( m − r ) × ( n − r ) ] = [ E r × r 0 ( m − r ) × r ] [ E r × r 0 r × ( n − r ) ] = L m × r R r × n A = P m × m − 1 L m × r R r × n Q n × n − 1 = B m × r C r × n D=\begin{bmatrix} E_{r\times r} & 0_{r\times (n-r)}\\ 0_{(m-r)\times r} & 0_{(m-r)\times (n-r)} \\ \end{bmatrix} \\ \quad \\ =\begin{bmatrix} E_{r\times r} \\ 0_{(m-r)\times r} \\ \end{bmatrix}\begin{bmatrix} E_{r\times r} & 0_{r\times (n-r)} \\ \end{bmatrix} =L_{m\times r}R_{r\times n} \\ \quad \\ A=P^{-1}_{m\times m}L_{m\times r}R_{r\times n}Q^{-1}_{n\times n} = B_{m\times r}C_{r\times n} D=[Er×r0(mr)×r0r×(nr)0(mr)×(nr)]=[Er×r0(mr)×r][Er×r0r×(nr)]=Lm×rRr×nA=Pm×m1Lm×rRr×nQn×n1=Bm×rCr×n
上式说明了两点:(1)满秩分解不唯一,因为 P , Q P,Q P,Q取法不唯一。(2)分解出列满秩和行满秩矩阵,因为 L , R L,R L,R是列满秩和行满秩的,而 P , Q P,Q P,Q是行/列变换,不改变秩。

由于满秩分解结果不唯一,因此工程计算里用的比较少。(每次分解结果不一样是不稳定的)

QR分解

对于矩阵 A ∈ R m × n , m ≥ n A\in R^{m\times n},m\ge n ARm×n,mn,可以进行QR分解:
A m × n = Q m × m R m × n A_{m\times n}=Q_{m\times m}R_{m\times n} Am×n=Qm×mRm×n
其中, Q Q Q是一个正交矩阵, R R R是一个上三角矩阵。

或者化为另一种形式:
A m × n = Q m × n R n × n A_{m\times n}=Q_{m\times n}R_{n\times n} Am×n=Qm×nRn×n
其中, Q Q Q是一个正交列向量组, R R R是一个上三角矩阵。此外,如果 A A A是一个列满秩矩阵,并且 R R R的主对角元都为正数时,QR分解的结果唯一

QR分解的存在性需要借助householder矩阵证明,这一块我还没看懂,有时间了再补。

QR矩阵分解对于任意矩阵都能够使用,因此当面对超定或者欠定方程时,QR分解是一种很好的选择。

总结

在实矩阵分解栏目下,我依次记录了这几种分解方法:特征分解(谱分解),奇异值分解(SVD),LU、PLU分解,Cholesky分解及其改良,满秩分解,QR分解。

这些矩阵分解的方法除了要知道存在性和唯一性,还要能够在实际的工程应用中使用。

幸好现在的数学计算工具非常丰富,大部分常用的矩阵分解方法都有现成的功能包或者开源代码,比如Matlab里的矩阵分解方法就比较齐全。

C++的Eigen库也给出了部分矩阵分解方法的API,并且配有一张矩阵计算速度表如下所示:
在这里插入图片描述
下篇,我将把之前讲过的所有实矩阵分解方法做一个归纳。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值