Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

В линейной алгебры , A QR - разложение , также известный как QR - разложения или QU разложения является разложением из матрицы A в произведение A  =  QR в качестве ортогональной матрицы Q и верхней треугольной матрицы R . QR - разложение часто используется для решения линейной наименьших квадратов проблемы и является основой для конкретного собственного значения алгоритма , в QR алгоритма .

Случаи и определения [ править ]

Квадратная матрица [ править ]

Любая вещественная квадратная матрица A может быть разложена как

где Q - ортогональная матрица (ее столбцы означают ортогональные единичные векторы ), а R - верхнетреугольная матрица (также называемая правотреугольной матрицей, отсюда и название). Если является обратимым , то разложение единственно , если мы требуем диагональные элементы R , чтобы быть положительным.

Если вместо этого A - это комплексная квадратная матрица, то существует разложение A = QR, где Q - унитарная матрица (так ).

Если имеют п линейно независимые столбцы, то первый п столбцы Q образует ортогональный базис для столбца пространства из A . В более общем смысле, первые k столбцов Q образуют ортонормированный базис для диапазона первых k столбцов A для любого 1 ≤ kn . [1] Тот факт , что любой столбец к из А зависит только от первых K столбцов Q отвечает за треугольной формы  R . [1]

Прямоугольная матрица [ править ]

В более общем смысле, мы можем факторизовать комплексную матрицу A размера m × n , где mn , как произведение унитарной матрицы Q размера m × m и верхней треугольной матрицы R размера m × n . Поскольку нижние ( m - n ) строк верхней треугольной матрицы размером m × n полностью состоят из нулей, часто бывает полезно разделить R или оба R и Q :

где R 1 - верхняя треугольная матрица размера n × n , 0 - нулевая матрица ( m - n ) × n , Q 1 - это m × n , Q 2 - это m × ( m - n ) , а Q 1 и Q 2 оба имеют ортогональные столбцы.

Голуб и Ван займа (1996 , §5.2) вызова Q 1 R 1 тонкий QR - разложение в A ; Трефетен и Бау называют это сокращенной QR-факторизацией . [1] Если A имеет полный ранг n и мы требуем, чтобы диагональные элементы R 1 были положительными, то R 1 и Q 1 уникальны, но в общем случае Q 2 - нет. R 1 при этом равна верхней треугольной фактор разложения Холецкого из А * A (=  A T A, если A вещественно).

QL, RQ и LQ разложения [ править ]

Аналогичным образом мы можем определить разложения QL, RQ и LQ, где L является нижней треугольной матрицей.

Вычисление QR-разложения [ править ]

Существует несколько методов реального вычисления QR-разложения, например, с помощью процесса Грама – Шмидта , преобразований Хаусхолдера или вращений Гивенса . У каждого есть ряд преимуществ и недостатков.

Использование процесса Грама – Шмидта [ править ]

Рассмотрим процесс Грама-Шмидта применяется к столбцам полной матрицы столбец ранга , с внутренним продуктом (или для комплексного случая).

Определите проекцию :

тогда:

Теперь мы можем выразить s по нашему недавно вычисленному ортонормированному базису:

где . Это можно записать в матричной форме:

куда:

и

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

Рассмотрим разложение

Напомним, что ортонормированная матрица обладает свойством .

Затем мы можем вычислить с помощью Грама – Шмидта следующим образом:

Таким образом, мы имеем

Связь с разложением RQ [ править ]

RQ разложение преобразование матрица в произведение верхней треугольной матрицы R (также известная как правая треугольная форма) и ортогональной матрице Q . Единственное отличие от QR-разложения - это порядок этих матриц.

QR-разложение - это ортогонализация по Граму – Шмидту столбцов матрицы A , начиная с первого столбца.

Разложение RQ - это ортогонализация по Граму – Шмидту строк матрицы A , начинающаяся с последней строки.

Преимущества и недостатки [ править ]

Процесс Грама-Шмидта по своей природе численно нестабилен. Хотя применение проекций имеет привлекательную геометрическую аналогию с ортогонализацией, сама ортогонализация подвержена числовым ошибкам. Однако существенным преимуществом является простота реализации, что делает этот алгоритм полезным для использования при создании прототипов, если заранее созданная библиотека линейной алгебры недоступна.

Использование отражений домовладельцев [ править ]

Отражение Хаусхолдера для QR-разложения: цель состоит в том, чтобы найти линейное преобразование, которое изменяет вектор в вектор той же длины, который коллинеарен . Мы могли бы использовать ортогональную проекцию (Грама-Шмидта), но она будет численно нестабильной, если векторы и близки к ортогональным. Вместо этого отражение Хаусхолдера отражается через пунктирную линию (выбранную, чтобы разделить угол между и ). Максимальный угол при этом преобразовании составляет 45 градусов.

Хаусхолдера отражения (или Хаусхолдер преобразование ) является преобразованием , который принимает вектор и отражает его о некоторой плоскости или гиперплоскости . Мы можем использовать эту операцию для вычисления QR- факторизации матрицы размером m на n с mn .

