3.5_三角分解

3.5 三角分解

如果线性方程组 Ax=bAx = b 有一个非奇异三角(0.9.3)系数矩阵 AMnA \in M_{n} ,那么计算它的唯一解 xx 是相当容易的。例如,如果 AA 是上三角矩阵

A=[a11a1na220ann],A = \left[ \begin{array}{c c c} a _ {1 1} & \dots & a _ {1 n} \\ & a _ {2 2} & \\ & \ddots & \vdots \\ 0 & & a _ {n n} \end{array} \right],

158

那么 detA=a11a22ann0\det A = a_{11}a_{22}\dots a_{nn}\neq 0 ,然后利用后向替换: amxn=bna_{m}x_{n} = b_{n} 确定 xn;an1,n1xn1+an1,nxnx_{n};a_{n - 1,n - 1}x_{n - 1} + a_{n - 1,n}x_{n} - bn1b_{n - 1} 是含一个未知数的方程,它确定 xn1x_{n - 1} ;一般,方程组

i=1naijxi=bi,i=n,n1,n2,,2,1\sum_ {i = 1} ^ {n} a _ {i j} x _ {i} = b _ {i}, \quad i = n, n - 1, n - 2, \dots , 2, 1

中的每一个是含一个未知数的方程(只要 xi+1,,xnx_{i+1}, \cdots, x_n 已被确定),它确定 x1x_1 .

练习 设 AMnA \in M_{n} 是非奇异上三角矩阵,如果采用后向替换,试算出解 Ax=bAx = b 所必需的纯量乘法和除法运算的次数.

练习 如果 AMnA \in M_{n} 是非奇异下三角矩阵,写出作为 Ax=bAx = b 的一个解法的前向替换。

AMnA \in M_{n} 是非奇异矩阵,但不是三角矩阵,应指出的是,如果 AA 是用形如

A=LUA = L U

的分解形式给出的,其中, LL 是下三角矩阵, UU 是上三角矩阵,那么解出 Ax=bAx = b 可以说是很简便的。

练习 如果 A=LUA = LU 如上所述且非奇异,证明, LLUU 都必须是非奇异的,因而必须有非零对角元.

为了解 Ar1=bA_{r - 1} = b ,可以先用前向替换解

Ly=h,L y = h,

然后用后向替换解

Ux=y,U x = y,

且所需计算量只是系数矩阵为简单的三角矩阵时的两倍。因此,如果得到分解 LULU 所需计算量不太大,那么这种分解对解线性方程组是有用的。在这里叙述它们也是适宜的,因为它们的形式特殊,而把一个矩阵分解成这种形式可以不用特征值,而是利用线性方程组。

3.5.1 引理 假定 AMnA \in M_{n} 可以写成

A=LU,A = L U,

其中 LMnL \in M_{n} 是下三角矩阵,而 UMnU \in M_{n} 是上三角矩阵。对任一分块形式

A=[A11A12A21A22],L=[L110L21L22],U=[U11U120U22],A = \left[ \begin{array}{l l} A _ {1 1} & A _ {1 2} \\ A _ {2 1} & A _ {2 2} \end{array} \right], \quad L = \left[ \begin{array}{c c} L _ {1 1} & 0 \\ L _ {2 1} & L _ {2 2} \end{array} \right], \quad U = \left[ \begin{array}{c c} U _ {1 1} & U _ {1 2} \\ 0 & U _ {2 2} \end{array} \right],

其中 A11,L11,U11Mk,knA_{11}, L_{11}, U_{11} \in M_k, k \leqslant n ,我们有

L11U11=A11,L11U12=A12,L21U11=A21,\begin{array}{l} L _ {1 1} U _ {1 1} = A _ {1 1}, \\ L _ {1 1} U _ {1 2} = A _ {1 2}, \quad L _ {2 1} U _ {1 1} = A _ {2 1}, \\ \end{array}

L21U12+L22U22=A22.L _ {2 1} U _ {1 2} + L _ {2 2} U _ {2 2} = A _ {2 2}.

特别是, LLUU 的左上角子块一定构成 AA 的相应子块的一个同型的分解.

练习 用分块乘法运算验证(3.5.1).

3.5.2 定理 假定 AMnA \in M_{n} ,且 rankA=k\operatorname{rank} A = k 。如果

detΛ({1,,j})0,j=1,,k,\det \Lambda (\{1, \dots , j \}) \neq 0, \quad j = 1, \dots , k,

那么 AA 可以分解成

A=LU.A = L U.

其中, LMnL \in M_{n} 是下三角矩阵, UMnU \in M_{n} 是上三角矩阵,并且可以适当选择分解使得 LLUU 是非奇异的; LLUU 都可以选取非奇异矩阵,当且仅当 k=nk = n ,即当且仅当 AA 是非奇异的。

