整体或局部:手撕矩阵,LU分解矩阵

举报
码乐 发表于 2023/11/15 10:25:58 2023/11/15
【摘要】 写在前面对我来说,家不是一个地方,而是一个人。我们分开太久后,现在终于又“回家”了。 --- 安娜的法式吻 anna french kiss两个人相遇就像两种化学物质接触,如果有任何反应,两者都发生变化。 矩阵分解亦是如此。 5 概念和几个例子以下为已知的常见矩阵分解方式,以生成不同的A = LU, A=PLU, A = QR, S = Q ^ Q^t A = U*ΣV^t...

写在前面

对我来说,家不是一个地方,而是一个人。我们分开太久后,现在终于又“回家”了。
        --- 安娜的法式吻 anna french kiss

两个人相遇就像两种化学物质接触,如果有任何反应,两者都发生变化。 矩阵分解亦是如此。

5 概念和几个例子

以下为已知的常见矩阵分解方式,以生成不同的

A = LU,  A=PLU, A = QR, S = Q ^ Q^t 
A = U*ΣV^t,  A = CR

而使用列元素乘以行,是积木式地创建新矩阵。

   A = LU  
   (L是英文中L的意思,U是upper的意思。
   lower triangular matrix 和 upper triangular matrix)

例1:

		2x + 3y = 7     2x + 3y = 7    x  = 2 
		4x + 7y = 15          y = 1 

所以有

	A = ( 2 3    =  LU = (1  0     ( 2  3 
	      4 7)            2  1)      0  1)

    PA = LU  (行交换)
    * 下三角 也就是L 可以通过先计算得到 矩阵A的最简形U,然后配合原矩阵 逆向求值。

例2:
通过初等变换,获得上/下三角阵 A = LU, LU分解
有4x4矩阵如下:

         A = ( 2   4  3  5
             -4   -7 -5 -8
              6    8  2  9
              4    9  -2 14)

我们将转换特征矩阵到 下三角矩阵 也就是L,

以下为初等变换过程,将原矩阵 A 分解为 L 和 U

   A = LU = ( 1  0  0  0      (2  4  3  5  
                   0  1  0  0   *  -4  -7 -5 -8
                   0  0  1  0       6  8  2  9
                   0  0  0  1)      4  9 -2 14)

计算第一列: L 第二行首位为 -2,因为原矩阵A,行变换 第二行 减去了 第一行 -2 倍

           = ( 1  0  0  0      (2  4  3  5  I
              -2  1  0  0   *   0  1  1  2  II - (-2)*I
               3  0  1  0       0 -4 -7 -6   III - 3*I
               2  0  0  1)      0  1 -8  4)  IV - (2)*I

计算第二列:

           = ( 1  0  0  0      (2  4  3  5  I
              -2  1  0  0   *   0  1  1  2   II 
               3 -4  1  0       0  0 -3  2  III - (-4)*II
               2  1  0  1)      0  0 -9  2)  IV - II

计算第三列:

            A =     L     *      U
            = ( 1  0  0  0      (2  4  3  5  I
               -2  1  0  0   *   0  1  1  2   II 
                3 -4  1  0       0  0 -3  2  III 
                2  1  3  1)      0  0 -9  2)  IV - (3)*III

5.1 行列式为多少

矩阵A的分解阵,L 和 U 的行列式分别为多少?

        det(L) = 1
        det(U) = 2 *  1 * -3 * 2 = -12

计算过程证明:

        U =   (2  4  3  5  I 
               0  1  1  2   II 
               0  0 -3  2  III 
               0  0  0 -4)  IV            

该上三角阵的行列式 等于 a 乘以它的余子式(a 去掉所在行和所在列,剩下的矩阵)

第一行首元乘以其余子式 第二行首元乘以其余子式 … 其他零项 乘以余子式

        det(U) = 2| 1  1  2 |      -     0| 4   3   5  |  ...  
                  | 0 -3  2 |             | 0  -3   2  |
                  | 0  0 -4 |             | 0   0  -4  |
                
                = 2* 1*| -3  2 |
                       |  0 -4 |
                = 2* 1* -3* |-4|
                = 24

PLU分解是在LU分解的基础上,记录了 行变换的过程

	p1->2p3->4LU

5.3 生成矩阵的特征

从下图,可以看到以上子矩阵与零矩阵的关系,R^n的两个子空间,和R^m 的两个子空间。

从行空间到列空间,A是可逆的,这让整个矩阵分裂为两块。

矩阵A 在左乘某向量 ->x, 将得到右侧的结果,比如A乘某向量 ->v, 将得到列的线性组合。

A*->x 等于矩阵A中列向量的线性组合。
(1) 行空间 正交于零空间          
(2) 列向量空间正交于 A的转置矩阵 零空间

A*->x = 0 所以 ( row1     * (      =   (0
                  ...          x         0
                  rown )        )        0

x 与 A的每一行正交相乘,在零空间中,A的每个x是与A的行空间正交。

同时A的转置 A^t 的零空间每个y 与 A的列空间正交。

两个正交子空间,空间维度添加到 n 和 m,列的任何线性组合使得 A->x = 0.

行点乘向量列 ->x 为零,那么在 n 维空间与这些行是正交的,即垂直于列x。

那么就是寻找一个垂直于全部A的行的向量 ->x。

小结

也许将来会有更多内容和新的方式,但是这个是第一步。
下一节我们将继续学习和讨论其他的方式。
请关注,感谢。

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。