3.5. Обзор других разложений и задач#
В данном разделе приведены некоторые разложения матриц и их применение.
3.5.1. LU-разложение#
LU-разложение можно применять не только для решения линейных систем. Зная разложение, несложно вычислить детерминант матрицы.
A = [
2 0 4 3;
-4 5 -7 10;
1 15 2 -4;
-2 0 2 -13
]
L, U, p = plufact(A)
@show prod(diag(L)) * prod(diag(U)) p det(A);
prod(diag(L)) * prod(diag(U)) = -3510.0
p = [2, 3, 4, 1]
det(A) = 3510.0
Знак детерминанта определяется чётностью перестановки. В данном случае для «сортировки» вектора перестановок p
требуется три операции, поэтому необходимо домножение на \((-1)^3\).
Вычисление детерминанта из определения через миноры стоит \(O(n!)\) флопс, тогда как вычисление через LU-разложение \(O(n^3)\) флопс.
Алгоритм также используется для проверки матрицы на обратимость.
3.5.2. QR-разложение#
QR-разложение выводится из ортогонализации по Граму-Шмидту и применяется для прямоугольной матрицы
где \(\mathbf{Q}\) – ортогональная матрица, а \(\mathbf{R}\) – верхнетреугольная.
Данное разложение применятся для переопределённых систем (число уравнений превышает число неизвестных), например, в методе наименьших квадратов. Кроме того, разложение позволяет найти ядро преобразования и пространство столбцов. А в случае квадратной матрицы \(\mathbf{A}_{n\times n}\) разложение применимо для решения линейной системы, как и LU-разложение.
В одном из вариантов метода Бройдена решения нелинейной системы уравнений эффективней (по времени работы) использовать QR-разложение. Подобная ситуация встречается и в других алгоритмах, где-то одно разложение несёт больше необходимой алгоритму информации, а где-то подходящее разложение экономит время вычислений.
Вычислительная сложность \(\propto 2mn^2 - \frac{2}{3} n^3\).
3.5.3. Разложение Холецкого#
Данное разложение применяется для квадратной симметричной положительно-определённой матрицы \(\mathbf{x}^\top \mathbf{A} \mathbf{x} > 0\)
где \(\mathbf{L}\) – нижнетреугольная матрица.
Подобные матрицы возникают, например, в задаче оптимизации (нахождение минимума функции \(f(\mathbf{x})\)), где ноль градиента и положительная определённость гессиана определяют локальный минимум.
Разложение используется для решения линейных систем, проверки матрицы на положительную определённость, нахождение детерминанта и обращении матриц.
Также часто используется модифицированное разложение Холецкого, которое находит близкую положительно-определённую матрицу к исходной, не обязательно положительно-определённой. Эта матрица может использоваться как приближение гессиана.
Вычислительная стоимость \(\propto \frac{1}{3} n^3\) флопс.
3.5.4. Спектральное разложение#
Существует целое семейство разложений, где в качестве множителей присутствуют матрицы из собственных векторов и значений. Одно из них – спектральное.
Спектральное разложение представляет квадратную матрицу \(\mathbf{A}\) в виде
где \(\mathbf{V}\) – матрица, составленная из собственных векторов матрицы \(\mathbf{A}\), а \(\mathbf{D}\) – диагональная матрица из собственных значений \(\mathbf{A}\).
Как следует из определения, разложение применяется для нахождения собственных значений и векторов матрицы. Такая задача может возникнуть, например, при решении системы обыкновенных дифференциальных уравнений.
Обобщением является сингулярное разложения (SVD-разложение).