证明:首先证明,在关于前主子式的假设条件下, A({1,,k})A(\{1, \cdots, k\}) 可以分解成 L({1,,k})U({1,,k})L(\{1, \cdots, k\})U(\{1, \cdots, k\}) ,且它们都是非奇异的。能够逐个地求出 LLUU 的各相关元素。设 L=[ln]L = [l_{n}]U=[uij]U = [u_{ij}] 。令 u11=1u_{11} = 1 且令 li1=ai1l_{i1} = a_{i1}i=1,,ki = 1, \cdots, k 。求出

u1j=a1jl11,j=2,,k.u _ {1 j} = \frac {a _ {1 j}}{l _ {1 1}}, \quad j = 2, \dots , k.

继续做下去,令 u22=1u_{22} = 1 ,且令 li=ai2li1u12l_{i} = a_{i2} - l_{i1}u_{12}i=2,,ki = 2,\dots ,k ,求出

u2ju2jl21u1jl22,j=3,,k.u _ {2 j} - \frac {u _ {2 j} - l _ {2 1} u _ {1 j}}{l _ {2 2}}, \quad j = 3, \dots , k.

160

再继续下去,依次设 UU 的各对角元为1,然后求出 L({1,,k})L(\{1, \cdots, k\}) 的下-列和 U({1,,k})U(\{1, \cdots, k\}) 的下一行。每次都有一个含一个未知数的方程需要求解。因为每个 lnl_n 不为零[因为根据(3.5.1), detL({l,,i})×detU({1,,i})=detA({1,,i})\det L(\{l, \cdots, i\}) \times \det U(\{1, \cdots, i\}) = \det A(\{1, \cdots, i\}) ,所以这个方程将是可解的。这就完成了 A({1,,k})A(\{1, \cdots, k\}) 的分解。

AA 如(3.5.1)中那样分块,因为 rankA=k=rankA11\operatorname{rank} A = k = \operatorname{rank} A_{11} ,由此可知 [A21A22][A_{21}A_{22}] 的各行是 [A11A12][A_{11}A_{12}] 的诸行的唯一线性组合,即对每个唯一确定的 BMn,k,kB \in M_{n,k,k} ,有

A21=BA11A22=BA12.A _ {2 1} = B A _ {1 1} \quad \text {和} \quad A _ {2 2} = B A _ {1 2}.

现在将欲求的 LLUU 同样如(3.5.1)中那样分块,注意到非奇异的 L11L_{11}U11U_{11} 已被确定。于是可以用(3.5.1)求出

U12=L111A12,L21=A21U111.U _ {1 2} = L _ {1 1} ^ {- 1} A _ {1 2}, \quad \text {和} \quad L _ {2 1} = A _ {2 1} U _ {1 1} ^ {1}.

然后求出

A22=L21U12+L22U22=A21U111L111A12+L22U22=BA11A111A12+L22U22=A22+L22U22.\begin{array}{l} A _ {2 2} = L _ {2 1} U _ {1 2} + L _ {2 2} U _ {2 2} = A _ {2 1} U _ {1 1} ^ {- 1} L _ {1 1} ^ {- 1} A _ {1 2} + L _ {2 2} U _ {2 2} = B A _ {1 1} A _ {1 1} ^ {1} A _ {1 2} + L _ {2 2} U _ {2 2} \\ = A _ {2 2} + L _ {2 2} U _ {2 2}. \\ \end{array}

为了完成分解,必需而且只需

L2U22=0.L _ {2} U _ {2 2} = 0.

例如,可以选取 L22L_{22} (相应地, U22U_{22} )为 MnkM_{n - k} 中的任一非奇异下(相应地,上)三角矩阵,希望选取 U22U_{22} (相应地, L22L_{22} )为0.因为 L11L_{11}U12U_{12} 是非奇异的, LLUU 可以选为非奇异的.如果 k=nk = nL=L11L = L_{11}U=U11U = U_{11} 就是可非奇异的;如果 k<nk < n ,因为 AA 是奇异的, LLUU 不可能都是非奇异的.这就完成了证明. □

3.5.3 例 不是每个矩阵都有一个LU分解,考虑

A=[0110].A = \left[ \begin{array}{c c} 0 & 1 \\ 1 & 0 \end{array} \right].

如果 AA 可以写成

A=LU=[l110l21l22][u11u120u22],A = L U = \left[ \begin{array}{l l} l _ {1 1} & 0 \\ l _ {2 1} & l _ {2 2} \end{array} \right] \left[ \begin{array}{l l} u _ {1 1} & u _ {1 2} \\ 0 & u _ {2 2} \end{array} \right],

l11U11=0l_{11}U_{11} = 0 将要求 LLUU 是奇异的,但是 LUALU - A 是非奇异的.

练习 证明,一个非奇异矩阵的左上角有一个 k×kk \times k 奇异主子阵,它就不可能有 LU 分解。

161

3.5.4 例 AMnA \in M_{n} 可以有 LU 分解而不满足 (3.5.2) 的主子式条件。例如

[0012]=[0011][1101]\left[ \begin{array}{l l} 0 & 0 \\ 1 & 2 \end{array} \right] = \left[ \begin{array}{l l} 0 & 0 \\ 1 & 1 \end{array} \right] \left[ \begin{array}{l l} 1 & 1 \\ 0 & 1 \end{array} \right]

有秩1,但是它的1,1元是0.

练习(3.5.4)中的 LULU 的分解是不唯一的,即使要求 UU 的各对角元都为1.试写出 [0012]\left[ \begin{array}{ll}0 & 0\\ 1 & 2 \end{array} \right] 的其他几种分解.

现在已经很清楚了,一个已知矩阵的 LULU 分解是不唯一的,它可能存在,或可能不存在。不过,这许多麻烦,或者是由 AA 的奇异性,或者是由 AA 的前主子阵的奇异性引起的。然而可以采用(3.5.1)和(3.5.2)的方法,对非奇异的情形给出一个完美的描述,并且可以利用规范化使分解是唯一的(标准的)。

3.5.5推论 假定 AMnA\in M_n 是非奇异的.那么, A\pmb{A} 可以写成

A=LU,A = L U,

且使 LMnL \in M_{n} 是下三角矩阵和 UMnU \in M_{n} 为上三角矩阵,当且仅当

detΛ({1,,j})0,j=1,,n.\det \Lambda (\{1, \dots , j \}) \neq 0, \quad j = 1, \dots , n.

此外, LLU\pmb{U} 是非奇异的,而分解实质上是唯一的,矩阵A可以写成

A=LDU,A = L ^ {\prime} D U ^ {\prime},

其中, LL^{\prime} (相应地, U)Mn\mathbf{U}^{\prime})\in M_{n} 是所有对角元等于1的下(相应地,上)三角矩阵,而 DD 是由

