目录

矩阵的分解

矩阵的分解

怎么计算矩阵又快又准------矩阵的分解

  • 先判断Doolittle分解是否唯一,再进行Doolittle分解

各阶顺序主子式均不为0,Doolittle分解唯一;

特殊的:正定/负定矩阵,Doolittle分解唯一;严格行(列)对角占优矩阵,Doolittle分解唯一;

Doolittle分解的算法

一共 5 种分解

文章目录

一、Doolittle分解(三角分解 或称 LR分解)

【定义】Doolittle分解

设 A ∈ C n × n A\in\mathbb C^{n\times n} A∈Cn×n,若存在一个下三角矩阵 L L L 和一个上三角矩阵 R R R,使得 A = L R A=LR A=LR,则称 A = L R A=LR A=LR 为 A A A 的三角分解

特别的,当 L L L 为单位(主对角元全为1)下三角矩阵时,称 A = L R A=LR A=LR 为 A A A 的 Doolittle 分解

【注】

  • 上(下)三角矩阵的逆矩阵是上(下)三角矩阵
  • 单位下三角矩阵的逆矩阵是单位下三角矩阵
【定理】Doolittle分解唯一⇔各阶顺序主子式均不为0

设 A ∈ C n × n A\in\mathbb C^{n\times n} A∈Cn×n,为可逆矩阵,则存在唯一的 Doolittle分解 ⟺ \Longleftrightarrow ⟺ 各阶顺序主子式均不为0

【定理】若A为正定或负定Hermite矩阵,则A存在唯一的Doolittle分解
【定义】行(列)对角占优矩阵

设 A ∈ C n × n A\in\mathbb C^{n\times n} A∈Cn×n,若 A A A 的元满足:
∣ a i i ∣ ≥ ∑ i ≠ j ∣ a i j ∣ , i = 1 , 2 , ⋯   , n |a_{ii}|\geq\sum_{i\neq j}|a_{ij}|,i=1,2,\cdots,n ∣aii∣≥i=j∑∣aij∣,i=1,2,⋯,n

则称 A A A 为行对角占优矩阵;

若 A A A 的元满足:
∣ a i i ∣ > ∑ i ≠ j ∣ a i j ∣ , i = 1 , 2 , ⋯   , n |a_{ii}|>\sum_{i\neq j}|a_{ij}|,i=1,2,\cdots,n ∣aii∣>i=j∑∣aij∣,i=1,2,⋯,n

则称 A A A 为严格行对角占优矩阵;

若 A T A^T AT 为(严格)行对角占优矩阵,则称 A A A 为(严格)列对角占优矩阵

【定理】 (严格)行(列)对角占优矩阵的各阶顺序主子阵也是 (严格)行(列)对角占优矩阵
【定理】严格行(列)对角占优矩阵A是可逆矩阵,且A有唯一的Doolittle分解
【算法】Doolittle分解算法

设 A ∈ C n × n A\in\mathbb C^{n\times n} A∈Cn×n 的各阶顺序主子式不为0, A A A 的 Doolittle分解为 A = L R A=LR A=LR,用 l i j l_{ij} lij 和 r i j r_{ij} rij 分别表示矩阵 L , R L,R L,R 的元,由于

