矩阵分解相关知识点总结(一)

博客介绍了矩阵分解相关内容。Gauss消去法基本思想是化系数矩阵为上三角矩阵求解,其能进行的条件是A各阶顺序主子式不为零。还介绍了矩阵的三角分解(LU或LR分解)及Cholesky分解(平方根或对称三角分解),并给出了分解过程和相关公式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

〇、Gauss消去法

  对于 n n n元线性方程组
A x = b (0) \bm{A}\bm{x}=\bm{b}\tag{0} Ax=b(0)

其中, A = ( a i j ) n × n \bm{A}=(a_{ij})_{n \times n} A=(aij)n×n x = ( ξ 1 , ξ 2 , ⋯   , ξ n ) T \bm{x}=(\xi_1,\xi_2,\cdots,\xi_n)^{\rm T} x=(ξ1,ξ2,,ξn)T b = ( b 1 , b 2 , ⋯   , b n ) T \bm{b}=(b_1,b_2,\cdots,b_n)^{\rm T} b=(b1,b2,,bn)T。Gauss消去法的基本思想是化系数矩阵 A \textbf{\textit{A}} A为上三角矩阵,或化增广矩阵 [ A b ] \left[\begin{array}{c|c}\bm{A}&\bm{b}\end{array}\right] [Ab]为上阶梯形矩阵以求其解,这个过程就叫Gauss消元。

  Gauss消元过程能够进行到底的条件是当且仅当 A \bm{A} A的各阶顺序主子式都不为零,即:
