首页 > 技术文章 > 三角分解与标准型

zhoukui 2017-12-10 15:41 原文

将学习到什么

介绍关于三角分解的定理. 包括 \(LU\) 分解、 \(LDU\) 分解、\(PLU\) 分解、\(LPU\) 分解以及 \(LPDU\) 分解.

 


\(LU\) 分解

我们知道,如果一个线性方程组 \(Ax=b\) 的系数矩阵 \(A \in M_n\) 是非奇异的三角矩阵,则其唯一的解计算很容易,受此启发,如果 \(A \in M_n\) 不是三角的,我们将非奇异的 \(A\) 分解成 \(A=LU\), 其中 \(L\) 是下三角的,而 \(U\) 是上三角的:首先求解 \(Ly=b\), 然后求解 \(Ux=y\).
 
  定义 1:\(A \in M_n\), 表达式 \(A=LU\) 称为 \(A\)\(LU\) 分解 , 其中 \(L \in M_n\) 是下三角的,而 \(U \in M_n\) 是上三角的.
 
下面两个说法等价:
  (1) \(A\in M_n\)\(LU\) 分解, 其中 \(L(U)\) 是非奇异的
  (2) \(A\in M_n\)\(LU\) 分解,其中 \(L(U)\) 是单位下三角(单位上三角)的.
因为如果 \(L\) 是非奇异的,记 \(L=L'D\), 其中 \(L'\) 是单位下三角的,\(D\) 是对角的,如果 \(L\) 是单位下三角的,显然也是非奇异的.
 
  引理 1:\(A \in M_n\), 又假设 \(A=LU\)\(LU\) 分解. 对任何一个分块的 \(2 \times 2\) 分划
\begin{align}
A=\begin{bmatrix} A_{11} & A_{12} \ A_{21} & A_{22} \end{bmatrix}, \quad L=\begin{bmatrix} L_{11} & 0 \ L_{21} & L_{22} \end{bmatrix}, \quad U=\begin{bmatrix} U_{11} & U_{12} \ 0 & U_{22} \end{bmatrix}
\end{align}
其中 \(A_{11},L_{11},U_{11} \in M_k\)\(k \leqslant n\), 我们有 \(A_{11}=L_{11}U_{11}\). 由此可见,\(A\) 的每一个前主子矩阵都有 \(LU\) 分解,且分解式中的因子是 \(L\)\(U\) 的对应的前主子矩阵.
 
为了解释下个定理,我们借上个引理说明一下:矩阵 \(A\)行包容性质是说行向量 \(A_{21}\) 可以由 \(A_{11}\) 的行线性表示. 其实,它有更强的性质,\(A_{21}\) 不一定是行向量,它的每一行也可以由 \(A_{11}\) 的行线性表示.
 
  定理 1:设给定 \(A \in M_n\), 那么
  (a) \(A\)\(LU\) 分解(其中 \(L\) 是非奇异的),当且仅当 \(A\) 有行包容性质:对每个 \(i=1,\cdots,n-1\), \(A[\{i+1;1,\cdots ,i\}]\)\(A[\{1,\cdots,i\}]\) 的行的线性组合.
  (b) \(A\)\(LU\) 分解(其中 \(U\) 是非奇异的),当且仅当 \(A\) 有列包容性质:对每个 \(j=1,\cdots,n-1\), \(A[\{1,\cdots ,j;j+1\}]\)\(A[\{1,\cdots,j\}]\) 的列的线性组合.
 
  证明:如果 \(A=LU\), 由引理 1 知 \(A[\{1,\cdots,i+1\}]=L[\{1,\cdots,i+1\}] U[\{1,\cdots,i+1\}]\). 这样一来,为了验证行包容性质的必要性,只需要在引理 1 中给出的分划中取 \(i=k=n-1\) 就够了. 由于 \(L\) 是非奇异的且是三角矩阵,\(L_{11}\) 也是非奇异的,这样我们就有 \(A_{21}=L_{21}U_{11}=L_{21}L_{11}^{-1}L_{11}U_{11}=(L_{21}L_{11}^{-1})A_{11}\), 这样就验证了行包容性质 .
反之,如果 \(A\) 有行包容性质,我们就可以归纳地构造出 \(LU\) 分解,其中的 \(L\) 是非奇异的(\(n=1,2\) 的情形容易验证):假设 \(A_{11}=L_{11}U_{11}\), \(L_{11}\) 是非奇异的,且行向量 \(A_{21}\)\(A_{11}\) 的行的线性组合. 这样就存在一个向量 \(y\) 使得 \(A_{21}=y^TA_{11}=y^TL_{11}U_{11}\), 我们就可以取 \(U_{12}=L_{11}^{-1}A_{12}\), \(L_{21}=y^TL_{11}\), \(L_{22}=1\) 以及 \(U_{22}=A_{22}-L_{21}U_{12}\), 从而得到 \(A\) 的一个 \(LU\) 分解,其中 \(L\) 是非奇异的.
关于列包容性质的结论可以通过考虑 \(A^T\)\(LU\) 分解得出.
 