Q может использоваться для отражения вектора таким образом, что все координаты, кроме одной, исчезают.

Позвольте быть произвольным вещественным m -мерным вектор-столбцом такой, что для скаляра α . Если алгоритм реализован с использованием арифметики с плавающей точкой , то α должен получить противоположный знак как к -й координате , где должна быть стержень координат , после которого все записи равны 0 в матрице А ' с окончательной верхней треугольной формой, избегайте потери значимости . В сложном случае установите

( Stoer & Bulirsch 2002 , p. 225) и заменим транспонирование сопряженным транспонированием при построении Q ниже.

Тогда где - вектор [1 0 ⋯ 0] T , || · || является евклидова нормы и является м × м единичной матрицы, набор

Или, если комплекс

это м матрица с размерностью м Хаусхолдер матрица и

Это можно использовать для постепенного преобразования матрицы A размером m на n к верхнетреугольной форме. Сначала мы умножаем A на матрицу Хаусхолдера Q 1, которую получаем, когда выбираем первый столбец матрицы для x . В результате получается матрица Q 1 A с нулями в левом столбце (кроме первой строки).

Это можно повторить для A '(полученного из Q 1 A путем удаления первой строки и первого столбца), в результате чего получится матрица Хаусхолдера Q ' 2 . Обратите внимание, что Q ' 2 меньше, чем Q 1 . Поскольку мы хотим, чтобы он действительно работал с Q 1 A вместо A ', нам нужно развернуть его в левый верхний угол, заполнив 1, или в целом:

После итераций этого процесса ,

- верхнетреугольная матрица. Итак, с

является QR-разложением .

Этот метод имеет большую числовую устойчивость, чем метод Грама – Шмидта, описанный выше.

В следующей таблице указано количество операций на k -м шаге QR-разложения с помощью преобразования Хаусхолдера, предполагая квадратную матрицу с размером n .

Суммируя эти числа за n - 1 шаг (для квадратной матрицы размера n ), сложность алгоритма (в терминах умножения с плавающей запятой) определяется как

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

Вычислим разложение

Во-первых, нам нужно найти отражение, которое преобразует первый столбец матрицы A , вектор , в .

Сейчас же,

и

Здесь,

и

Следовательно

и , а затем

Теперь обратите внимание:

так что у нас уже есть почти треугольная матрица. Нам нужно только обнулить запись (3, 2).

Возьмите минор (1, 1) , а затем снова примените процесс к

Тем же способом, что и выше, получаем матрицу преобразования Хаусхолдера

после выполнения прямого суммирования с 1, чтобы убедиться, что следующий шаг в процессе работает правильно.

Теперь мы находим

Или, до четырех десятичных цифр,

Матрица Q ортогональна, а R верхнетреугольная, поэтому A = QR является требуемым QR-разложением.

Преимущества и недостатки [ править ]

Использование преобразований Хаусхолдера по своей сути является наиболее простым из численно устойчивых алгоритмов QR-разложения из-за использования отражений в качестве механизма для получения нулей в R- матрице. Однако алгоритм отражения Хаусхолдера требует большой полосы пропускания и не поддается распараллеливанию, поскольку каждое отражение, которое создает новый нулевой элемент, полностью изменяет матрицы Q и R.

Использование вращений Гивенса [ править ]

QR-разложения также можно вычислить с помощью серии вращений Гивенса . Каждое вращение обнуляет элемент на поддиагонали матрицы, образуя матрицу R. Объединение всех вращений Гивенса образует ортогональную Q- матрицу.

На практике вращения Гивенса фактически не выполняются путем построения всей матрицы и выполнения матричного умножения. Вместо этого используется процедура вращения Гивенса, которая выполняет эквивалент умножения разреженных матриц Гивенса без дополнительной работы по обработке разреженных элементов. Процедура вращения Гивенса полезна в ситуациях, когда требуется обнулить только относительно небольшое количество недиагональных элементов, и ее легче распараллелить, чем преобразования Хаусхолдера .

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

Вычислим разложение

Во-первых, нам нужно сформировать матрицу вращения, которая обнулит самый нижний левый элемент . Мы формируем эту матрицу, используя метод вращения Гивенса, и вызываем матрицу . Сначала мы повернем вектор , чтобы он указывал вдоль оси X. Этот вектор имеет угол . Мы создаем ортогональную матрицу вращения Гивенса :

И результат now имеет ноль в элементе.

Мы можем аналогичным образом сформировать матрицы Гивенса и , которые будут обнулять субдиагональные элементы и , образуя треугольную матрицу . Ортогональная матрица формируется из произведения всех матриц Гивенса . Таким образом, мы имеем , и QR- разложение есть .

Преимущества и недостатки [ править ]

QR-разложение с помощью вращений Гивенса является наиболее сложным для реализации, поскольку порядок строк, необходимых для полного использования алгоритма, определить нетривиально. Однако он имеет значительное преимущество в том, что каждый новый нулевой элемент влияет только на строку с обнуляемым элементом ( i ) и строку выше ( j ). Это делает алгоритм вращения Гивенса более эффективным и распараллеливаемым, чем метод отражения Хаусхолдера.

