c++求矩阵的秩_常见的矩阵分解

835166ff9da19f33f9ed917cdb4839f4.gif

矩阵的谱分解(可对角化矩阵——满秩可逆)

谱分解定理:设 d1a0d216-1d2c-eb11-8da9-e4434bdf6706.svg 为一个n阶可对角化矩阵,A的谱为 d2a0d216-1d2c-eb11-8da9-e4434bdf6706.svg 其中 d3a0d216-1d2c-eb11-8da9-e4434bdf6706.svg 的重数为 d4a0d216-1d2c-eb11-8da9-e4434bdf6706.svg ,则存在唯一一组s个n阶方阵 d6a0d216-1d2c-eb11-8da9-e4434bdf6706.svg ,满足
(1) d9a0d216-1d2c-eb11-8da9-e4434bdf6706.svg     (2) daa0d216-1d2c-eb11-8da9-e4434bdf6706.svg      (3) dca0d216-1d2c-eb11-8da9-e4434bdf6706.svg      
(4) dda0d216-1d2c-eb11-8da9-e4434bdf6706.svg          (5) dea0d216-1d2c-eb11-8da9-e4434bdf6706.svg

这些矩阵 e0a0d216-1d2c-eb11-8da9-e4434bdf6706.svg 称为矩阵A的成分矩阵或主幂等矩阵。一般成分矩阵不一定是Hermite矩阵,因此, e1a0d216-1d2c-eb11-8da9-e4434bdf6706.svg 中的诸向量 e3a0d216-1d2c-eb11-8da9-e4434bdf6706.svg 未必是正交的。

谱分解的计算例子:

求矩阵的谱分解, e5a0d216-1d2c-eb11-8da9-e4434bdf6706.svg

解:e8a0d216-1d2c-eb11-8da9-e4434bdf6706.svg 所以A有特征值 eaa0d216-1d2c-eb11-8da9-e4434bdf6706.svg (两重)。通过齐次线性方程组,可得对应于特征值的特征向量分别为:

eba0d216-1d2c-eb11-8da9-e4434bdf6706.svgeca0d216-1d2c-eb11-8da9-e4434bdf6706.svg ,则可以求出

eea0d216-1d2c-eb11-8da9-e4434bdf6706.svg

这里计算P的逆矩阵很烦人的,可以用初等行变换的方法进行求解。因此,

efa0d216-1d2c-eb11-8da9-e4434bdf6706.svg

故A的谱分解为 f1a0d216-1d2c-eb11-8da9-e4434bdf6706.svg . A的幂为 f2a0d216-1d2c-eb11-8da9-e4434bdf6706.svg 说明谱分解本质上还是为方便求解矩阵幂服务的。前面我们知道矩阵的对角化,可以方便我们求逆。矩阵的满秩分解可以方便我们求逆,现在我们知道矩阵的谱分解可以方便我们求幂。但是谱分解和对角化都要求矩阵是满秩可对角化的,如果不满足这些条件的矩阵能够有方便的形式求解吗?答案是肯定的,矩阵的Jordan标准型就是专门为矩阵求幂设计的。

矩阵求逆问题也是重点。但是矩阵求逆为了在数值上计算稳定,数学家们想出了很多将矩阵分的方法,后面我们将会看到矩阵的LU三角分解,QR正交分解,奇异值分解等,都是为了在数值上获得矩阵求逆的稳定方法而设计的。

矩阵的LU分解(n阶方阵,不一定存在)

LU分解实际上是高斯消元的另一种看法。即对于任意的n阶方阵A,存在L是单位下三角矩阵,U是上三角矩阵,使得 f3a0d216-1d2c-eb11-8da9-e4434bdf6706.svg. 这里对矩阵A只要求是方阵,其他的要求都没有。

考虑高斯消元,即存在初等矩阵 f5a0d216-1d2c-eb11-8da9-e4434bdf6706.svg ,对矩阵A进行初等行变换,可以将A变为上三角矩阵,该上三角矩阵就是U.   举个例子: 对于任意的3阶矩阵,我们能通过左乘初等矩阵,即 f7a0d216-1d2c-eb11-8da9-e4434bdf6706.svg(不交换行) 那么我们有

faa0d216-1d2c-eb11-8da9-e4434bdf6706.svg

可以发现,L必定为单位下三角矩阵。因为我们的初等变换都只涉及对A的下三角部分进行变换,另外,每一个初等矩阵的逆都不会改变主对角元素(都是1)。

从高斯消元的角度可以看出,如果矩阵A最后一行不能被前面的r(A)行线性表示,则就找不到初等矩阵,使得A经过初等行变换后变成U,则三角分解不存在。

如果方阵A可逆,并且有三角分解,则该分解是唯一的。(因为最后一行可以被前面r(A)唯一的线性表示。)

863d6eed947aa1f04372e87d8c747d1d.png

矩阵QR分解(可逆矩阵存在)(唯一)

矩阵可逆也不一定存在三角分解,这是非常令人遗憾的。矩阵正交(Q)三角(R)分解是对任何可逆矩阵都存在的理想分解。其原理是斯密特正交化。首先给出QR分解的定理:

00a1d216-1d2c-eb11-8da9-e4434bdf6706.svg 且A为满秩的,则存在唯一的酉矩阵U和对角线元素均为正的上三角矩阵R,使得 03a1d216-1d2c-eb11-8da9-e4434bdf6706.svg .(当然对于实数矩阵,这里的酉矩阵类比为正交矩阵Q即可)

一个很重要的推广是矩阵A可以是非方阵,只需要列满秩即可, 04a1d216-1d2c-eb11-8da9-e4434bdf6706.svg , 则矩阵 07a1d216-1d2c-eb11-8da9-e4434bdf6706.svg 为r个列向量构成的标准正交基, 0aa1d216-1d2c-eb11-8da9-e4434bdf6706.svg 为对角线元素为正的上三角矩阵。分解也是唯一的。

计算过程:

以实数矩阵为例,对于列满秩矩阵 0ca1d216-1d2c-eb11-8da9-e4434bdf6706.svg,求其QR分解。

解:令 0da1d216-1d2c-eb11-8da9-e4434bdf6706.svg 由斯密特正交化方法得:

0ea1d216-1d2c-eb11-8da9-e4434bdf6706.svg

从而有:

0fa1d216-1d2c-eb11-8da9-e4434bdf6706.svg

值得注意的是上三角矩阵R是怎么计算的?

对斯密特正交化的过程进行变形得:

12a1d216-1d2c-eb11-8da9-e4434bdf6706.svg

写成矩阵形式:

14a1d216-1d2c-eb11-8da9-e4434bdf6706.svg

所以在计算QR分解时,把步骤写清楚,尤其是在计算 17a1d216-1d2c-eb11-8da9-e4434bdf6706.svg 时,因为每一个系数都会成为矩阵的元素。

矩阵的奇异值分解(普适性很强,要求很低)

对标正规矩阵(normal matrix),正规矩阵都可以酉对角化。这是非常好的性质。但是非正规矩阵是否具有类似的性质呢?注意到正规矩阵满足 19a1d216-1d2c-eb11-8da9-e4434bdf6706.svg ,其中 两个酉矩阵互为共轭转置,我们能不能放弃这一性质,使得非正规矩阵矩阵也有类似的分解?当然可以。

奇异值分解定理:设 1aa1d216-1d2c-eb11-8da9-e4434bdf6706.svg1ba1d216-1d2c-eb11-8da9-e4434bdf6706.svg 则存在m阶和n阶酉矩阵U和V,使得 1da1d216-1d2c-eb11-8da9-e4434bdf6706.svg ,其中 1ea1d216-1d2c-eb11-8da9-e4434bdf6706.svg , 1fa1d216-1d2c-eb11-8da9-e4434bdf6706.svg 称为奇异值。

这里不谈证明,直接给出奇异值分解的计算方法。

20a1d216-1d2c-eb11-8da9-e4434bdf6706.svg 那么分别求其正规矩阵形式的酉对角化,即有

23a1d216-1d2c-eb11-8da9-e4434bdf6706.svg

利用上面两个等式,可以分别求出 25a1d216-1d2c-eb11-8da9-e4434bdf6706.svg 矩阵。

26a1d216-1d2c-eb11-8da9-e4434bdf6706.svg ,其特征值分别为1,3,对应的标准正交特征向量为 2aa1d216-1d2c-eb11-8da9-e4434bdf6706.svg 这里就求出了U矩阵。

接着我们有

2ca1d216-1d2c-eb11-8da9-e4434bdf6706.svg 其对应的特征值为1,3,0(注意这里第三个特征值必须为0)

对应的特征向量可以计算分别为

2fa1d216-1d2c-eb11-8da9-e4434bdf6706.svg

其中 33a1d216-1d2c-eb11-8da9-e4434bdf6706.svg 可以不用计算,因为他必须和前面两个特征向量正交。这样我们就求出了V。然后根据奇异值分解定理,可以得到

36a1d216-1d2c-eb11-8da9-e4434bdf6706.svg

Chelesky分解(实正定矩阵)

chelesky分解是针对实正定矩阵而言的。正定矩阵一般默认是对称的。实正定矩阵A必存在三角分解A=LU,且存在唯一的对角元素均为正的下三角矩阵G,使得 37a1d216-1d2c-eb11-8da9-e4434bdf6706.svg .举个简单的例子, 38a1d216-1d2c-eb11-8da9-e4434bdf6706.svg A是正定的。存在初等变换 39a1d216-1d2c-eb11-8da9-e4434bdf6706.svg ,使得

3ba1d216-1d2c-eb11-8da9-e4434bdf6706.svg 因为A对称,对A的初等行变换,其转置就是对A的初等列变换。因此可以化为对角矩阵(对实对称矩阵的对角化)。那么令

3ca1d216-1d2c-eb11-8da9-e4434bdf6706.svg 

这是只需要进行一次初等行变换的条件下,计算方法。当需要多次进行初等行变换时,计算是类似的。此时需要将所有的初等变换看成一个初等变换,把它当成 3da1d216-1d2c-eb11-8da9-e4434bdf6706.svg 即可。

*文章内容整理于https://zhuanlan.zhihu.com/p/52890135

------------------------------

欢迎关注爱数学之家, 一个致力于传播数学文化的公众号

e2dd38c07577421e9499bcb04db544a1.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值