Δ r ≠ 0 ( r = 1 , 2 , ⋯   , n − 1 ) \color{#F0F}\Delta_r\neq0\quad(r=1,2,\cdots,n-1) Δr=0(r=1,2,,n1)

一、矩阵的三角分解

三角分解 { A = L D U LDU分解 A = L ( D U ) = L U ^ Doolittle分解 A = ( L D ) U = L ^ U Crout分解 三角分解 \begin{cases} A=LDU& \text {LDU分解} \\ A=L(DU)=L\hat U & \text {Doolittle分解}\\A=(LD)U=\hat LU& \text {Crout分解} \end{cases} 三角分解 A=LDUA=L(DU)=LU^A=(LD)U=L^ULDU分解Doolittle分解Crout分解

  三角分解又称作LU分解或LR分解。在上式中, L L L是单位下三角矩阵, D D D是对角矩阵, U U U是单位上三角矩阵

分解过程:
A = A ( 0 ) = L 1 A ( 1 ) = L 1 L 2 A ( 2 ) = ⋯ = L 1 L 2 ⋯ L n − 1 A ( n − 1 ) = L A ( n − 1 ) (1) \color{#F00}A=A^{(0)}=L_1A^{(1)}=L_1L_2A^{(2)}=\cdots=L_1L_2\cdots L_{n-1}A^{(n-1)}=LA^{(n-1)} \tag{1} A=A(0)=L1A(1)=L1L2A(2)==L1L2Ln1A(n1)=LA(n1)(1)

L 1 = [ 1 c 21 1 ⋮ ⋱ c n 1 1 ] L_1=\begin{bmatrix} 1 \\c_{21} & 1 \\ \vdots & & \ddots \\c_{n1} & & & 1 \end{bmatrix} L1= 1c21cn111 L 2 = [ 1 1 c 32 1 ⋮ ⋱ c n 2 1 ] L_2=\begin{bmatrix} 1 \\ & 1 \\ & c_{32} & 1 \\ & \vdots & & \ddots\\ & c_{n2} & & & 1\end{bmatrix} L2= 11c32cn211 ⋯ \cdots L r = [ 1 ⋱ 1 c r + 1 , r 1 ⋮ ⋱ c n r 1 ] L_r=\begin{bmatrix} 1 \\ & \ddots \\ & & 1 \\ & & c_{r+1,r} & 1\\ & & \vdots & &\ddots \\ & & c_{nr} & & & 1\end{bmatrix} Lr= 11cr+1,rcnr11 L n − 1 = [ 1 1 ⋱ 1 c n , n − 1 1 ] L_{n-1}=\begin{bmatrix} 1 \\ & 1 \\ & & \ddots \\ & & & 1\\ & & & c_{n,n-1} & 1\end{bmatrix} Ln1= 111cn,n11 Frobenius矩阵,其中空白处全为   0   \,0\, 0 c i r = a i r ( r − 1 ) a r r ( r − 1 ) , ( r = 1 , 2 , ⋯   , n − 1 ) , ( i = r + 1 , r + 2 , ⋯   , n ) \color{#F0F}c_{ir}=\cfrac{a_{ir}^{(r-1)}}{a_{rr}^{(r-1)}},(r=1,2,\cdots,n-1),(i=r+1,r+2,\cdots,n) cir=arr(r1)air(r1),(r=1,2,,n1),(i=r+1,r+2,,n) L r − 1 = [ 1 ⋱ 1 − c r + 1 , r 1 ⋮ ⋱ − c n r 1 ] L_r^{-1}=\begin{bmatrix} 1 \\ & \ddots \\ & & 1 \\ & & -c_{r+1,r} & 1\\ & & \vdots & &\ddots \\ & & -c_{nr} & & & 1\end{bmatrix} Lr1= 11cr+1,rcnr11

L = L 1 L 2 ⋯ L ( n − 1 ) = [ 1 c 21 1 ⋮ ⋮ ⋱ c n − 1 , 1 c n − 1 , 2 ⋯ 1 c n 1 c n 2 ⋯ c n , n − 1 1 ] L=L_1L_2\cdots L_{(n-1)}=\begin{bmatrix} 1 \\[2ex] c_{21} & 1 \\[2ex] \vdots & \vdots & \ddots \\[2ex] c_{n-1,1} & c_{n-1,2} & \cdots & 1 \\[2ex] c_{n1} & c_{n2} & \cdots & c_{n,n-1} & 1\end{bmatrix} L=L1L2L(n1)= 1c21cn1,1cn11cn1,2cn21cn,n11 是一个单位下三角矩阵, A ( n − 1 ) = L n − 1 − 1 ⋯ L 2 − 1 L 1 − 1 A ( 0 ) = L − 1 A A^{(n-1)}=L_{n-1}^{-1}\cdots L_2^{-1}L_1^{-1}A^{(0)}=L^{-1}A A(n1)=Ln11L21L11A(0)=L1A是一个上三角矩阵,可以分解成一个对角矩阵( D D D)和一个单位上三角矩阵( U U U)。

二、矩阵的Cholesky分解

  当 A A A为实对称正定矩阵时,有
A = L D U = A T = ( L D U ) T = U T D L T , D = d i a g ( d 1 , d 2 , ⋯   , d n ) A=LDU=A^{\text T}=(LDU)^{\rm T}=U^{\rm T}DL^{\rm T},\quad D={\rm{diag}}(d_1,d_2,\cdots,d_n) A=LDU=AT=(LDU)T=UTDLT,D=diag(d1,d2,,dn)

即有: L = U T L=U^{\rm T} L=UT U = L T U=L^{\rm T} U=LT,令 D ~ = d i a g ( d 1 , d 2 , ⋯   , d n ) \tilde D={\rm{diag}}(\sqrt{d_1},\sqrt{d_2},\cdots,\sqrt{d_n}) D~=diag(d1 ,d2 ,,dn ),则有:
A = L D L T = L D ~ 2 L T = ( L D ~ ) ( D ~ L T ) = ( L D ~ ) ( L D ~ ) T = G G T (2) \color{#F00}A=LDL^{\rm T}=L\tilde D^2L^{\rm T}=(L\tilde D)(\tilde DL^{\rm T})=(L\tilde D)(L\tilde D)^{\rm T}=GG^{\rm T}\tag{2} A=LDLT=LD~2LT=(LD~)(D~LT)=(LD~)(LD~)T=GGT(2)

其中, G = L D ~ G=L\tilde D G=LD~为下三角矩阵。上式即为矩阵的Cholesky分解,又称平方根分解或对称三角分解

  Cholesky分解过程中,可以根据以下递推公式计算 G G G矩阵中每个元素的值:
g i j = { ( a i i − ∑ k = 1 i − 1 g i k 2 ) 1 / 2 ( i = j ) 1 g j j ( a i j − ∑ k = 1 j − 1 g i k g j k ) ( i > j ) 0 ( i < j ) \color{#F0F}g_{ij}=\begin{cases} (a_{ii}-\sum\limits_{k=1}^{i-1}g_{ik}^2)^{1/2} & (i=j) \\[2ex] \cfrac{1}{g_{jj}}(a_{ij}-\sum\limits_{k=1}^{j-1}g_{ik}g_{jk}) &(i>j) \\[2ex] \quad0 & (i<j) \end{cases} gij= (aiik=1i1gik2)1/2gjj1(aijk=1j1gikgjk)0(i=j)(i>j)(i<j)

当然也可以先对矩阵 A A A做LDU分解,然后取 G = L D ~ G=L\tilde D G=LD~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值