矩阵代数(五)- 矩阵因式分解

小结

  1. L U \boldsymbol{LU} LU分解
  2. L U \boldsymbol{LU} LU分解算法

矩阵 A \boldsymbol{A} A的因式分解是把 A \boldsymbol{A} A表示为两个或更多个矩阵的乘积。

L U \boldsymbol{LU} LU分解

  1. A \boldsymbol{A} A m × n m \times n m×n矩阵,它可以行换简为阶梯形而不必行对换(此后,我们将处理一般情形),则 A \boldsymbol{A} A可写成 A = L U \boldsymbol{A}=\boldsymbol{LU} A=LU L \boldsymbol{L} L m × m m \times m m×m下三角矩阵,主对角线全是1, U \boldsymbol{U} U A \boldsymbol{A} A的一个 m × n m \times n m×n阶梯形矩阵。这样一个分解称为** L U \boldsymbol{LU} LU分解**,矩阵 L \boldsymbol{L} L是可逆的,称为单位下三角矩阵。

A = L U \boldsymbol{A}=\boldsymbol{LU} A=LU时,方程 A x = x \boldsymbol{Ax}=\boldsymbol{x} Ax=x可写成 L ( U x ) = b \boldsymbol{L}(\boldsymbol{Ux})=\boldsymbol{b} L(Ux)=b。把 U x \boldsymbol{Ux} Ux写成 y \boldsymbol{y} y,可以由解下面一对方程来求解 x \boldsymbol{x} x { L y = b U x = y \begin{cases} \boldsymbol{Ly}=\boldsymbol{b} \\ \boldsymbol{Ux} = \boldsymbol{y} \end{cases} {Ly=bUx=y

可以证明 A = [ 3 − 7 − 2 2 − 3 5 1 0 6 − 4 0 − 5 − 9 5 − 5 12 ] = [ 1 0 0 0 − 1 1 0 0 2 − 5 1 0 − 3 8 3 1 ] [ 3 − 7 − 2 2 0 − 2 − 1 2 0 0 − 1 1 0 0 0 − 1 ] = L U \boldsymbol{A}=\begin{bmatrix}3 & -7 & -2 & 2 \\ -3 & 5 & 1 & 0 \\ 6 & -4 & 0 & -5 \\ -9 & 5 & -5 & 12 \end{bmatrix}=\begin{bmatrix}1 & 0 & 0 & 0 \\ -1 & 1 & 0 & 0 \\ 2 & -5 & 1 & 0 \\ -3 & 8 & 3 & 1 \end{bmatrix}\begin{bmatrix}3 & -7 & -2 & 2 \\ 0 & -2 & -1 & 2 \\ 0 & 0 & -1 & 1 \\ 0 & 0 & 0 & -1 \end{bmatrix}=\boldsymbol{LU} A=33697545210520512=11230158001300013000720021102211=LU
应用 A \boldsymbol{A} A L U \boldsymbol{LU} LU分解来解 A x = b \boldsymbol{Ax}=\boldsymbol{b} Ax=b,其中 b = [ − 9 5 7 11 ] \boldsymbol{b}=\begin{bmatrix}-9 \\ 5 \\ 7 \\ 11\end{bmatrix} b=95711
解:解 L y = b \boldsymbol{Ly}=\boldsymbol{b} Ly=b
[ L b ] = [ 1 0 0 0 − 9 − 1 1 0 0 5 2 − 5 1 0 7 − 3 8 3 1 11 ] \begin{bmatrix} \boldsymbol{L} & \boldsymbol{b} \end{bmatrix}=\begin{bmatrix}1 & 0 & 0 & 0 & -9 \\ -1 & 1 & 0 & 0 & 5 \\ 2 & -5 & 1 & 0 & 7 \\ -3 & 8 & 3 & 1 & 11 \end{bmatrix} [Lb]=112301580013000195711 [ 1 0 0 0 − 9 0 1 0 0 − 4 0 0 1 0 5 0 0 0 1 1 ] = [ I y ] \begin{bmatrix} 1 & 0 & 0 & 0 & -9 \\ 0 & 1 & 0 & 0 & -4 \\ 0 & 0 & 1 & 0 & 5 \\ 0 & 0 & 0 & 1 & 1 \end{bmatrix}=\begin{bmatrix} \boldsymbol{I} & \boldsymbol{y}\end{bmatrix} 10000100001000019451=[Iy]
U x = y \boldsymbol{Ux}=\boldsymbol{y} Ux=y进行行化简的向后步骤。
[ U y ] = [ 3 − 7 − 2 2 − 9 0 − 2 − 1 2 4 0 0 − 1 1 5 0 0 0 − 1 1 ] \begin{bmatrix} \boldsymbol{U} & \boldsymbol{y} \end{bmatrix}=\begin{bmatrix}3 & -7 & -2 & 2 & -9 \\ 0 & -2 & -1 & 2 & 4 \\ 0 & 0 & -1 & 1 & 5 \\ 0 & 0 & 0 & -1 & 1 \end{bmatrix} [Uy]=30007200211022119451 [ 1 0 0 0 3 0 1 0 0 4 0 0 1 0 − 6 0 0 0 1 − 1 ] \begin{bmatrix} 1 & 0 & 0 & 0 & 3 \\ 0 & 1 & 0 & 0 & 4 \\ 0 & 0 & 1 & 0 & -6 \\ 0 & 0 & 0 & 1 & -1 \end{bmatrix} 10000100001000013461
x = [ 3 4 − 6 − 1 ] \boldsymbol{x}=\begin{bmatrix}3 \\ 4 \\ -6 \\ -1\end{bmatrix} x=3461

L U \boldsymbol{LU} LU分解的计算依赖于如何求 L \boldsymbol{L} L U \boldsymbol{U} U

L U \boldsymbol{LU} LU分解算法

A \boldsymbol{A} A可以化为阶梯形 U \boldsymbol{U} U,化简过程中仅用行倍加变换,即把一行的倍数加于它下面的另一行。这样,存在单位下三角初等矩阵 E 1 , ⋯   , E p \boldsymbol{E_1},\cdots,\boldsymbol{E_p} E1,,Ep使 E p ⋯ E 1 A = U \boldsymbol{E_p}\cdots\boldsymbol{E_1}\boldsymbol{A}=\boldsymbol{U} EpE1A=U。于是 A = ( E p ⋯ E 1 ) − 1 U = L U \boldsymbol{A}=(\boldsymbol{E_p}\cdots\boldsymbol{E_1})^{-1}\boldsymbol{U}=\boldsymbol{LU} A=(EpE1)1U=LU,其中 L = ( E p ⋯ E 1 ) − 1 \boldsymbol{L}=(\boldsymbol{E_p}\cdots\boldsymbol{E_1})^{-1} L=(EpE1)1。可以证明 L \boldsymbol{L} L是单位下三角矩阵。
注意将 A \boldsymbol{A} A化为阶梯形 U \boldsymbol{U} U过程中的行变换,它把 A \boldsymbol{A} A化为 U \boldsymbol{U} U。这写行变换也把 L \boldsymbol{L} L化为 I \boldsymbol{I} I,这是因为 E p ⋯ E 1 L = E p ⋯ E 1 ( E p ⋯ E 1 ) − 1 = I \boldsymbol{E_p}\cdots\boldsymbol{E_1}\boldsymbol{L}=\boldsymbol{E_p}\cdots\boldsymbol{E_1}(\boldsymbol{E_p}\cdots\boldsymbol{E_1})^{-1}=\boldsymbol{I} EpE1L=EpE1(EpE1)1=I

L U \boldsymbol{LU} LU分解的算法:

  1. 如果可能的话,用一系列的行倍加变换把 A \boldsymbol{A} A化为阶梯形 U \boldsymbol{U} U
  2. 填充 L \boldsymbol{L} L的元素使相同的行变换把 L \boldsymbol{L} L变为 I \boldsymbol{I} I

求下列矩阵的 L U \boldsymbol{LU} LU分解: A = [ 2 4 − 1 5 − 2 − 4 − 5 3 − 8 1 2 − 5 − 4 1 8 − 6 0 7 − 3 1 ] \boldsymbol{A}=\begin{bmatrix} 2 & 4 & -1 & 5 & -2 \\ -4 & -5 & 3 & -8 & 1 \\ 2 & -5 & -4 & 1 & 8 \\ -6 & 0 & 7 & -3 & 1 \end{bmatrix} A=24264550134758132181
解:因 A \boldsymbol{A} A有4行,故 L \boldsymbol{L} L应为 4 × 4 4 \times 4 4×4矩阵。 L \boldsymbol{L} L的第一列应该是 A \boldsymbol{A} A的第一列除以它的第一行主元素: L = [ 1 0 0 0 − 2 1 0 0 1 1 0 − 3 1 ] \boldsymbol{L}=\begin{bmatrix} 1 & 0 & 0 & 0 \\ -2 & 1 & 0 & 0 \\ 1 && 1 & 0 \\ -3 & & & 1\end{bmatrix} L=1213010010001
比较 A \boldsymbol{A} A L \boldsymbol{L} L的第一列。把 A \boldsymbol{A} A的第一列的后三个元素变成零的行变换同时也将 L \boldsymbol{L} L的第一列的后三个元素变成0。
A = [ 2 4 − 1 5 − 2 − 4 − 5 3 − 8 1 2 − 5 − 4 1 8 − 6 0 7 − 3 1 ] \boldsymbol{A}=\begin{bmatrix} \color{red}{2} & 4 & -1 & 5 & -2 \\ \color{red}{-4} & -5 & 3 & -8 & 1 \\ \color{red}{2} & -5 & -4 & 1 & 8 \\ \color{red}{-6} & 0 & 7 & -3 & 1 \end{bmatrix} A=24264550134758132181 [ 2 4 − 1 5 − 2 0 3 1 2 − 3 0 − 9 − 3 − 4 10 0 12 4 12 − 5 ] \begin{bmatrix} 2 & 4 & -1 & 5 & -2 \\ 0 & \color{red}{3} & 1 & 2 & -3 \\ 0 & \color{red}{-9} & -3 & -4 & 10 \\ 0 & \color{red}{12} & 4 & 12 & -5 \end{bmatrix} 20004391211345241223105 [ 2 4 − 1 5 − 2 0 3 1 2 − 3 0 0 0 2 1 0 0 0 4 7 ] \begin{bmatrix} 2 & 4 & -1 & 5 & -2 \\ 0 & 3 & 1 & 2 & -3 \\ 0 & 0 & 0 & \color{red}{2} & 1 \\ 0 & 0 & 0 & \color{red}{4} & 7 \end{bmatrix} 20004300110052242317 [ 2 4 − 1 5 − 2 0 3 1 2 − 3 0 0 0 2 1 0 0 0 0 5 ] \begin{bmatrix} 2 & 4 & -1 & 5 & -2 \\ 0 & 3 & 1 & 2 & -3 \\ 0 & 0 & 0 & 2 & 1 \\ 0 & 0 & 0 & 0 & \color{red}{5} \end{bmatrix} 20004300110052202315
上式中标出的元素确定来将 A \boldsymbol{A} A化为 U \boldsymbol{U} U的行化简。在每个主元列,把标出的元素除以主元后将结果放入 L \boldsymbol{L} L L = [ 1 0 0 0 − 2 1 0 0 1 − 3 1 0 − 3 4 2 1 ] \boldsymbol{L}=\begin{bmatrix} 1 & 0 & 0 & 0 \\ -2 & 1 & 0 & 0 \\ 1 & -3 & 1 & 0 \\ -3 & 4 & 2 & 1\end{bmatrix} L=1213013400120001
容易证明,所求出的 L \boldsymbol{L} L U \boldsymbol{U} U满足 L U = A \boldsymbol{LU} = \boldsymbol{A} LU=A

你可能感兴趣的:(线性代数)