Связь с определителем или произведением собственных значений [ править ]

Мы можем использовать QR-разложение, чтобы найти абсолютное значение определителя квадратной матрицы. Предположим, что матрица разложена как . Тогда у нас есть

Так как Q является унитарным, . Таким образом,

где хранятся записи по диагонали R .

Кроме того, поскольку определитель равен произведению собственных значений, мы имеем

где собственные значения .

Мы можем распространить вышеупомянутые свойства на неквадратную комплексную матрицу , введя определение QR-разложения для неквадратной комплексной матрицы и заменив собственные значения сингулярными значениями.

Предположим, что QR-разложение для неквадратной матрицы A :

где обозначает нулевую матрицу, а - унитарная матрица.

Из свойств SVD и определителя матрицы имеем

где - особые значения .

Обратите внимание, что сингулярные значения и идентичны, хотя их комплексные собственные значения могут быть разными. Однако, если A квадратная, верно следующее:

В заключение, QR-разложение можно эффективно использовать для вычисления произведения собственных значений или сингулярных значений матрицы.

Вращение столбца [ править ]

Поворотный QR отличается от обычного Грама-Шмидта тем, что он берет самый большой оставшийся столбец в начале каждого нового шага - поворот столбца- [2] и, таким образом, вводит матрицу перестановок P :

Вращение столбцов полезно, когда A (почти) имеет недостаточный ранг или подозревается в этом. Это также может улучшить числовую точность. Р обычно выбирается так , что диагональные элементы R не возрастают: . Это может быть использовано для определения (числового) ранга A с меньшими вычислительными затратами, чем разложение по сингулярным значениям , что составляет основу так называемых алгоритмов определения ранга QR .

Использование для решения линейных обратных задач [ править ]

По сравнению с прямой обратной матрицей, обратные решения, использующие QR-разложение, более численно стабильны, о чем свидетельствуют их уменьшенные числа обусловленности [Parker, Geophysical Inverse Theory, Ch1.13].

Для решения Недоопределенные ( ) линейная задача , где матрица имеет размеры и ранг , сначала найти QR - разложение транспонированной : , где Q является ортогональной матрицей (т.е. ), и R имеет специальную форму: . Вот квадратная прямоугольная матрица, а нулевая матрица имеет размерность . После некоторой алгебры можно показать, что решение обратной задачи может быть выражено как: где можно либо найти методом исключения Гаусса, либо вычислить непосредственно с помощью форвардная замена . Последний метод отличается большей числовой точностью и меньшим объемом вычислений.

Для того, чтобы найти решение в переопределена ( ) задачу , которая сводит к минимуму нормы , сначала найти QR - разложение : . Затем решение может быть выражено как , где - матрица, содержащая первые столбцы полного ортонормированного базиса, а где - как и раньше. Эквивалент недоопределенного случая, обратная подстановка может использоваться для быстрого и точного поиска этого без явного обращения . ( и часто предоставляются числовыми библиотеками как «экономичное» QR-разложение.)

Обобщения [ править ]

Разложение Ивасавы обобщает QR-разложение на полупростые группы Ли.

См. Также [ править ]

  • Полярное разложение
  • Разложение на собственные значения
  • Спектральное разложение
  • LU разложение
  • Разложение по сингулярным числам

Ссылки [ править ]

  1. ^ a b c Л. Н. Трефетен, Д. Бау, Численная линейная алгебра (SIAM, 1997).
  2. Перейти ↑ Strang, Gilbert (2019). Линейная алгебра и обучение на основе данных (1-е изд.). Уэллсли: Wellesley Cambridge Press. п. 143. ISBN. 978-0-692-19638-0.

Дальнейшее чтение [ править ]

  • Голуб, Джин Х .; Ван Лоан, Чарльз Ф. (1996), Matrix Computations (3-е изд.), Johns Hopkins, ISBN 978-0-8018-5414-9.
  • Хорн, Роджер А .; Джонсон, Чарльз Р. (1985), Матричный анализ , Cambridge University Press, ISBN 0-521-38632-2. Раздел 2.8.
  • Нажмите, WH; Теукольский, С.А. Феттерлинг, Вашингтон; Фланнери, Б.П. (2007), «Раздел 2.10. QR-разложение» , Численные рецепты: Искусство научных вычислений (3-е изд.), Нью-Йорк: Cambridge University Press, ISBN. 978-0-521-88068-8
  • Стоер, Йозеф; Булирш, Роланд (2002), Введение в численный анализ (3-е изд.), Springer, ISBN 0-387-95452-X.

Внешние ссылки [ править ]

  • Онлайн-калькулятор матриц Выполняет QR-разложение матриц.
  • Руководство пользователя LAPACK содержит подробную информацию о подпрограммах для расчета QR-разложения.
  • В руководстве пользователя Mathematica приведены подробные сведения и примеры процедур для расчета QR-разложения.
  • ALGLIB включает частичный перенос LAPACK на C ++, C #, Delphi и т. Д.
  • Eigen :: QR Включает реализацию QR-разложения на C ++.