LU分解 LDL分解 Cholesky分解

本文详细介绍了矩阵的LU、LDL和Cholesky分解,包括高斯消元变换及其性质,如矩阵的行列式、下三角矩阵的乘法和逆矩阵,以及分解的唯一性和存在性。特别地,针对实正定对称矩阵,证明了Cholesky分解的存在性和唯一性。
摘要由CSDN通过智能技术生成

a 上/下三角矩阵及其性质

b 高斯消元变换

M k v = [ 1 ⋱ 1 − v k + 1 v k 1 ⋮ ⋱ − v n v k 1 ] [ v 1 ⋮ v k v k + 1 ⋮ v n ] = [ v 1 ⋮ v k 0 ⋮ 0 ] M_k v = \begin{bmatrix} 1 & & & & & \\ & \ddots & & & & \\ & & 1 & & & \\ & & -\frac{v_{k+1}}{v_k} & 1 & & \\ & & \vdots & & \ddots & \\ & & -\frac{v_n}{v_k} & & & 1 \\ \end{bmatrix} \begin{bmatrix} v_1 \\ \vdots \\ v_k \\ v_{k+1} \\ \vdots \\ v_n \\ \end{bmatrix} = \begin{bmatrix} v_1 \\ \vdots \\ v_k \\ 0 \\ \vdots \\ 0 \\ \end{bmatrix} Mkv=11vkvk+1vkvn11v1vkvk+1vn=v1vk00

c高斯消元变换算法的结果

1: A ( 1 ) = A A^{(1)}=A A(1)=A
2: FOR k = 1 , 2 , . . . , n − 1 k= 1,2,...,n- 1 k=1,2,...,n1 DO
3: 令 v = A : k ( k ) v=A^{(k)}_{:k} v=A:k(k) (即 A ( k ) A^{(k)} A(k)A(:,k)(MATLAB写法)),并基于 v v v计算高斯变换 M k M_k Mk
4: A ( k + 1 ) ← M k A ( k ) A^{(k+1)} ← M_k A^{(k)} A(k+1)MkA(k)
5: END FOR

A ( n ) A^{(n)} A(n)第k列的后(n-k)个元素一定是0.
A ( n ) A^{(n)} A(n)是上三角矩阵.

注: 高斯变换消元 A k k ( k ) ≠ 0 A^{(k)}_{kk} \neq 0 Akk(k)=0当且仅当顺序主子式均不为零. (容易证明初等变换不改变顺序主子式之值)
实际计算过程中, 为了保持数值稳定性, 通常会选取A(k+1:n,k+1:n)或者A(k+1:n,k+1)绝对值最大元素(分布称作矩阵主元和列主元), 然后将其通过初等变换将其位置交换到(k+1,k+1). 由于列主元方法计算复杂度较低, 因此实际实现往往采用列主元法. 列主元法也能把 A k k ( k ) = 0 A^{(k)}_{kk} = 0 Akk(k)=0的元素移动到矩阵的末尾, 从而推导出PLU分解, 可以看作LU分解的推广. PLU分解比LU分解更加繁复, 这里就不深入讨论了,

中文 英文 数学
主子式 principal minor D D D
顺序主子式 sequential principal minor D k D_k Dk
余子式 i j minor M i j M_{ij} Mij
代数余子式 i j cofactor C i j = ( − 1 ) i + j M i j C_{ij} = (-1)^{i+j} M_{ij} Cij=(1)i+jMij

d.1 高斯消元变换矩阵的行列式

易见 M k M_k Mk是下三角矩阵, 因此 det ⁡ ( M k ) = ∏ i = 1 n ( M k ) i i = ∏ i = 1 n 1 = 1 \det(M_k) = \prod\limits_{i=1}^{n} {\left(M_k\right)}_{ii} = \prod\limits_{i=1}^{n} 1 = 1 det(Mk)=i=1n(Mk)ii=i=1n1=1.

d.2 高斯消元变换矩阵的积

