ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

矩阵的三角分解

2021-10-13 22:59:50  阅读:147  来源: 互联网

标签:11 boldsymbol 三角 矩阵 cdots 分解 array vdots


设实矩阵 A \boldsymbol{A} A的各阶主子式 ∣ A i i ∣ ≠ 0 ( i = 1 , 2 , ⋯   , n ) |\boldsymbol{A}_{ii}|\ne 0(i=1,2,\cdots,n) ∣Aii​∣​=0(i=1,2,⋯,n),则可以对 A \boldsymbol{A} A进行如下分解: A = L U \boldsymbol{A}=\boldsymbol{LU} A=LU其中, L \boldsymbol{L} L为主对角元素全为1的下三角矩阵(即单位下三角矩阵), U \boldsymbol{U} U为上三角矩阵,称这种分解为矩阵的三角分解,也称为 L U \boldsymbol{LU} LU分解。
下面从高斯消去法的基本原理来说明这种分解的具体过程。在高斯消去法中,只是主对角线上的元素不是1。因此,在没有归一化的消去法中,实际上就是通过一系列的初等行变换依次将主对角线以下的元素消成0,而这一系列的初等行变换就相当于用一系列的初等矩阵左乘矩阵 A \boldsymbol{A} A。
首先,为了使矩阵 A \boldsymbol{A} A的第一列中以下的元素变为0,可以用一个初等矩阵 L 1 = [ 1 − l 21 1 − l 31 0 1 ⋮ ⋮ ⋮ ⋱ − l n 1 0 0 ⋯ 1 ] \boldsymbol{L}_1=\left[\begin{array}{ccccc}1 &&&\\ -l_{21}&1 &&&\\ -l_{31}&0&1&&\\ \vdots& \vdots &\vdots&\ddots&\\ -l_{n1}&0&0 &\cdots &1\end{array}\right] L1​=⎣⎢⎢⎢⎢⎢⎡​1−l21​−l31​⋮−ln1​​10⋮0​1⋮0​⋱⋯​1​⎦⎥⎥⎥⎥⎥⎤​左乘矩阵 A \boldsymbol{A} A,即 L 1 A = [ 1 − l 21 1 − l 31 0 1 ⋮ ⋮ ⋮ ⋱ − l n 1 0 0 ⋯ 1 ] [ a 11 a 12 a 13 ⋯ a 1 n a 21 a 22 a 23 ⋯ a 2 n a 31 a 32 a 33 ⋯ a 3 n ⋮ ⋮ ⋮ ⋮ ⋮ a n 1 a n 2 a n 3 ⋯ a n n ] = [ a 11 a 12 a 13 ⋯ a 1 n 0 a 22 ( 1 ) a 23 ( 1 ) ⋯ a 2 n ( 1 ) 0 a 32 ( 1 ) a 33 ( 1 ) ⋯ a 3 n ( 1 ) ⋮ ⋮ ⋮ ⋮ ⋮ 0 a n 2 ( 1 ) a n 3 ( 1 ) ⋯ a n n ( 1 ) ] = A 1 \begin{aligned}\boldsymbol{L}_1\boldsymbol{A}&=\left[\begin{array}{ccccc}1 &&&&\\ -l_{21}&1 &&&\\ -l_{31}&0&1&&\\ \vdots& \vdots &\vdots&\ddots&\\ -l_{n1}&0&0 &\cdots &1\end{array}\right]\left[\begin{array}{ccccc}a_{11} &a_{12}&a_{13}& \cdots&a_{1n}\\ a_{21} &a_{22}&a_{23}& \cdots&a_{2n}\\ a_{31} &a_{32}&a_{33}& \cdots&a_{3n}\\ \vdots& \vdots &\vdots&\vdots&\vdots\\ a_{n1} &a_{n2}&a_{n3}& \cdots&a_{nn}\end{array}\right]\\&=\left[\begin{array}{ccccc}a_{11} &a_{12}&a_{13}& \cdots&a_{1n}\\ 0 &a_{22}^{(1)}&a_{23}^{(1)}& \cdots&a_{2n}^{(1)}\\ 0 &a_{32}^{(1)}&a_{33}^{(1)}& \cdots&a_{3n}^{(1)}\\ \vdots& \vdots &\vdots&\vdots&\vdots\\ 0 &a_{n2}^{(1)}&a_{n3}^{(1)}& \cdots&a_{nn}^{(1)}\end{array}\right]=\boldsymbol{A}_1\end{aligned} L1​A​=⎣⎢⎢⎢⎢⎢⎡​1−l21​−l31​⋮−ln1​​10⋮0​1⋮0​⋱⋯​1​⎦⎥⎥⎥⎥⎥⎤​⎣⎢⎢⎢⎢⎢⎡​a11​a21​a31​⋮an1​​a12​a22​a32​⋮an2​​a13​a23​a33​⋮an3​​⋯⋯⋯⋮⋯​a1n​a2n​a3n​⋮ann​​⎦⎥⎥⎥⎥⎥⎤​=⎣⎢⎢⎢⎢⎢⎢⎡​a11​00⋮0​a12​a22(1)​a32(1)​⋮an2(1)​​a13​a23(1)​a33(1)​⋮an3(1)​​⋯⋯⋯⋮⋯​a1n​a2n(1)​a3n(1)​⋮ann(1)​​⎦⎥⎥⎥⎥⎥⎥⎤​=A1​​为了使上式运算成立,初等矩阵 L 1 L_1 L1​中的元素 l i j l_{ij} lij​必须满足下列关系: a i 1 − l i 1 a 11 = 0 , i = 2 , 3 , ⋯   , n a_{i1}-l_{i1}a_{11}=0,\quad i=2,3,\cdots,n ai1​−li1​a11​=0,i=2,3,⋯,n即 l i 1 = a i 1 / a 11 , i = 2 , 3 , ⋯   , n l_{i1}=a_{i1}/a_{11},\quad i=2,3,\cdots,n li1​=ai1​/a11​,i=2,3,⋯,n而在新矩阵中,除第一行外,其余各元素相应满足下列关系: a i j ( 1 ) = a i j − l i 1 a 1 j , i = 2 , 3 , ⋯   , n ; j = 2 , 3 , ⋯   , n a_{ij}^{(1)}=a_{ij}-l_{i1}a_{1j},\quad i=2,3,\cdots,n; j=2,3,\cdots,n aij(1)​=aij​−li1​a1j​,i=2,3,⋯,n;j=2,3,⋯,n按以上方法继续往下做。假设已经做了 k − 1 k-1 k−1步,原矩阵 A \boldsymbol{A} A已经变为 A k − 1 = L k − 1 ⋯ L 2 L 1 A = [ a 11 a 12 a 13 ⋯ a 1 k a 1 , k + 1 ⋯ a 1 n 0 a 22 ( 1 ) a 23 ( 1 ) ⋯ a 2 k ( 1 ) a 2 , k + 1 ( 1 ) ⋯ a 2 n ( 1 ) 0 0 a 33 ( 2 ) ⋯ a 3 k ( 2 ) a 3 , k + 1 ( 2 ) ⋯ a 3 n ( 2 ) ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ 0 0 0 ⋯ a k k ( k − 1 ) a k , k + 1 ( k − 1 ) ⋯ a k n ( k − 1 ) ⋮ ⋮ ⋮ ⋯ ⋮ ⋮ ⋮ ⋮ 0 0 0 ⋯ a n , k ( k − 1 ) a n , k + 1 ( k − 1 ) ⋯ a n n ( k − 1 ) ] \begin{aligned}\boldsymbol{A}_{k-1}&=\boldsymbol{L}_{k-1}\cdots \boldsymbol{L}_{2}\boldsymbol{L}_{1}\boldsymbol{A}\\&=\left[\begin{array}{cccccccc}a_{11} &a_{12}&a_{13}& \cdots&a_{1k}& a_{1,k+1}& \cdots & a_{1n}\\ 0 &a_{22}^{(1)}&a_{23}^{(1)}& \cdots&a_{2k}^{(1)}& a_{2,k+1}^{(1)}& \cdots & a_{2n}^{(1)}\\ 0 & 0 &a_{33}^{(2)}& \cdots&a_{3k}^{(2)}& a_{3,k+1}^{(2)}&\cdots& a_{3n}^{(2)}\\ \vdots& \vdots &\vdots&\vdots&\vdots&\vdots & \vdots &\vdots\\ 0 & 0 & 0 & \cdots &a_{kk}^{(k-1)}& a_{k,k+1}^{(k-1)}& \cdots& a_{kn}^{(k-1)} \\ \vdots& \vdots & \vdots &\cdots & \vdots & \vdots & \vdots & \vdots\\ 0 & 0 & 0 &\cdots& a^{(k-1)}_{n,k}&a_{n,k+1}^{(k-1)}&\cdots &a^{(k-1)}_{nn}\end{array}\right]\end{aligned} Ak−1​​=Lk−1​⋯L2​L1​A=⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎡​a11​00⋮0⋮0​a12​a22(1)​0⋮0⋮0​a13​a23(1)​a33(2)​⋮0⋮0​⋯⋯⋯⋮⋯⋯⋯​a1k​a2k(1)​a3k(2)​⋮akk(k−1)​⋮an,k(k−1)​​a1,k+1​a2,k+1(1)​a3,k+1(2)​⋮ak,k+1(k−1)​⋮an,k+1(k−1)​​⋯⋯⋯⋮⋯⋮⋯​a1n​a2n(1)​a3n(2)​⋮akn(k−1)​⋮ann(k−1)​​⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎤​​现在进行第 k k k步变换,即 A k = L k A k − 1 = [ a 11 a 12 a 13 ⋯ a 1 k a 1 , k + 1 ⋯ a 1 n 0 a 22 ( 1 ) a 23 ( 1 ) ⋯ a 2 k ( 1 ) a 2 , k + 1 ( 1 ) ⋯ a 2 n ( 1 ) 0 0 a 33 ( 2 ) ⋯ a 3 k ( 2 ) a 3 , k + 1 ( 2 ) ⋯ a 3 n ( 2 ) ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ 0 0 0 ⋯ a k k ( k − 1 ) a k , k + 1 ( k − 1 ) ⋯ a k n ( k − 1 ) ⋮ ⋮ ⋮ ⋯ ⋮ ⋮ ⋮ ⋮   0 0 0 ⋯ 0 a n , k + 1 ( k − 1 ) ⋯ a n n ( k − 1 ) ] \begin{aligned}\boldsymbol{A}_{k}&=\boldsymbol{L}_{k}\boldsymbol{A}_{k-1}\\&=\left[\begin{array}{cccccccc}a_{11} &a_{12}&a_{13}& \cdots&a_{1k}& a_{1,k+1}& \cdots & a_{1n}\\ 0 &a_{22}^{(1)}&a_{23}^{(1)}& \cdots&a_{2k}^{(1)}& a_{2,k+1}^{(1)}& \cdots & a_{2n}^{(1)}\\ 0 & 0 &a_{33}^{(2)}& \cdots&a_{3k}^{(2)}& a_{3,k+1}^{(2)}&\cdots& a_{3n}^{(2)}\\ \vdots& \vdots &\vdots&\vdots&\vdots&\vdots & \vdots &\vdots\\ 0 & 0 & 0 & \cdots &a_{kk}^{(k-1)}& a_{k,k+1}^{(k-1)}& \cdots& a_{kn}^{(k-1)} \\ \vdots& \vdots & \vdots &\cdots & \vdots & \vdots & \vdots & \vdots\\\ 0 & 0 & 0 &\cdots& 0 &a_{n,k+1}^{(k-1)}&\cdots &a^{(k-1)}_{nn}\end{array}\right]\end{aligned} Ak​​=Lk​Ak−1​=⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎡​a11​00⋮0⋮ 0​a12​a22(1)​0⋮0⋮0​a13​a23(1)​a33(2)​⋮0⋮0​⋯⋯⋯⋮⋯⋯⋯​a1k​a2k(1)​a3k(2)​⋮akk(k−1)​⋮0​a1,k+1​a2,k+1(1)​a3,k+1(2)​⋮ak,k+1(k−1)​⋮an,k+1(k−1)​​⋯⋯⋯⋮⋯⋮⋯​a1n​a2n(1)​a3n(2)​⋮akn(k−1)​⋮ann(k−1)​​⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎤​​其中 L k = [ 1 0 1 0 0 1 ⋮ ⋮ ⋮ ⋱ 0 0 0 ⋯ 1 0 0 0 ⋯ − l k + 1 , k 1 ⋮ ⋮ ⋮ ⋮ ⋮ ⋱ 0 0 0 ⋯ − l n k 0 ⋯ 1 ] \boldsymbol{L}_k=\left[ \begin{array}{cccccccc}1&&&&&&&\\0&1&&&&&&\\0&0&1&&&&&\\\vdots&\vdots &\vdots &\ddots &&&&\\ 0 & 0 & 0 &\cdots&1&&&\\ 0&0&0&\cdots&-l_{k+1,k}&1&&\\ \vdots&\vdots&\vdots&&\vdots&\vdots&\ddots&\\0&0&0&\cdots&-l_{nk}&0&\cdots&1\end{array}\right] Lk​=⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎡​100⋮00⋮0​10⋮00⋮0​1⋮00⋮0​⋱⋯⋯⋯​1−lk+1,k​⋮−lnk​​1⋮0​⋱⋯​1​⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎤​同样,为了使上式运算从成立,初等矩阵 L k \boldsymbol{L}_k Lk​中元素 l i k l_{ik} lik​必须满足下列关系: a i j ( k ) = a k j ( k − 1 ) − l i k a k j ( k − 1 ) , i = k + 1 , ⋯   , n ; j = k + 1 , ⋯   , n a^{(k)}_{ij}=a_{kj}^{(k-1)}-l_{ik}a_{kj}^{(k-1)},\quad i=k+1,\cdots,n;j=k+1,\cdots,n aij(k)​=akj(k−1)​−lik​akj(k−1)​,i=k+1,⋯,n;j=k+1,⋯,n如此继续下去,则有 A n − 1 = L n − 1 ⋯ L k ⋯ L 2 L 1 A \boldsymbol{A}_{n-1}=\boldsymbol{L}_{n-1}\cdots \boldsymbol{L}_k\cdots \boldsymbol{L}_2 \boldsymbol{L}_1 \boldsymbol{A} An−1​=Ln−1​⋯Lk​⋯L2​L1​A其中, A n − 1 \boldsymbol{A}_{n-1} An−1​为上三角矩阵。令 U = A n − 1 \boldsymbol{U}=\boldsymbol{A}_{n-1} U=An−1​,则有 U = L n − 1 ⋯ L k ⋯ L 2 L 1 A \boldsymbol{U}=\boldsymbol{L}_{n-1}\cdots\boldsymbol{L}_{k}\cdots \boldsymbol{L}_2 \boldsymbol{L}_1 \boldsymbol{A} U=Ln−1​⋯Lk​⋯L2​L1​A最后得到 A = L U \boldsymbol{A}=\boldsymbol{LU} A=LU由此可以看出,矩阵 A \boldsymbol{A} A在一定条件下(各阶主子式异于零)可以分解成单位下三角矩阵 A \boldsymbol{A} A和上三角矩阵 U \boldsymbol{U} U的乘积。

标签:11,boldsymbol,三角,矩阵,cdots,分解,array,vdots
来源: https://blog.csdn.net/qq_38406029/article/details/120734592

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有