a 11 a 12 ⋯ a 1 n a 21 a 22 ⋯ a 2 n ⋮ ⋮ ⋮ a n 1 a n 2 ⋯ a n n \] = \[ 1 l 21 1 ⋮ ⋱ l n 1 ⋯ l n , n − 1 1 \] \[ r 11 r 12 ⋯ r 1 n r 22 ⋯ r 2 n ⋱ ⋮ r n n \] \\begin{bmatrix} a_{11} \& a_{12} \& \\cdots \& a_{1n} \\\\ a_{21} \& a_{22} \& \\cdots \& a_{2n} \\\\ \\vdots \& \\vdots \& \& \\vdots \\\\ a_{n1} \& a_{n2} \& \\cdots \& a_{nn} \\\\ \\end{bmatrix}= \\begin{bmatrix} 1 \\\\ l_{21} \& 1 \\\\ \\vdots \&\&\\ddots \\\\ l_{n1} \& \\cdots \& l_{n,n-1} \& 1 \\\\ \\end{bmatrix} \\begin{bmatrix} r_{11} \& r_{12} \& \\cdots \& r_{1n} \\\\ \& r_{22} \& \\cdots \& r_{2n} \\\\ \&\& \\ddots \& \\vdots \\\\ \&\&\& r_{nn} \\\\ \\end{bmatrix} a11a21⋮an1a12a22⋮an2⋯⋯⋯a1na2n⋮ann = 1l21⋮ln11⋯⋱ln,n−11 r11r12r22⋯⋯⋱r1nr2n⋮rnn 则 a 1 j = r 1 j a_{1j}=r_{1j} a1j=r1j,并且 a i j = { ∑ t = 1 j l i t r t j , j \< i ∑ t = 1 i − 1 l i t r t j + r i j , j ≥ i ( i = 2 , 3 , ⋯   , n ) a_{ij}= \\begin{cases} \\sum_{t=1}\^{j}l_{it}r_{tj}\\ , \& j\

例题:

最后将该紧凑形式拆分,得到:
A = [ 1 0 0 0 1 1 0 0 1 3 1 0 1 7 6 1 ] [ 1 2 3 4 0 2 6 12 0 0 6 24 0 0 0 24 ] A= \begin{bmatrix} 1 & 0 & 0 & 0 \\ 1 & 1 & 0 & 0 \\ 1 & 3 & 1 & 0 \\ 1 & 7 & 6 & 1 \\ \end{bmatrix} \begin{bmatrix} 1 & 2 & 3 & 4 \\ 0 & 2 & 6 & 12 \\ 0 & 0 & 6 & 24 \\ 0 & 0 & 0 & 24 \\ \end{bmatrix} A= 1111013700160001 1000220036604122424

二、QR分解(施密特正交化)

【定理】满秩方阵QR分解存在

设 A ∈ R n × n A\in\R^{n\times n} A∈Rn×n 满秩,则存在正交矩阵 Q Q Q 和 正线实上三角矩阵 R R R,使得 A = Q R A=QR A=QR

【定理】列满秩矩阵QR分解存在

设 A ∈ R m × n A\in\R^{m\times n} A∈Rm×n 列满秩,则有 A = Q R A=QR A=QR ,其中 Q ∈ C m × n Q\in\mathbb C^{m\times n} Q∈Cm×n 列满秩, Q H Q = E n Q^HQ=E_n QHQ=En, R ∈ C n × n R\in\mathbb C^{n\times n} R∈Cn×n 为正线上三角矩阵

【定理】矩阵的QR分解存在

设 A ∈ C m × n A\in\mathbb C^{m\times n} A∈Cm×n,rank A A A= r r r,则存在 B ∈ C m × r B\in\mathbb C^{m\times r} B∈Cm×r, C ∈ C r × n C\in\mathbb C^{r\times n} C∈Cr×n,rank B B B=rank C C C= r r r,使得 A = B C A=BC A=BC,这里的 A = B C A=BC A=BC 称为 A A A 的满秩分解
设 A ∈ C m × n A\in\mathbb C^{m\times n} A∈Cm×n,rank A A A= r r r,则存在 Q ∈ R m × r Q\in\mathbb R^{m\times r} Q∈Rm×r, C ∈ C r × n C\in\mathbb C^{r\times n} C∈Cr×n,rank Q Q Q=rank R R R= r r r, Q H Q = E r Q^HQ=E_r QHQ=Er 使得 A = Q R A=QR A=QR,这里的 A = Q R A=QR A=QR 称为 A A A 的QR分解

【算法】QR分解算法

先将矩阵进行施密特正交化,过程如图所示,将矩阵的所有列向量化为标准正交基

可以得到
A = [ α 1 , α 2 , ⋯   , α n ] = [ η 1 , η 2 , ⋯   , η n ] [ l 11 l 21 ⋯ l n 1 0 l 22 ⋯ l n 2 ⋮ ⋮ ⋮ 0 0 ⋯ l n n ] = U R A=[\alpha_1,\alpha_2,\cdots,\alpha_n]=[\eta_1,\eta_2,\cdots,\eta_n] \begin{bmatrix} l_{11} & l_{21} & \cdots & l_{n1} \\ 0 & l_{22} & \cdots & l_{n2} \\ \vdots & \vdots && \vdots & \\ 0 & 0 & \cdots & l_{nn} \\ \end{bmatrix}=UR A=[α1,α2,⋯,αn]=[η1,η2,⋯,ηn] l110⋮0l21l22⋮0⋯⋯⋯ln1ln2⋮lnn =UR

其中 U U U 为酉矩阵, R R R 为正线上三角矩阵

三、谱分解

【定义】谱分解

A = P Λ P − 1 = [ ξ 1 , ξ 2 , ⋯   , ξ n ] [ λ 1 λ 2 ⋱ λ n ] [ η 1 T η 2 T ⋮ η n T ] = λ 1 ξ 1 η 1 T + λ 2 ξ 2 η 2 T + ⋯ + λ n ξ n η n T A=P\Lambda P^{-1}=[\xi_1,\xi_2,\cdots,\xi_n] \begin{bmatrix} \lambda_1 \\ & \lambda_2 \\ && \ddots \\ &&& \lambda_n \\ \end{bmatrix} \begin{bmatrix} \eta_1^T \\ \eta_2^T \\ \vdots \\ \eta_n^T \\ \end{bmatrix}= \lambda_1\xi_1\eta_1^T + \lambda_2\xi_2\eta_2^T + \cdots + \lambda_n\xi_n\eta_n^T A=PΛP−1=[ξ1,ξ2,⋯,ξn] λ1λ2⋱λn η1Tη2T⋮ηnT =λ1ξ1η1T+λ2ξ2η2T+⋯+λnξnηnT

令 G i = ξ i η i T G_i=\xi_i\eta_i^T Gi=ξiηiT,则 A = ∑ λ i G i A=\sum\lambda_iG_i A=∑λiGi 为矩阵的谱分解

【定理】谱分解唯一性

设 A ∈ C n × n A\in\mathbb C^{n\times n} A∈Cn×n, A A A 存在 n 个线性无关的特征向量, λ 1 , λ 2 , ⋯   , λ r \lambda_1,\lambda_2,\cdots,\lambda_r λ1,λ2,⋯,λr,为 A A A 的全部相异特征值,则 A A A 可以进行满足下列性质的谱分解:

  • A = ∑ j = 1 r λ j E j A=\sum_{j=1}^r\lambda_jE_j A=∑j=1rλjEj
  • E j 2 = E j E_j^2=E_j Ej2=Ej, ( j = 1 , 2 , ⋯   , r ) (j=1,2,\cdots,r) (j=1,2,⋯,r)
  • E i E j = 0 E_iE_j=0 EiEj=0, ( i ≠ j , i , j = 1 , 2 , ⋯   , r ) (i\neq j,i,j=1,2,\cdots,r) (i=j,i,j=1,2,⋯,r)
  • ∑ j = 1 r E j = E \sum_{j=1}^rE_j=E ∑j=1rEj=E
  • rank E j = n j E_j=n_j Ej=nj,这里 n j n_j nj 为 λ j \lambda_j λj 的代数重数

满足上述性质的 E j E_j Ej 唯一确定

注: E i = ξ i 1 η i 1 T + ξ i 2 η i 2 T + ⋯ + ξ i r η i r T E_i=\xi_{i1}\eta_{i1}^T + \xi_{i2}\eta_{i2}^T + \cdots + \xi_{ir}\eta_{ir}^T Ei=ξi1ηi1T+ξi2ηi2T+⋯+ξirηirT

【算法】谱分解算法

求谱分解方法1



求谱分解方法2

四、奇异值分解

【定理】AAH、AHA与特征值

设 A ∈ C m × n A\in\mathbb C^{m\times n} A∈Cm×n,则

  1. r a n k ( A A H ) = r a n k ( A H A ) = r a n k A rank(AA^H)=rank(A^HA)=rankA rank(AAH)=rank(AHA)=rankA
  2. A H A A^HA AHA 与 A A H AA^H AAH 均为半正定 Hermite 矩阵
  3. r a n k A = r rankA=r rankA=r, λ 1 ≥ λ 2 ≥ ⋯ ≥ λ r \lambda_1\geq\lambda_2\geq\cdots\geq\lambda_r λ1≥λ2≥⋯≥λr 为 A A H AA^H AAH 的全部正特征值
  4. r a n k A = r rankA=r rankA=r, μ 1 ≥ μ 2 ≥ ⋯ ≥ μ r \mu_1\geq\mu_2\geq\cdots\geq\mu_r μ1≥μ2≥⋯≥μr 为 A H A A^HA AHA 的全部正特征值
  5. 3、4 中 λ i = μ i \lambda_i=\mu_i λi=μi, i = 1 , 2 , ⋯   , r i=1,2,\cdots,r i=1,2,⋯,r。 A A H AA^H AAH 与 A H A A^HA AHA 的正特征值一样,只是 0 特征值的数量不一样
【定义】奇异值

设 A ∈ C m × n A\in\mathbb C^{m\times n} A∈Cm×n,rank A = r A=r A=r, λ 1 , λ 2 , ⋯   , λ r \lambda_1,\lambda_2,\cdots,\lambda_r λ1,λ2,⋯,λr 为 A A H AA^H AAH 的正特征值

称 σ i = λ i \sigma_i=\sqrt\lambda_i σi=λ i( i = 1 , 2 , ⋯   , r i=1,2,\cdots,r i=1,2,⋯,r)为 A A A 的奇异值
注:

  • A A A 与 A H A^H AH 具有相同的奇异值
  • 若 A A A 为 Hermite 矩阵,则 A A A 的奇异值等于 A A A 的非零特征值的绝对值
【定义】奇异值分解

设 A ∈ C m × n A\in\mathbb C^{m\times n} A∈Cm×n,rank A = r A=r A=r, σ 1 ≥ σ 2 ≥ ⋯ ≥ σ r \sigma_1\geq\sigma_2\geq\cdots\geq\sigma_r σ1≥σ2≥⋯≥σr 为 A A A 的奇异值,则

存在 m 阶酉矩阵 U U U 和 n 阶酉矩阵 V V V 使得:
U H A V = D = [ Δ 0 0 0 ] m × n U^HAV=D= \begin{bmatrix} \Delta & 0 \\ 0 & 0 \\ \end{bmatrix}_{m\times n} UHAV=D=[Δ000]m×n

其中 Δ = d i a g ( σ 1 , σ 2 , ⋯   , σ r ) \Delta=diag(\sigma_1,\sigma_2,\cdots,\sigma_r) Δ=diag(σ1,σ2,⋯,σr) ,称 A = U H A V A=U^HAV A=UHAV 为 A A A 的奇异值分解

【算法】奇异值分解算法
本文是转载文章,点击查看原文
如有侵权,请联系 xyy@jishuzhan.net 删除
相关推荐
飞川撸码6 小时前
【LeetCode 热题100】73:矩阵置零(详细解析)(Go语言版)
leetcode·矩阵·golang
ChoSeitaku8 小时前
NO.84十六届蓝桥杯备战|动态规划-路径类DP|矩阵的最小路径和|迷雾森林|过河卒|方格取数(C++)
c++·矩阵·蓝桥杯
熬夜造bug9 小时前
LeetCode Hot100 刷题笔记(2)—— 子串、普通数组、矩阵
笔记·leetcode·矩阵
xcLeigh10 小时前
计算机视觉中的数学:几何变换与矩阵运算详解
人工智能·计算机视觉·矩阵
HappyAcmen11 小时前
线代第三课:n阶行列式
笔记·学习·线性代数
小羊在奋斗1 天前
【多源BFS】01 矩阵 / 飞地的数量 / 地图中的最高点 / 地图分析 / 腐烂的苹果
算法·矩阵·宽度优先
Hotlogin2 天前
基于分布式指纹引擎的矩阵运营技术实践:突破平台风控的工程化解决方案
分布式·爬虫·线性代数·矩阵
GIS程序媛—椰子2 天前
【数学】线性代数(Python)
python·线性代数·机器学习
猿儿本无心2 天前
WebGL数学手记:矩阵基础
线性代数·矩阵·webgl
双叶8362 天前
(51单片机)矩阵按键密码锁表白(C语言代码编撰)(矩阵按键教程)(LCD1602浅教程)
c语言·开发语言·c++·算法·游戏·矩阵·51单片机