detD({1,,j})=detA({1,,j}),j=1,,n\det D (\{1, \dots , j \}) = \det A (\{1, \dots , j \}), \quad j = 1, \dots , n

所确定的非奇异对角矩阵. 因子 L,UL^{\prime}, U^{\prime}DDΛ\Lambda 唯一确定.

练习 利用(3.5.1),(3.5.2)和前一个练习,详细证明(3.5.5).

再回到线性方程组

162

Ax=bA _ {x} = b

的解法,假定 AMnA \in M_{n} 不能分解成 LULU ,但能分解成 PLUPLU ,其中, PMnP \in M_{n} 是置换矩阵(0.9.5),而 LLUU 如前,是下三角矩阵和上三角矩阵。这相当于在分解之前重排各个方程,在这种情形, Ax=bAx = b 的解法仍然是相当简单的,只要作替换

Ly=PTbUx=yL y = P ^ {T} b \quad \text {和} \quad U x = y

就是了。应当知道,任一非奇异的 AMnA \in M_{n} 都可以这样分解,而且任一 AMnA \in M_{n} 可以分解成 PLUQPLUQ ,其中 QMnQ \in M_{n} 也是一个置换矩阵。

3.5.6 引理 设 AMnA \in M_{n} 是非奇异矩阵。那么,存在一个置换矩阵 PMkP \in M_{k} ,使得

det(PTA)({1,,j})0,j=1,,k.\det (P ^ {T} A) (\{1, \dots , j \}) \neq 0, \quad j = 1, \dots , k.

注意, PiAP^i A 正好是 AA 的各解的一个重排

证明:证明是对 kk 作归纳法。如果 k=1k = 1 或 2,经过验证,结论显然成立;假定结论一直到 k1k - 1 都是正确的。考虑非奇异矩阵 AMkA \in M_k ,并且去掉它的最后一列。余下的 k1k - 1 列是线性无关的,因而含有 k1k - 1 个线性无关解。把这些解调换到前 k1k - 1 个解的位置,然后对位于上方的非奇异的 (k1)×(k1)(k - 1) \times (k - 1) 子矩阵应用归纳假设。这就确定了一个欲求的整个置换矩阵。因为 PAP^{\prime}A 是非奇异的,所以证明完毕。

3.5.7 定理 设 AMnA \in M_{n} , 则存在置换矩阵 P,QMnP, Q \in M_{n} , 下三角矩阵 LMnL \in M_{n} 和上三角矩阵 UMnU \in M_{n} , 使得

A=PLUQ.A = P L U Q.