引理d.2.1 两个下三角矩阵之积仍是下三角矩阵.

只需证明, i < j i<j i<j时, ( L 1 L 2 ) i j = 0 (L^1L^2)_{ij}=0 (L1L2)ij=0.
如果 i < j i<j i<j,
- ( L 1 L 2 ) i j = ∑ k = 1 n L i k 1 L k j 2 = ∑ k = 1 i L i k 1 L k j 2 + ∑ k = i + 1 n L i k 1 L k j 2 (L^1L^2)_{ij} = \sum\limits_{k=1}^{n} L^1_{ik} L^2_{kj} = \sum\limits_{k=1}^{i} L^1_{ik} L^2_{kj} + \sum\limits_{k=i+1}^{n} L^1_{ik} L^2_{kj} (L1L2)ij=k=1nLik1Lkj2=k=1iLik1Lkj2+k=i+1nLik1Lkj2

  • 由于 L 2 L^2 L2是下三角矩阵, 所以 ∑ k = 1 i L i k 1 L k j 2 = 0 \sum\limits_{k=1}^{i} L^1_{ik} L^2_{kj} = 0 k=1iLik1Lkj2=0.
  • 由于 L 1 L^1 L1是下三角矩阵, 所以 ∑ k = i + 1 i L i k 1 L k j 2 = 0 \sum\limits_{k=i+1}^{i} L^1_{ik} L^2_{kj} = 0 k=i+1iLik1Lkj2=0.
    - ( L 1 L 2 ) i j = ∑ k = 1 i L i k 1 L k j 2 + ∑ k = i + 1 n L i k 1 L k j 2 = 0 + 0 = 0 (L^1L^2)_{ij} = \sum\limits_{k=1}^{i} L^1_{ik} L^2_{kj} + \sum\limits_{k=i+1}^{n} L^1_{ik} L^2_{kj} = 0+0 = 0 (L1L2)ij=k=1iLik1Lkj2+k=i+1nLik1Lkj2=0+0=0

引理d.2.2 det ⁡ ( X Y ) = det ⁡ ( X ) det ⁡ ( Y ) \det(XY) = \det(X) \det(Y) det(XY)=det(X)det(Y)

由于 M 1 , … , M n − 1 M_1,\dots,M_{n-1} M1,,Mn1都是下三角矩阵, 迭用 引理d.2.1, L = M n − 1 ⋯ M 1 L = M_{n-1} \cdots M_1 L=Mn1M1是下三角矩阵.

根据 d.1, det ⁡ ( M 1 ) = ⋯ = det ⁡ ( M n − 1 ) = 1 \det(M_1)=\dots=\det(M_{n-1})=1 det(M1)==det(Mn1)=1, 迭用 引理d.2.1, det ⁡ ( L ) = det ⁡ ( M n − 1 ) ⋯ det ⁡ ( M 1 ) = 1 ⋯ 1 = 1 \det(L) = \det(M_{n-1}) \cdots \det(M_1) = 1 \cdots 1 = 1 det(L)=det(Mn1)det(M1)=11=1.

e LU分解 的 存在性 和 唯一性

引理e.1 两个下三角矩阵之积的对角线元素 等于 两个下三角矩阵的对角线元素之积.

- ( L 1 L 2 ) i i = ∑ k = 1 n L i k 1 L k i 2 = ∑ k = 1 i − 1 L i k 1 L k i 2 + L i i 1 L i i 2 + ∑ k = i + 1 n L i k 1 L k i 2 (L^1L^2)_{ii} = \sum\limits_{k=1}^{n} L^1_{ik} L^2_{ki} = \sum\limits_{k=1}^{i-1} L^1_{ik} L^2_{ki} + L^1_{ii} L^2_{ii} + \sum\limits_{k=i+1}^{n} L^1_{ik} L^2_{ki} (L1L2)ii=k=1nLik1Lki2=k=1i1Lik1Lki2+Lii1Lii

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值