举个例子:考虑矩阵 \(J_n \in M_n\), 它所有的元素都是 \(1\). 则 \(J_n\) 的一个 \(LU\) 分解是 \(L\) 是单位下三角的(对角元素是 \(1\)),其它的元素只有第一列为 \(1\), \(U\) 只有第一行元素是 \(1\). \(J_n=J_n^T=U^TL^T\) 就是 \(J_n\) 的带有一个单位上三角因子的 \(LU\) 分解.
 
如果 \(A \in M_n\), \(\mathrm{rank}\,A=k\), 且 \(\mathrm{det}\,A[\{1,\cdots,j\}] \neq 0\), \(j=1,\cdots,k\), 那么 \(A\) 既有行包容性质,也有列包容性质. 下面的结果由 定理 1 推出.
 
  推论 1: 假设 \(A \in M_n\) 以及 \(\mathrm{rank}\,A=k\). 如果对所有 \(j=1,\cdots,k\), \(A[\{1,\cdots, j\}]\) 都是非奇异的,那么 \(A\)\(LU\) 分解. 此外,哪一个因子都可以取作为单位上三角矩阵;\(L\)\(U\) 两者都是非奇异的,当且仅当 \(k=n\), 即当且仅当 \(A\) 与它所有的前主子矩阵都是非奇异的.
 
不是每个矩阵都有 \(LU\) 分解. 如果 \(A=\begin{bmatrix} 0 & 1 \\ 1 & 0 \end{bmatrix}\) 可以写成 \(A=LU=\begin{bmatrix} \ell_{11} & 0 \\ \ell_{21} & \ell_{22} \end{bmatrix} \begin{bmatrix} u_{11}& u_{12} \\ 0 & u_{22} \end{bmatrix}\), 那么 \(\ell_{11} u_{11}=0\) 蕴含 \(L\)\(U\) 中有一个是奇异的,但 \(LU=A\) 是非奇异的. 其实有奇异的前主子矩阵的非奇异的矩阵不可能有 \(LU\) 分解. 可以验证
\begin{align}
A= \begin{bmatrix} 0 & 0 & 0 \\ 0 & 0 & 1 \\ 0 & 1 & 0 \end{bmatrix} =\begin{bmatrix} 0 & 0 & 0 \\ 1 & 0 & 0 \\ 0 & 1 & 1 \end{bmatrix} \begin{bmatrix} 0 & 0 & 1 \\ 0 & 1 & 0 \\ 0 & 0 & 0 \end{bmatrix} \notag
\end{align}
\(LU\) 分解,尽管 \(A\) 既没有行包容性质,也没有列包容性质. 考虑 \(A=\begin{bmatrix} 1 & 0 \\ a & 1 \end{bmatrix} \begin{bmatrix} 0 & 1 \\ 0 & 2-a \end{bmatrix} =\begin{bmatrix} 0 & 1 \\ 0 & 2 \end{bmatrix}\), \(A\)\(a\) 的值无关,说明即使要求 \(L\) 是单位下三角矩阵, \(LU\) 分解也不一定是唯一的. 种种不确定性会有很多麻烦,然而,利用引理 1 和定理 1, 我们可以在非奇异的情形给出充分的描述,而且可以施以正规化以使得分解是唯一的.
 


一些推论

\(LDU\) 分解

  推论 2: 设给定 \(A = [a_{ij}] \in M_n\).
  (a) 假设 \(A\) 是非奇异的. 那么 \(A\)\(LU\) 分解 \(A=LU\), 当且仅当对所有 \(i=1,\cdots,n\), \(A[\{1,\cdots, i \}]\) 都是非奇异的.
  (b) 假设对所有 \(i=1,\cdots,n\), \(A[\{1,\cdots, i \}]\) 都是非奇异的. 那么 \(A=LDU\), 其中 \(L,D,U \in M_n\), \(L\) 是单位下三角矩阵,\(U\) 是单位上三角矩阵, \(D=\mathrm{diag}(d_1,\cdots,d_n)\) 是对矩角阵, \(d_1=a_{11}\), 且
\begin{align}
d_i = \mathrm{det} \, A[{1,\cdots, i }] / \mathrm{det} \, A[{1,\cdots, i-1 }], \quad i=2,\cdots, n
\end{align}
因子 \(L,U,D\) 是唯一确定的.
 

\(PLU\) 分解