如果 AA 是非奇异矩阵,可以取 Q=IQ = I ,且 AA 可以写成

A=PIU.A = P I U.

证明:如果 rankA=k\operatorname{rank} A = kAA 有一个 k×kk \times k 非奇异子矩阵(0.4.4d),它可以通过互换 AA 的各行和各列调换到左上角的位置。现在把(3.5.6)应用于左上角,再应用(3.5.2)便得到第一型式的分解。如果 AA 是非奇异的,(3.5.6)表明,为应用(3.5.2),右边的置换矩阵是不必要的,这说明第二个分解是正确的,证毕。

习题

  1. 本节所提出的理论是就 LULU 分解而论的,其中 LL 是下三角矩阵, UU 是上三角矩阵。试说明,可以平行地提出 ULUL 分解的理论,但这两个因子一般与 LULU 分解的因子不相同。

  2. 从(2.6)节习题3可知,任一 AMnA \in M_{n} 的QR分解可以有效地经 n1n - 1 次Housholder交

换得到。这里, QQ 是酉矩阵,而 RR 是上三角矩阵。如果 AA 分解成QR形,试描述可以怎样解出 AxbAx - b

  1. 证明, AM1A \in M_{1} 可以写成

A=LPvU,A = L P _ {v} U,

其中 LMnL \in M_{n} 是非奇异下三角矩阵, UMnU \in M_{n} 是非奇异上三角矩阵,而 PνP_{\nu} 是一个次置换矩阵[当 rankA<n\operatorname{rank} A < n 时,置换矩阵中的一些元素1换成元素0,使其元素1的个数与 rankA\operatorname{rank} A 相同]。提示:进行初等行变换和初等列变换。

  1. 如果 AMnA \in M_{n} 的所有前主子式都非零,试描述如何运用第二种初等行变换将 AA 的对角线下方的各个元素都化成零,从而使 AA 有 LU 分解。

5.(Lanczos-对角化算法.)设 AMnA \in M_{n}xCnx \in \mathbb{C}^{n} 都是给定的,定义 X=[xAxA2xAn1x]X = [x A x A^{2} x \cdots A^{n-1} x] . 称 XX 的诸列构成一个 krylov 序列。假定 XX 是非奇异的。(a)证明 X1AXX^{-1}AXAA 的特征多项式的友矩阵(3.3.12). (b)若 RMnR \in M_{n} 是任意一个给定的非奇异上三角矩阵且 SXRS \equiv XR ,证明 S1ASS^{-1}AS 向上 Hessenberg 形式。(c)设 yCny \in \mathbb{C}^{n} 且定义 Y=[yAy(A)2y(A)n1y]Y = [yA^{*}y(A^{*})^{2}y \cdots (A^{*})^{n-1}y] ,假定 YY 是非奇异的且 YXY^{*}X 可以写成 LDULDU ,其中, LL 是下一三角矩阵, UU 是上三角矩阵,且都是非奇异的,而 DD 是对角矩阵且是非奇异的。证明,存在非奇异上三角矩阵 RRTT ,使得 (XR)1=T1Y(XR)^{-1} = T^{-1}Y^{*} 且使 T1YAXRT^{-1}Y^{*}AXR 是相似于 AA 的三对角矩阵。(d)若 AMnA \in M_{n} 是 Hermite 矩阵,利用上述思路确定一个算法来得到一个相似于 AA 的三对角 Hermite 矩阵。

  1. 两个矩阵 A,BMm,nA, B \in M_{m,n} 称为等价,指的是存在非奇异矩阵 SMmS \in M_mTMnT \in M_n ,使得

BSAT.B - S A T.

(a) 证明这个等价概念是 Mm,nM_{m,n} 上的一个等价关系. (b) 证明, 每个矩阵 AMm,nA \in M_{m,n} 等价于一个形如 [I000]Mm,n\left[ \begin{array}{cc} I & 0 \\ 0 & 0 \end{array} \right] \in M_{m,n} 的矩阵. IMk,kmin{m,n}I \in M_{k}, k \leqslant \min \{m, n\} . 提示: 利用初等行变换得到行简化梯形, 然后对所得到的矩阵采用初等列变换. (c) 证明, Mm,nM_{m,n} 中的两个矩阵等价, 当且仅当它们有相同的秩. (d) 假定 AMm,nA \in M_{m,n} 等价于 (b) 中所述的特殊形式, S[I000]T=AS\left[ \begin{array}{cc} I & 0 \\ 0 & 0 \end{array} \right]T = A . 试用等价性阐述关于线性方程组 Ax=bAx = b 的解理论.

进一步阅读上述习题5是从[Ste]改编过来的,在[Ste]中还可以找到关于LU分解的数值应用的其他资料.