Перейти к содержанию

QR-разложение

Материал из Мегавики — свободной энциклопедии

QR-разложение матрицы — представление матрицы в виде произведения унитарной (или ортогональной матрицы) и верхнетреугольной матрицы. QR-разложение является основой одного из методов поиска собственных векторов и чисел матрицы — QR-алгоритма[1].

Определение[править]

Матрица A размера n×m, где nm, с комплексными элементами может быть представлена в виде

A=QR,

где Q — матрица размера n×m с ортонормированными столбцами, а R — верхнетреугольная матрица размера m×m. При n=m матрица Q унитарная. Если при этом A невырождена, то QR-разложение единственно и матрица R может быть выбрана так, чтобы её диагональные элементы были положительными вещественными числами. В частном случае, когда матрица A состоит из вещественных чисел, матрицы Q и R также могут быть выбраны вещественными, причём Q является ортогональной[2].

По аналогии, если A — матрица размера n×m, где nm, то она может быть разложена как

A=LP,

где матрица L порядка nнижнетреугольная, а матрица P размера n×m имеет ортонормированные строки[1].

Алгоритмы[править]

QR-разложение может быть получено различными методами. Проще всего оно может быть вычислено, как побочный продукт в процессе Грама — Шмидта[2]. На практике следует использовать модифицированный алгоритм Грама ― Шмидта, поскольку классический алгоритм обладает плохой численной устойчивостью[3].

Альтернативные алгоритмы для вычисления QR-разложения основаны на отражениях Хаусхолдера и вращениях Гивенса[4].

Пример QR-разложения[править]

Рассмотрим матрицу:

A= (124332413)

Через a1,a2,a3 обозначим векторы-столбцы заданной матрицы A. Получаем следующий набор векторов:

a1=(134), a2=(231), a3=(423)

Далее, применяем алгоритм ортогонализации Грама — Шмидта и нормируем полученные вектора, получаем следующий набор:

e1=(26263262642626), e2=(373614361433361436143436143614), e3=(913913971391393139139)

Из полученных векторов e1,e2,e3 составляем по столбцам матрицу Q из разложения:

Q=(26263736143614913913932626333614361471391394262634361436143139139). Полученная матрица является ортогональной, это означает, что Q1=QT.

Найдем матрицу R из выражения R=Q1A=QTA:

R=(263213+9261121302021807+99361456218070031139) — искомая верхнетреугольная матрица.

Получили разложение A=QR.

Примечания[править]

Литература[править]

  • Horn, R. A., Johnson C. R. Matrix analysis (англ.). — Cambridge University Press, 1990. — ISBN 0-521-30586-1.