对于非奇异的线性方程组 \(Ax=b\) 的解,假设 \(A \in M_n\) 不可能分解成 \(LU\),其原因是前主子矩阵是奇异的,我们可以考虑对矩阵的行重新排序,使之满足 \(LU\) 分解的条件,这就引入了 \(PLU\) 分解, 其中 \(P \in M_n\) 是置换矩阵,而 \(L\)\(U\) 分别是下三角的和上三角的. 这就等同于在分解之前将线性方程组中的方程重新排序. 在此情形,通过 \(Ly=p^Tb\) 以及 \(Ux=y\), 求解 \(Ax=b\) 仍然是相当简单的. 值得注意的是:任何 \(A \in M_n\) 都可以这样分解且 \(L\) 可以取为非奇异的. \(Ax=b\) 的解与 \(Ux=L^{-1}P^Tb\) 的解是相同的.
 
  引理 2:\(A \in M_n\) 是非奇异的. 那么就存在一个置换矩阵 \(P \in M_k\), 使得 \(\mathrm{det}(P^TA)[\{1,\cdots,j\}] \neq 0\), \(j=1,\cdots, k\).
 
用归纳假设可以对引理 2 进行说明,在此不再赘述. 下面给出 \(PLU\) 分解定理,其因子不一定是唯一的.
 
  定理 2(\(PLU\) 分解): 对每个 \(A \in M_n\), 存在一个置换矩阵 \(P \in M_n\), 一个单位下三角矩阵 \(L \in M_n\) 以及一个上三角矩阵 \(U \in M_n\), 使得 \(A = PLU\).
 
上个定理也可说为:每一个 \(A \in M_n\), 可以分解成 \(A=LUP\), 其中 \(L\) 是下三角的,\(U\)单位上三角的,且 \(P \in M_n\) 是置换矩阵. 值得一提的是,\(PLU\) 分解对矩阵 \(A \in M_n\) 没有任何限制.
 

\(LPU\) 分解

下面的定理描述了一种特殊的三角分解,它对每一个复方阵成立. 在非奇异的情形,因子 \(P\) 的唯一性有重要的推论.
 
  定理 3(\(LPU\) 分解): 对每一个 \(A \in M_n\), 存在一个置换矩阵 \(P \in M_n\), 一个单位下三角矩阵 \(L \in M_n\) 以及一个上三角矩阵 \(U \in M_n\), 使得 \(A = LPU\). 此外,如果 \(A\) 是非奇异的,那么 \(P\) 是唯一确定的.
 
上个定理可用归纳法证明.
 

\(LPDU\) 分解

首先给出一个等价关系的定义.
 
  定义 2:矩阵 \(A,B \in M_n\) 称为三角等价的,如果存在非奇异的矩阵 \(L,U \in M_n\), 使得 \(L\) 是下三角的,\(U\) 是上三角的,且 \(A=LBU\).
 
最后一个定理与用单位三角矩阵来实现三角等价有关. 它用到如下事实:(a) 单位下三角矩阵的逆是单位下三角的,以及 (b) 单位下三角矩阵的乘积是单位下三角的,关于单位上三角矩阵的逆有对应的结论.
 
  定理 4(\(LPDU\) 分解): 对每一个非奇异的 \(A \in M_n\), 存在一个唯一的置换矩阵 \(P \in M_n\), 一个唯一的非奇异的对角矩阵 \(D\), 一个单位下三角矩阵 \(L\) 以及一个上三角矩阵 \(U\), 使得 \(A = LPDU\).
 


应该知道什么

  • 如果矩阵 \(A\)\(LU\) 分解,且 \(A\) 的每一个前主子矩阵都有 \(LU\) 分解,且分解式中的因子是 \(L\)\(U\) 的对应的前主子矩阵
  • 由推论 1 知,若 \(\mathrm{rank}\,A=k\),如果对所有 \(j=1,\cdots,k\), \(A[\{1,\cdots, j\}]\) 都是非奇异的,那么 \(A\)\(LU\) 分解. 非奇异矩阵不一定有 \(LU\) 分解,比如反序矩阵.
  • 奇异的前主子矩阵的非奇异的矩阵不可能有 \(LU\) 分解
  • 给定矩阵的 \(LU\) 分解可能存在,也可能不存在,即使存在也不一定唯一
  • 对所有 \(i=1,\cdots,n\), \(A[\{1,\cdots, i \}]\) 都是非奇异的. 那么 \(A=LDU\), 其中 \(L,D,U \in M_n\) 且各自唯一
  • 对每个 \(A \in M_n\), 存在 \(PLU\) 分解,其不唯一
  • 对每个 \(A \in M_n\), 存在 \(LPU\) 分解,如果 \(A\) 是非奇异的,那么 \(P\) 是唯一确定的
  • 对每一个非奇异的 \(A \in M_n\), 存在一个唯一的置换矩阵 \(P \in M_n\), 一个唯一的非奇异的对角矩阵 \(D\), 一个单位下三角矩阵 \(L\) 以及一个上三角矩阵 \(U\), 使得 \(A = LPDU\)

推荐阅读