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

b 高斯消元变换

Mkv=[1⋱1−vk+1vk1⋮⋱−vnvk1][v1⋮vkvk+1⋮vn]=[v1⋮vk0⋮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}Mk​v=⎣⎢⎢⎢⎢⎢⎢⎢⎡​1​⋱​1−vk​vk+1​​⋮−vk​vn​​​1​⋱​1​⎦⎥⎥⎥⎥⎥⎥⎥⎤​⎣⎢⎢⎢⎢⎢⎢⎢⎢⎡​v1​⋮vk​vk+1​⋮vn​​⎦⎥⎥⎥⎥⎥⎥⎥⎥⎤​=⎣⎢⎢⎢⎢⎢⎢⎢⎢⎡​v1​⋮vk​0⋮0​⎦⎥⎥⎥⎥⎥⎥⎥⎥⎤​

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

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

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

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

中文 英文 数学
主子式 principal minor DDD
顺序主子式 sequential principal minor DkD_kDk​
余子式 i j minor MijM_{ij}Mij​
代数余子式 i j cofactor Cij=(−1)i+jMijC_{ij} = (-1)^{i+j} M_{ij}Cij​=(−1)i+jMij​

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

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

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

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

只需证明, i<ji<ji<j时, (L1L2)ij=0(L^1L^2)_{ij}=0(L1L2)ij​=0.
如果i<ji<ji<j,
-(L1L2)ij=∑k=1nLik1Lkj2=∑k=1iLik1Lkj2+∑k=i+1nLik1Lkj2(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=1∑n​Lik1​Lkj2​=k=1∑i​Lik1​Lkj2​+k=i+1∑n​Lik1​Lkj2​

  • 由于L2L^2L2是下三角矩阵, 所以∑k=1iLik1Lkj2=0\sum\limits_{k=1}^{i} L^1_{ik} L^2_{kj} = 0k=1∑i​Lik1​Lkj2​=0.
  • 由于L1L^1L1是下三角矩阵, 所以∑k=i+1iLik1Lkj2=0\sum\limits_{k=i+1}^{i} L^1_{ik} L^2_{kj} = 0k=i+1∑i​Lik1​Lkj2​=0.
    -(L1L2)ij=∑k=1iLik1Lkj2+∑k=i+1nLik1Lkj2=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=1∑i​Lik1​Lkj2​+k=i+1∑n​Lik1​Lkj2​=0+0=0

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

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

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

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

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

-(L1L2)ii=∑k=1nLik1Lki2=∑k=1i−1Lik1Lki2+Lii1Lii2+∑k=i+1nLik1Lki2(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=1∑n​Lik1​Lki2​=k=1∑i−1​Lik1​Lki2​+Lii1​Lii2​+k=i+1∑n​Lik1​Lki2​

  • 由于L2L^2L2是下三角矩阵, 所以∑k=1i−1Lik1Lki2=0\sum\limits_{k=1}^{i-1} L^1_{ik} L^2_{ki} = 0k=1∑i−1​Lik1​Lki2​=0.
  • 由于L1L^1L1是下三角矩阵, 所以∑k=i+1iLik1Lki2=0\sum\limits_{k=i+1}^{i} L^1_{ik} L^2_{ki} = 0k=i+1∑i​Lik1​Lki2​=0.
    -(L1L2)ii=∑k=1i−1Lik1Lki2+Lii1Lii2+∑k=i+1nLik1Lki2=Lii1Lii2(L^1L^2)_{ii} = \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} = L^1_{ii} L^2_{ii}(L1L2)ii​=k=1∑i−1​Lik1​Lki2​+Lii1​Lii2​+k=i+1∑n​Lik1​Lki2​=Lii1​Lii2​

引理e.2 下三角矩阵的逆矩阵也是下三角矩阵

  • 由于LLL可逆, 所以det⁡(L)=∏i=1NLii≠0\det(L) = \prod\limits_{i=1}^N L_{ii} \neq 0det(L)=i=1∏N​Lii​​=0, 进而Lii≠0L_{ii} \neq 0Lii​​=0.
  • 记L−1=[v1,…,vn]L^{-1} = [v_1, \dots, v_n]L−1=[v1​,…,vn​].
  • 由于LL−1=I=[e1,…,en]LL^{-1} = I = [e_1, \dots, e_n]LL−1=I=[e1​,…,en​], 所以Lvk=ekL v_k = e_kLvk​=ek​.
  • 只需证明, (vk)1:k−1(v_k)_{1:k-1}(vk​)1:k−1​必然都是0.
    注意(ek)1:k−1(e_k)_{1:k-1}(ek​)1:k−1​都是0
    -0=(ek)1=(Lvk)1=∑i=1nL1i(vk)i=L11(vk)10 = (e_k)_1 = (L v_k)_1 = \sum\limits_{i=1}^{n} L_{1i} (v_k)_i = L_{11} (v_k)_10=(ek​)1​=(Lvk​)1​=i=1∑n​L1i​(vk​)i​=L11​(vk​)1​, 由于L11≠0L_{11} \neq 0L11​​=0, 所以(vk)1=0(v_k)_1 = 0(vk​)1​=0.
    -0=(ek)2=(Lvk)2=∑i=1nL2i(vk)i=L21(vk)1+L22(vk)20 = (e_k)_2 = (L v_k)_2 = \sum\limits_{i=1}^{n} L_{2i} (v_k)_i = L_{21} (v_k)_1 + L_{22} (v_k)_20=(ek​)2​=(Lvk​)2​=i=1∑n​L2i​(vk​)i​=L21​(vk​)1​+L22​(vk​)2​, 由于(vk)1=0,L22≠0(v_k)_1 = 0, L_{22} \neq 0(vk​)1​=0,L22​​=0, 所以(vk)2=0(v_k)_2 = 0(vk​)2​=0.

    • 以此类推, 归纳可得0=(ek)j=(Lvk)j=∑i=1nLji(vk)i=∑i=1jLji(vk)i0 = (e_k)_j = (L v_k)_j = \sum\limits_{i=1}^{n} L_{ji} (v_k)_i = \sum\limits_{i=1}^{j} L_{ji} (v_k)_i0=(ek​)j​=(Lvk​)j​=i=1∑n​Lji​(vk​)i​=i=1∑j​Lji​(vk​)i​, 由于(vk)1=⋯=(vk)j−1=0,Ljj≠0(v_k)_1 = \dots = (v_k)_{j-1} = 0, L_{jj} \neq 0(vk​)1​=⋯=(vk​)j−1​=0,Ljj​​=0, 所以(vk)j=0(v_k)_j = 0(vk​)j​=0.
      -j∈{1,…,k−1}j \in \{1, \dots, k-1\}j∈{1,…,k−1}上式都成立, 即(vk)1:k−1(v_k)_{1:k-1}(vk​)1:k−1​必然都是0.

引理e.3 如果下三角矩阵的对角线元素都是1, 那么这个下三角矩阵的的逆矩阵的对角线元素也都是1.

-LL−1=ILL^{-1} = ILL−1=I.

  • 根据 引理e.1, 两个下三角矩阵之积的对角线元素 等于 两个下三角矩阵的对角线元素之积, 由于Lii=Iii=1L_{ii}=I_{ii}=1Lii​=Iii​=1, 所以Lii−1=IiiLii=1L^{-1}_{ii} = \frac{I_{ii}}{L_{ii}} = 1Lii−1​=Lii​Iii​​=1.

引理e.4 如果AAA是非奇异的n×nn \times nn×n方形矩阵, 那么可以对AAA执行c中的高斯消元变换算法, 有保证Akk(k)≠0A^{(k)}_{kk} \neq 0Akk(k)​​=0. (反之, 如果有保证Akk(k)≠0A^{(k)}_{kk} \neq 0Akk(k)​​=0, 那么AAA非奇异, 是显然的.)
采用反证法

  • 对于第一次Akk(k)=0A^{(k)}_{kk} = 0Akk(k)​=0, 采取A(k+1)=Mk−1A(k)A^{(k+1)} = M_{k-1} A^{(k)}A(k+1)=Mk−1​A(k), (对后续所有Akk(k)=0A^{(k)}_{kk} = 0Akk(k)​=0的kkk采取这种方法). 由于至少有一个kkk满足Akk(k)=0A^{(k)}_{kk} = 0Akk(k)​=0, 所以A(n)=MmA(n−1)A^{(n)} = M_{m} A^{(n-1)}A(n)=Mm​A(n−1)中必然有m<nm < nm<n, 进而A(n)A^{(n)}A(n)的后n−mn-mn−m行全部为0, 导致det⁡(A(n))=0\det(A^{(n)}) = 0det(A(n))=0.
  • 根据 d.2, det⁡(L)=det⁡(Mn−1⋯M1)=1\det(L) = \det(M_{n-1} \cdots M_1) = 1det(L)=det(Mn−1​⋯M1​)=1; 根据假设, AAA非奇异, det⁡(A)=1\det(A)=1det(A)=1.
  • 根据c中的高斯消元变换算法, A(n)=(Mn−1⋯M1)A=LAA^{(n)} = (M_{n-1} \cdots M_1) A = LAA(n)=(Mn−1​⋯M1​)A=LA, 即0=det⁡(A(n))=det⁡(L)det⁡(A)=1⋅1=10 = \det(A^{(n)}) = \det(L) \det(A) = 1 \cdot 1 = 10=det(A(n))=det(L)det(A)=1⋅1=1, 矛盾!

引理e.5 如果有保证Akk(k)≠0A^{(k)}_{kk} \neq 0Akk(k)​​=0, 那么c中的高斯消元变换算法是唯一性的. (其结果M1,…,Mn−1M_1,\dots,M_{n-1}M1​,…,Mn−1​和过程A(1),…,A(n)A^{(1)},\dots,A^{(n)}A(1),…,A(n)由AAA唯一确定.) 这是显然的.

引理e.6 如果Akk(k)=0A^{(k)}_{kk} = 0Akk(k)​=0, 那么c中的高斯消元变换算法是不唯一性的.

  • 方法1(引理e.4证明中采取的方法) 对于第一次Akk(k)=0A^{(k)}_{kk} = 0Akk(k)​=0, 采取A(k+1)=Mk−1A(k)A^{(k+1)} = M_{k-1} A^{(k)}A(k+1)=Mk−1​A(k), (对后续所有Akk(k)=0A^{(k)}_{kk} = 0Akk(k)​=0的kkk采取这种方法). 由于至少有一个kkk满足Akk(k)=0A^{(k)}_{kk} = 0Akk(k)​=0, 所以A(n)=MmA(n−1)A^{(n)} = M_{m} A^{(n-1)}A(n)=Mm​A(n−1)中必然有m<nm < nm<n.
  • 方法2 注意 v=Akv = A_kv=Ak​, vk=Akk=0v_k = A_{kk} = 0vk​=Akk​=0, 则取
    Mk=[1⋱1−vk+1vk+ϵ1⋮⋱−vnvk+ϵ1]M_k = \begin{bmatrix} 1 & & & & & \\ & \ddots & & & & \\ & & 1 & & & \\ & & -\frac{v_{k+1}}{v_k+\epsilon} & 1 & & \\ & & \vdots & & \ddots & \\ & & -\frac{v_n}{v_k+\epsilon} & & & 1 \\ \end{bmatrix}Mk​=⎣⎢⎢⎢⎢⎢⎢⎢⎡​1​⋱​1−vk​+ϵvk+1​​⋮−vk​+ϵvn​​​1​⋱​1​⎦⎥⎥⎥⎥⎥⎥⎥⎤​
    (当然, 要首先给Akk(k)A^{(k)}_{kk}Akk(k)​加上一个ϵ\epsilonϵ然后再减掉; 总之, 要让A(k,k+1:n)都是零.)
  • 以上两种方法不相同, 所以Akk(k)=0A^{(k)}_{kk} = 0Akk(k)​=0时c中的高斯消元变换算法是不唯一性的.
  • 以上两种方法均不影响M1,…,Mn−1M_1,\dots,M_{n-1}M1​,…,Mn−1​是的对角线元素都是1的下三角矩阵.

我们证明更广泛的结论.

首先, 我们讨论AAA非奇异的情形.
根据 引理e.4, 可以对AAA执行c中的高斯消元变换算法, 有保证Akk(k)≠0A^{(k)}_{kk} \neq 0Akk(k)​​=0, 得到结果A(n)=(Mn−1⋯M1)A=LAA^{(n)} = (M_{n-1} \cdots M_1) A = LAA(n)=(Mn−1​⋯M1​)A=LA.
根据 d.2, det⁡(L)=1\det(L) = 1det(L)=1, 所以A=L−1A(n)=L^U^A = L^{-1} A^{(n)} = \hat L \hat UA=L−1A(n)=L^U^.
根据 引理e.2, 由于LLL是下三角矩阵, 所以L^=L−1\hat L = L^{-1}L^=L−1也是下三角矩阵.
根据 引理e.3, 由于LLL的对角线元素都是1, 所以L^=L−1\hat L = L^{-1}L^=L−1的对角线元素也都是1.
根据 c, U^=A(n)\hat U = A^{(n)}U^=A(n)是上三角矩阵.
根据 引理e.5, L,A(n)L,A^{(n)}L,A(n)由AAA唯一确定, 进而L^=L−1,U^=A(n)\hat L = L^{-1}, \hat U = A^{(n)}L^=L−1,U^=A(n)也由AAA唯一确定.
综上所述, AAA非奇异时, 存在唯一的LU分解A=L^U^A = \hat L \hat UA=L^U^, 其中L^\hat LL^是下三角矩阵, U^\hat UU^是上三角矩阵, 而且L^\hat LL^的对角线元素都是1.

然后, 我们讨论AAA奇异的情形.
根据 引理e.4, 可以对AAA执行c中的高斯消元变换算法, 不保证Akk(k)≠0A^{(k)}_{kk} \neq 0Akk(k)​​=0, 得到结果A(n)=(Mn−1⋯M1)A=LAA^{(n)} = (M_{n-1} \cdots M_1) A = LAA(n)=(Mn−1​⋯M1​)A=LA.
根据 d.2, det⁡(L)=1\det(L) = 1det(L)=1, 所以A=L−1A(n)=L^U^A = L^{-1} A^{(n)} = \hat L \hat UA=L−1A(n)=L^U^.
根据 引理e.2, 由于LLL是下三角矩阵, 所以L^=L−1\hat L = L^{-1}L^=L−1也是下三角矩阵.
根据 引理e.3, 由于LLL的对角线元素都是1, 所以L^=L−1\hat L = L^{-1}L^=L−1的对角线元素也都是1.
根据 c, U^=A(n)\hat U = A^{(n)}U^=A(n)是上三角矩阵.
根据 引理e.6, L,A(n)L,A^{(n)}L,A(n)可能不由AAA唯一确定, 进而L^=L−1,U^=A(n)\hat L = L^{-1}, \hat U = A^{(n)}L^=L−1,U^=A(n)也可能不由AAA唯一确定.
综上所述, AAA非奇异时, 存在可能不唯一的LU分解A=L^U^A = \hat L \hat UA=L^U^, 其中L^\hat LL^是下三角矩阵, U^\hat UU^是上三角矩阵, 而且L^\hat LL^的对角线元素都是1.

所以, 无论AAA是否奇异, 都存在LU分解A=L^U^A = \hat L \hat UA=L^U^, 其中L^\hat LL^是下三角矩阵, U^\hat UU^是上三角矩阵, 而且L^\hat LL^的对角线元素都是1.
AAA非奇异时, LU分解唯一.
AAA奇异时, LU分解可能不唯一.

注意, AAA奇异时, 仍有可能存在唯一的LU分解.
题目中仅保证AAA的主子阵A1:k,1:k,k∈{1,…,n−1}A_{1:k,1:k}, k\in\{1,\dots,n-1\}A1:k,1:k​,k∈{1,…,n−1}非奇异的情形就是例子.
对AAA执行c中的高斯消元变换算法, 可以保证Akk(k)≠0,k∈{1,…,n−1}A^{(k)}_{kk} \neq 0, k\in\{1,\dots,n-1\}Akk(k)​​=0,k∈{1,…,n−1}.
根据 引理e.5, 如果AAA非奇异, 那么只能是 Ann(n)=0A^{(n)}_{nn}=0Ann(n)​=0, 这仅仅导致A(n)=(Mn−1⋯M1)A=LAA^{(n)} = (M_{n-1} \cdots M_1) A = LAA(n)=(Mn−1​⋯M1​)A=LA中A(n)A^{(n)}A(n)的最后一行全是0, 并不影响之前的过程的唯一性.

f&g 简单证法

A=L1U=L1DU1A = L_1 U = L_1 D U_1A=L1​U=L1​DU1​, 其中L1L_1L1​和U1U_1U1​的对角线元素都是1.

  • 如果A=ATA=A^TA=AT, 那么L1UU1=U1TDL1TL_1 U U_1 = U_1^T D L_1^TL1​UU1​=U1T​DL1T​, 由LU分解的唯一性知U1=L1TU_1=L_1^TU1​=L1T​, A=L1DL1TA=L_1DL_1^TA=L1​DL1T​.
  • 如果A≻0A \succ 0A≻0, 记C=L1D12C = L_1 D^{\frac{1}{2}}C=L1​D21​, 那么A=CCTA = CC^TA=CCT, 注意CCC是下三角矩阵且唯一.

f LDL分解 的 存在性 和 唯一性

采用归纳法

  • 实正定对称矩阵A∈R1×1A \in \mathbb{R}^{1 \times 1}A∈R1×1, A=[1][A11][1],[1]A[1]=[A11]A = [1] [A_{11}] [1], [1] A [1] = [A_{11}]A=[1][A11​][1],[1]A[1]=[A11​], 存在且唯一.
  • 假设 实正定对称矩阵A∈Rn×nA \in \mathbb{R}^{n \times n}A∈Rn×n, A=LDLT,GAGT=DA = LDL^T, GAG^T=DA=LDLT,GAGT=D, LLL是对角线元素都是1的下三角矩阵(G=L−1G=L^{-1}G=L−1也是对角线元素都是1的下三角矩阵, 见 引理e.2 和 引理e.3), DDD是对角矩阵, 存在且唯一.
    下证 实正定对称矩阵A^=[AaaTα]∈R(n+1)×(n+1)\hat A = \begin{bmatrix} A & a \\ a^T & \alpha \\ \end{bmatrix} \in \mathbb{R}^{(n+1) \times (n+1)}A^=[AaT​aα​]∈R(n+1)×(n+1), A^=L^D^L^T,G^A^G^T=D^\hat A = \hat L \hat D \hat L^T, \hat G \hat A \hat G^T = \hat DA^=L^D^L^T,G^A^G^T=D^, L^\hat LL^是对角线元素都是1的下三角矩阵(G^=L^−1\hat G = \hat L^{-1}G^=L^−1), D^\hat DD^是对角矩阵, 存在且唯一.

    • B=[G001]B = \begin{bmatrix} G & 0 \\ 0 & 1 \\ \end{bmatrix}B=[G0​01​], BA^BT=[DGa(Ga)Tα]B \hat A B^T = \begin{bmatrix} D & Ga \\ (Ga)^T & \alpha \\ \end{bmatrix}BA^BT=[D(Ga)T​Gaα​].
    • C=[I0−G−TA−1a1]C = \begin{bmatrix} I & 0 \\ -G^{-T}A^{-1}a & 1 \\ \end{bmatrix}C=[I−G−TA−1a​01​], CBA^BTCT=[D00α−aTA−1a]CB \hat A B^TC^T = \begin{bmatrix} D & 0 \\ 0 & \alpha-a^TA^{-1}a \\ \end{bmatrix}CBA^BTCT=[D0​0α−aTA−1a​].
    • 注意到, B,CB,CB,C都是对角线元素都是1的下三角矩阵, 存在且唯一.
    • 综上所述, G^=CB\hat G = CBG^=CB, L^=G^−1\hat L = {\hat G}^{-1}L^=G^−1满足条件, 存在且唯一.

g Cholesky分解 的 存在性 和 唯一性

在f的基础上只需额外证明Dii>0D_{ii}>0Dii​>0

采用归纳法

  • 实正定对称矩阵A∈R1×1A \in \mathbb{R}^{1 \times 1}A∈R1×1, A=[1][A11][1],[1]A[1]=[A11]A = [1] [A_{11}] [1], [1] A [1] = [A_{11}]A=[1][A11​][1],[1]A[1]=[A11​], 存在且唯一, [A11]>0[A_{11}]>0[A11​]>0.
  • 假设 实正定对称矩阵A∈Rn×nA \in \mathbb{R}^{n \times n}A∈Rn×n, A=LDLT,GAGT=DA = LDL^T, GAG^T=DA=LDLT,GAGT=D, LLL是对角线元素都是1的下三角矩阵(G=L−1G=L^{-1}G=L−1也是对角线元素都是1的下三角矩阵, 见 引理e.2 和 引理e.3), DDD是对角矩阵, 存在且唯一, Dii>0D_{ii}>0Dii​>0.
    根据 f, 实正定对称矩阵A^=[AaaTα]∈R(n+1)×(n+1)\hat A = \begin{bmatrix} A & a \\ a^T & \alpha \\ \end{bmatrix} \in \mathbb{R}^{(n+1) \times (n+1)}A^=[AaT​aα​]∈R(n+1)×(n+1), A^=L^D^L^T,G^A^G^T=D^\hat A = \hat L \hat D \hat L^T, \hat G \hat A \hat G^T = \hat DA^=L^D^L^T,G^A^G^T=D^, L^\hat LL^是对角线元素都是1的下三角矩阵(G^=L^−1\hat G = \hat L^{-1}G^=L^−1), D^\hat DD^是对角矩阵, 存在且唯一, 只需证明D^ii>0\hat D_{ii} > 0D^ii​>0.
    根据 f, D^=[D00α−aTA−1a]\hat D = \begin{bmatrix} D & 0 \\ 0 & \alpha-a^TA^{-1}a \\ \end{bmatrix}D^=[D0​0α−aTA−1a​], 只需证明α−aTA−1a>0\alpha-a^TA^{-1}a>0α−aTA−1a>0.
    考虑ene_nen​, 即(en)1:n−1=0(e_n)_{1:n-1}=0(en​)1:n−1​=0, (en)n=1(e_n)_n=1(en​)n​=1.
    α−aTA−1a=enTD^en=(G^Ten)TA^(G^Ten)\alpha-a^TA^{-1}a = e_n^T \hat D e_n = (\hat G^T e_n)^T \hat A (\hat G^T e_n)α−aTA−1a=enT​D^en​=(G^Ten​)TA^(G^Ten​).
    由于en≠0,G^Te_n \neq 0, \hat G^Ten​​=0,G^T非奇异, 所以(G^Ten)≠0(\hat G^T e_n) \neq 0(G^Ten​)​=0, 由于A^\hat AA^正定, 所以二次型(G^Ten)TA^(G^Ten)>0(\hat G^T e_n)^T \hat A (\hat G^T e_n)>0(G^Ten​)TA^(G^Ten​)>0, 即α−aTA−1a>0\alpha-a^TA^{-1}a>0α−aTA−1a>0.

综上所述, AAA是实正定对称矩阵, 可以唯一的分解成A=LDLTA=LDL^TA=LDLT, 其中LLL是对角线元素都是1的下三角矩阵, 其中DDD是元素都大于零的对角矩阵.
进而, AAA是实正定对称矩阵, 可以唯一的分解成A=(LD12)(LD12)T=GGTA=(LD^{\frac{1}{2}})(LD^{\frac{1}{2}})^T=GG^TA=(LD21​)(LD21​)T=GGT, G=LD12G=LD^{\frac{1}{2}}G=LD21​是对角线元素都是正数的下三角矩阵.

例题 Xij=min⁡{xi,xj}=xmin⁡{i,j}X_{ij} = \min\{x_i,x_j\} = x_{\min\{i,j\}}Xij​=min{xi​,xj​}=xmin{i,j}​, 0⩽x1⩽⋯⩽xn0 \leqslant x_1 \leqslant \dots \leqslant x_n0⩽x1​⩽⋯⩽xn​, 求证XXX(半)正定.

D=diag[x1,x2−x1,x3−x2,…,xn−1−xn−2,xn−xn−1]D = {\rm diag}[x_1, x_2-x_1, x_3-x_2, \dots, x_{n-1}-x_{n-2}, x_n - x_{n-1}]D=diag[x1​,x2​−x1​,x3​−x2​,…,xn−1​−xn−2​,xn​−xn−1​],
X=[x1x1x1⋯x1x1x1x2x2⋯x2x2x1x2x3⋯x3x3⋮⋮⋮⋱x1x2x3xn−1xn−1x1x2x3xn−1xn]X = \begin{bmatrix} x_1 & x_1 & x_1 & \cdots & x_1 & x_1 \\ x_1 & x_2 & x_2 & \cdots & x_2 & x_2 \\ x_1 & x_2 & x_3 & \cdots & x_3 & x_3 \\ \vdots & \vdots & \vdots & \ddots & & \\ x_1 & x_2 & x_3 & & x_{n-1}& x_{n-1}\\ x_1 & x_2 & x_3 & & x_{n-1}& x_n \\ \end{bmatrix}X=⎣⎢⎢⎢⎢⎢⎢⎢⎡​x1​x1​x1​⋮x1​x1​​x1​x2​x2​⋮x2​x2​​x1​x2​x3​⋮x3​x3​​⋯⋯⋯⋱​x1​x2​x3​xn−1​xn−1​​x1​x2​x3​xn−1​xn​​⎦⎥⎥⎥⎥⎥⎥⎥⎤​, L=[100⋯00110⋯00111⋯00⋮⋮⋮⋱1111011111]L = \begin{bmatrix} 1 & 0 & 0 & \cdots & 0 & 0 \\ 1 & 1 & 0 & \cdots & 0 & 0 \\ 1 & 1 & 1 & \cdots & 0 & 0 \\ \vdots & \vdots & \vdots & \ddots & & \\ 1 & 1 & 1 & & 1 & 0 \\ 1 & 1 & 1 & & 1 & 1 \\ \end{bmatrix}L=⎣⎢⎢⎢⎢⎢⎢⎢⎡​111⋮11​011⋮11​001⋮11​⋯⋯⋯⋱​00011​00001​⎦⎥⎥⎥⎥⎥⎥⎥⎤​,
X=LDLTX = LDL^TX=LDLT.
证明提要: LLL比较繁复, 但是L−1L^{-1}L−1形呈若尔当(Jordan)标准型, 比较简洁. 因此可以首先证明L−1L^{-1}L−1有如下形式, 然后证明L−1XL−T=DL^{-1}XL^{-T}=DL−1XL−T=D.
L=[100⋯00−110⋯000−11⋯00⋮⋮⋮⋱00010000−11]L = \begin{bmatrix} 1 & 0 & 0 & \cdots & 0 & 0 \\ -1 & 1 & 0 & \cdots & 0 & 0 \\ 0 & -1 & 1 & \cdots & 0 & 0 \\ \vdots & \vdots & \vdots & \ddots & & \\ 0 & 0 & 0 & & 1 & 0 \\ 0 & 0 & 0 & & -1 & 1 \\ \end{bmatrix}L=⎣⎢⎢⎢⎢⎢⎢⎢⎡​1−10⋮00​01−1⋮00​001⋮00​⋯⋯⋯⋱​0001−1​00001​⎦⎥⎥⎥⎥⎥⎥⎥⎤​

要证明XXX是半正定矩阵, 只需证明对任意nnn维向量v≠0v \neq 0v​=0都有vTXv⩾0v^TXv \geqslant 0vTXv⩾0.

  • vTXv=(LTv)TD(LTv)v^TXv = (L^Tv)^TD(L^Tv)vTXv=(LTv)TD(LTv)
  • DDD是元素全部非负的对角矩阵, (LTv)TD(LTv)=∑i=1nDii((LTv)i)2⩾0(L^Tv)^TD(L^Tv) = \sum\limits_{i=1}^{n} D_{ii} \left( \left( L^T v \right)_i \right)^2 \geqslant 0(LTv)TD(LTv)=i=1∑n​Dii​((LTv)i​)2⩾0.
  • 综上所述, 对任意nnn维向量v≠0v \neq 0v​=0, vTXv=(LTv)TD(LTv)⩾0v^TXv = (L^Tv)^TD(L^Tv) \geqslant 0vTXv=(LTv)TD(LTv)⩾0, 即XXX是半正定矩阵.

LU分解 LDL分解 Cholesky分解相关推荐

  1. 矩阵分解——三角分解(Cholesky 分解)

    (1)一个对角元素都是1的下三角矩阵,称为单位下三角矩阵. (2)上(下)三角矩阵的乘积仍是上(下)三角矩阵: (3)一般来说,矩阵的三角分解不唯一. (4)实对称正定矩阵 AA,Δk>0\De ...

  2. cholesky分解_Time Series Analysis-1.2 LDL分解

    最近考完两个小quiz,停了一段时间,今晚抽空继续来分享这门课的笔记. 1.前言 上一期分享了Cholesky分解的基本步骤和伪代码,本期介绍另外一种矩阵分解的方法--LDL分解. 首先补充一下,近几 ...

  3. 矩阵分解 LDL^T分解

    分解 实际问题中,当求解方程组的系数矩阵是对称矩阵时,则用下面介绍的分解法可以简化程序设计并减少计算量. 从定理可知,当矩阵A的各阶顺序主子式不为零时,A有唯一的Doolittle分解A= LU.矩阵 ...

  4. 三十分钟理解:矩阵Cholesky分解,及其在求解线性方程组、矩阵逆的应用

    写一篇关于Cholesky分解的文章,作为学习笔记,尽量一文看懂矩阵Cholesky分解,以及用Cholesky分解来求解对称正定线性方程组,以及求对称正定矩阵的逆的应用. 文章目录 直接Choles ...

  5. 使用 uBLAS 进行实对称正定矩阵的 Cholesky 分解

    Cholesky 分解理论 矩阵分解--三角分解(Cholesky 分解) 矩阵分解--三角分解(二) 注:只有实对称矩阵才有 Cholesky 分解理论. 已知实对称正定矩阵 AA,其 Choles ...

  6. crout分解计算例题_矩阵与数值计算(2)——矩阵三角分解LU、PALU、Cholesky三角分解、QR分解...

    前言 矩阵分解是设计算法的主要技巧,通过分解可以将复杂问题转化为几个简单问题求解,通常完成这一转化任务的主要技巧就是矩阵分解.例如,我们知道上三角矩阵和下三角矩阵是容易求解的,或者对角矩阵是最理想的求 ...

  7. 几种矩阵分解算法: LU分解,Cholesky分解,QR分解,SVD分解,Jordan分解

    目录 1.LU分解 2. LDLT分解法 3. Cholesky分解的形式 4. QR分解 5.SVD分解 5.1 SVD与广义逆矩阵 6. Jordan 分解 参考文章: ---------我只是搬 ...

  8. LU分解,LDLT分解,Cholesky分解

    LU分解 如果方阵是非奇异的,即的行列式不为0,LU分解总是存在的. A=LU,将系数矩阵A转变成等价的两个矩阵L和U的乘积,其中L和U分别是下三角和上三角矩阵,而且要求L的对角元素都是1,形式如下: ...

  9. 数值计算笔记-部分主元消去cholesky分解

    补充:接上一篇LU分解 1.高斯消元的一些问题:在之前高斯消元得到LU分解时,必须假设没有较换行的操作,即在消元过程中没有主元 a k k = 0 a_{kk} = 0 akk​=0的现象.但是实际情 ...

  10. cholesky分解java代码_Cholesky 分解(转)

    Cholesky 分解是把一个对称正定的矩阵表示成一个下三角矩阵L和其转置的乘积的分解. 它要求矩阵的所有特征值必须大于零,故分解的下三角的对角元也是大于零的. Cholesky分解法又称平方根法,是 ...

最新文章

  1. facebox目标检测改进
  2. CTFshow 命令执行 web64
  3. PHP程序员应该掌握的10项技能
  4. shell中用grep查找并且不输出_shell中grep命令详解
  5. 常用有话帧检测技术(VAD)
  6. java聚水潭_聚水潭.sln · killvs/jusuitan - Gitee.com
  7. 编写 Servlet 2.3 Filter
  8. Eclipse 导入项目乱码问题
  9. unknow ’query_cache_size’报错的解决方法吗
  10. linux c++模拟简易网络爬虫
  11. Android之eclipse简单NDK入门
  12. 《数位板这样玩——Photoshop+Painter数码手绘必修课(第2版)》目录—导读
  13. 均值定理四个公式_中考数学几何题,就考这140多条公式定理!
  14. 蚂蚁金服技术90后:从艺术转投数学,还出版首本TensorFlow中文教材
  15. 后台网站二级页面制作步骤
  16. Android material design 之 BottomSheet基础入门
  17. linux c 端口复用,Linux C++ 网络编程学习系列(1)——端口复用实现
  18. win11运行gnuplot报错:This application failed to start because no Ot platform plugin could be initialized
  19. 【MATLAB】极坐标绘图 ( Polar Chart 极坐标图 | MATLAB 绘图问题 1 )
  20. 传Google投资傲游100万美元 创始人陈明杰否认

热门文章

  1. HTML5在豆瓣中的应用
  2. 网络工程师(软考)心得
  3. HTML将广告关闭的JS代码,js实现可关闭的对联对联广告代码广告效果代码
  4. QQ在线客服聊天功能
  5. 太阳光轨迹软件_巧用虚拟天文馆软件Stellarium演示太阳周日视运动轨迹_贺志康...
  6. 关于Vue中v-if 和 v-for一起使用
  7. 网络语言c某人,1999—2019,21年的网络流行语,你确定你真的懂?
  8. Openwrt:创建编译IPK软件包
  9. 尚医通:开局项目介绍
  10. ClientKey实现登录QQ空间,并设置背景音乐