题设
设有如下方程组:
$$
\begin{bmatrix}
a_{11}&a_{12}&\cdots&a_{1n}\\
a_{21}&a_{22}&\cdots&a_{2n}\\
\vdots&\vdots&\ddots&\vdots\\
a_{21}&a_{22}&\cdots&a_{2n}
\end{bmatrix}\begin{bmatrix}
x_1\\
x_2\\
\vdots\\
x_n
\end{bmatrix}=\begin{bmatrix}
b_1\\
b_2\\
\vdots\\
b_n
\end{bmatrix}
$$
$$
\bm\Darr
$$
$$
Ax=b
$$
求解思路
设$n$阶方阵$A$的各阶顺序主子式不为零,则存在唯一单位下三角矩阵$L$和上三角矩阵$U$使得$A=LU$。经过如下变换:
$$
Ax=b \implies LUx=b\tag{1}
$$
$$
\Darr \text{令} Ux=y
$$
$$
\begin{cases}
Ly=b\\
Ux=y
\end{cases}\tag{2}
$$
则由式$(2)$可以解得$y$,进而解得$x$.
矩阵的三角分解
设$A$为$n$阶矩阵,$L$为$n$阶下三角矩阵,$U$为$n$阶上三角矩阵。如果$A=LU$,则称对矩阵$A$实行了三角分解或者叫做$LU$分解。(注:矩阵的三角分解不唯一)
杜里特尔分解($LU$分解)
如果L为单位下三角矩阵,$U$为上三角矩阵,则称该三角分解为杜里特尔(Doolittle)分解。
分解过程
首先将分解的结果$L,U$合写在一个矩阵中,像这样:
$$
\begin{bmatrix}
u_{11} & u_{12} & u_{13} & \cdots &u_{1n}\\
l_{12} & u_{22} & u_{23} & \cdots &u_{2n}\\
l_{13} & l_{23} & u_{33} & \cdots &u_{2n}\\
\vdots&\vdots& \vdots & \ddots&\vdots\\
l_{n1} & l_{n2} & l_{n3}& \cdots &u_{nn}
\end{bmatrix}\tag{3}
$$
Doolittle分解的特点:
$\bullet$ 计算顺序:先计算$U$矩阵(即先算行,从左到右),再计算$L$矩阵(即后算列,从上到下),依次交叉进行。
$\bullet$ 计算特点:旧元素减去左边与顶上列向量的点积,计算行不用除法,计算列要除对角元。(如下图所示)
图源自水印
按照上述方法分解完成$L,U$后按照式$(2)$即可求得方程的解。
其他分解方法
还有平方根法和追赶法适用于一些特定的矩阵。其中,追赶法的分解实质上也是杜立特尔分解。
矩阵分解其他用处
矩阵分解还可以用于求矩阵的逆:
$$
A=LU \implies A^{-1}=(LU)^{-1}=U^{-1}L^{-1}\tag{4}
$$
上三角矩阵和下三角矩阵的逆较易求得。