Найдем количество операций в методе Гаусса, учитывая только операции умножения/деления. Заметим, что $k$-я итерация прямого хода метода Гаусса эквивалента: \begin{equation*} \boldsymbol{A}^{(k)} = \boldsymbol{M}^{(k)} \boldsymbol{A}^{(k-1)}, \end{equation*} где $\boldsymbol{M}^{(k)}$ имеет вид: \begin{equation*} \boldsymbol{M}^{(k)} = \begin{bmatrix} 1 & 0 & \dots & \dots & \dots & \dots & \dots & 0 \\ 0 & \ddots & \ddots & & & & & \vdots \\ \vdots & \ddots & \ddots & \ddots & & & & \vdots \\ \vdots & & 0 & \ddots & \ddots & & & \vdots \\ \vdots & & \vdots & -m_{k+1, k} & \ddots & \ddots & & \vdots \\ \vdots & & \vdots & \vdots & 0 & \ddots & \ddots & \vdots \\ \vdots & & \vdots & \vdots & \vdots & \ddots & \ddots & 0 \\ 0 & \dots & 0 & -m_{nk} & 0 & \dots & 0 & 1 \end{bmatrix}, \end{equation*} где индексы в $m_{ij}$ соответствуют строке и колонке матрицы. Для примера рассмотрим вторую итерацию прямого хода для матрицы $\boldsymbol{A} \in \mathbb{R}^{4 \times 4}$:
$$ \boldsymbol{A}^{(2)} = \boldsymbol{M}^{(2)} \boldsymbol{A}^{(1)} = \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & -m_{32} & 1 & 0 \\ 0 & -m_{42} & 0 & 1 \end{bmatrix} \begin{bmatrix} a_{11} & a_{12} & a_{13} & a_{14} \\ 0 & a_{22}^{(1)} & a_{23}^{(1)} & a_{24}^{(1)} \\ 0 & a_{32}^{(1)} & a_{33}^{(1)} & a_{34}^{(1)} \\ 0 & a_{42}^{(1)} & a_{43}^{(1)} & a_{44}^{(1)} \end{bmatrix} = \begin{bmatrix} a_{11} & a_{12} & a_{13} & a_{14} \\ 0 & a_{22}^{(1)} & a_{23}^{(1)} & a_{24}^{(1)} \\ 0 & 0 & -m_{32} a_{23}^{(1)} + a_{33}^{(1)} & -m_{32} a_{24}^{(1)} + a_{34}^{(1)} \\ 0 & 0 & -m_{42} a_{23}^{(1)} + a_{43}^{(1)} & -m_{42} a_{24}^{(1)} + a_{44}^{(1)} \end{bmatrix} $$
где $m_{32} = \frac{a_{32}^{(1)}}{a_{22}^{(1)}}$ и $m_{42} = \frac{a_{42}^{(1)}}{a_{22}^{(1)}}$.
Найдем выражение для верхней треугольной матрицы $\boldsymbol{U}$ и нижней треугольной матрицы $\boldsymbol{L}$: Обратная матрица $\left(\boldsymbol{M}^{(k)}\right)^{-1} = \boldsymbol{L}^{(k)}$ имеет вид:
\begin{equation*} \left(\boldsymbol{M}^{(k)}\right)^{-1} = \boldsymbol{L}^{(k)} = \begin{bmatrix} 1 & 0 & \dots & \dots & \dots & \dots & \dots & 0 \\ 0 & \ddots & \ddots & & & & & \vdots \\ \vdots & \ddots & \ddots & \ddots & & & & \vdots \\ \vdots & & 0 & \ddots & \ddots & & & \vdots \\ \vdots & & \vdots & m_{k+1, k} & \ddots & \ddots & & \vdots \\ \vdots & & \vdots & \vdots & 0 & \ddots & \ddots & \vdots \\ \vdots & & \vdots & \vdots & \vdots & \ddots & \ddots & 0 \\ 0 & \dots & 0 & m_{nk} & 0 & \dots & 0 & 1 \end{bmatrix}. \end{equation*}
Тогда нижняя треугольная матрица $\boldsymbol{L}$ имеет вид: \begin{equation*} \boldsymbol{L} = \boldsymbol{L}^{(1)} \cdots \boldsymbol{L}^{(n-1)} = \begin{bmatrix} 1 & 0 & \dots & 0 \\ m_{21} & 1 & \ddots & \vdots \\ \vdots & \ddots & \ddots & 0 \\ m_{n1} & \dots & m_{n, n-1} & 1 \end{bmatrix}. \end{equation*}
Заметим, что:
  • в выводе LU-разложения мы не предполагали перестановок строк;
  • перестановки можно учесть с помощью матрицы перестановки:
    • матрица перестановки $\boldsymbol{P}$ образуется с помощью перестановки строк единичной матрицы $\boldsymbol{E}$;
    • $\boldsymbol{P} \boldsymbol{A}$ переставляет строки матрицы $\boldsymbol{A}$;
    • $\boldsymbol{A} \boldsymbol{P}$ переставляет столбцы матрицы $\boldsymbol{A}$.
Учитывая перестановки, можно найти LU-разложение для матрицы: \begin{equation*} \boldsymbol{P} \boldsymbol{A} = \boldsymbol{L} \boldsymbol{U}, \end{equation*} и затем найти решение уравнения: \begin{equation*} \boldsymbol{P} \boldsymbol{A} \boldsymbol{x} = \boldsymbol{P} \boldsymbol{b}. \end{equation*}
Доказательство Доказательство свойств 1 и 2 Рассмотрим $LDL^T$ разложение для положительно определенной матрицы $\boldsymbol{A} \in \mathbb{R}^{3 \times 3}$:
image/svg+xml
image/svg+xml
image/svg+xml
image/svg+xml
image/svg+xml
image/svg+xml
image/svg+xml
Заметим, что:
  • алгоритмическая сложность метода прогонки: $O(n)$;
  • метод прогонки устойчив для матриц со строгим диагональным преобладанием (следствие вывода метода прогонки из метода Гаусса).