Что такое QR-разложение?
QR-разложение (или QR-факторизация) — это базовый приём линейной алгебры, при котором матрица A представляется в виде произведения двух матриц: \(\mathbf{A} = \mathbf{Q}\,\mathbf{R}\). Здесь Q — ортогональная матрица (её столбцы являются взаимно перпендикулярными единичными векторами, то есть \(\mathbf{Q}^{\mathsf{T}}\mathbf{Q} = \mathbf{I}\)), а R — верхнетреугольная матрица. Этот метод применяется в численных расчётах по всему миру и подходит для любой вещественной матрицы независимо от страны или принятых обозначений.
$$\mathbf{A} = \mathbf{Q}\,\mathbf{R}, \quad \mathbf{Q}^{\mathsf{T}}\mathbf{Q} = \mathbf{I},\ \ \mathbf{R}\ \text{upper triangular}$$
QR-разложение широко используют для решения систем линейных уравнений, построения регрессий методом наименьших квадратов и поиска собственных значений с помощью QR-алгоритма. Оно численно устойчивее прямого обращения матрицы, поэтому встречается во многих научных и инженерных пакетах.
Как пользоваться калькулятором
Ввести матрицу очень просто:
- Значения внутри строки разделяйте запятыми.
- Сами строки разделяйте символом вертикальной черты ( | ).
- Например, матрицу со строками (1, 2) и (3, 4) записывают так:
1,2|3,4.
После отправки калькулятор выдаст ортогональную матрицу Q и верхнетреугольную матрицу R, чтобы вы могли убедиться: их произведение действительно воспроизводит исходную матрицу.
Разбор формулы
Чаще всего применяется процесс Грама — Шмидта. Имея столбцы \(a_1, a_2, \ldots\) матрицы A, алгоритм строит ортонормированный набор векторов:
- Первый столбец нормируется и даёт \(q_1\).
- Из каждого следующего столбца вычитаются его проекции на уже найденные векторы q, после чего остаток нормируется.
- Элементы матрицы R равны скалярным произведениям \(r_{ij} = q_i \cdot a_j\); матрица R получается верхнетреугольной, потому что более ранние векторы q не зависят от последующих столбцов.
Разбор примера
Рассмотрим A = 1,1|0,1|1,0 (матрица 3×2). После нормировки первого столбца получаем \(q_1 = (0.707,\ 0,\ 0.707)\). Вычитая из второго столбца его проекцию и нормируя остаток, находим \(q_2\). В результате получается ортогональная матрица Q, столбцы которой имеют единичную длину и взаимно перпендикулярны, а R содержит коэффициенты проекций. Произведение \(\mathbf{Q} \times \mathbf{R}\) возвращает исходную матрицу A, что подтверждает корректность разложения.
Часто задаваемые вопросы
Должна ли матрица быть квадратной? Нет. QR-разложение работает для любой матрицы размера \(m \times n\) при условии \(m \geq n\) — именно поэтому оно так удобно в задачах наименьших квадратов, где уравнений больше, чем неизвестных.
Единственно ли QR-разложение? Оно единственно с точностью до знаков диагональных элементов матрицы R. По общепринятому соглашению диагональ R делают положительной, чтобы зафиксировать единственный ответ.
Почему лучше использовать QR, а не обращать матрицу? QR-метод численно устойчивее и избегает ошибок округления, которые возникают при прямом вычислении обратной матрицы, поэтому результаты получаются надёжнее.