stringtranslate.com

Разложение Холецкого

В линейной алгебре разложение Холецкого или факторизация Холецкого (произносится / ʃ ə ˈ l ɛ s k i / shə- LES -kee ) — это разложение эрмитовой положительно определенной матрицы в произведение нижней треугольной матрицы и ее сопряженной transpose , что полезно для эффективных численных решений, например, моделирования Монте-Карло . Оно было открыто Андре-Луи Холеским для вещественных матриц и посмертно опубликовано в 1924 году. [1] Когда оно применимо, разложение Холецкого примерно в два раза эффективнее, чем LU-разложение для решения систем линейных уравнений . [2]

Заявление

Разложение Холецкого эрмитовой положительно определенной матрицы A представляет собой разложение вида

где Lнижняя треугольная матрица с действительными и положительными диагональными элементами, а L * обозначает сопряженное транспонирование L . Каждая эрмитова положительно определенная матрица (а, следовательно, и каждая вещественная симметричная положительно определенная матрица) имеет уникальное разложение Холецкого. [3]

Обратное утверждение справедливо тривиально: если A можно записать как LL * для некоторого обратимого L , нижнетреугольного или иного, то A эрмитово и положительно определенное.

Когда A — действительная матрица (следовательно, симметричная положительно определенная), факторизация может быть записана как

где L — действительная нижне-треугольная матрица с положительными диагональными элементами. [4] [5] [6]

Положительные полуопределенные матрицы

Если эрмитова матрица A является только положительно полуопределенной, а не положительно определенной, то она все равно имеет разложение формы A = LL * , где диагональные элементы L могут быть равны нулю. [7] Декомпозиция не обязательно должна быть уникальной, например:

Однако если ранг A равен r , то существует единственный нижний треугольник L с ровно r положительными диагональными элементами и n - r столбцами, содержащими все нули. [8]

Альтернативно, декомпозиция может быть сделана уникальной, если фиксирован поворотный выбор. Формально, если A — положительно-полуопределенная матрица размера n × n ранга r , то существует хотя бы одна матрица перестановок P такая, что PAP T имеет уникальное разложение вида PAP T = LL * с , где L 1 — матрица r × r нижняя треугольная матрица с положительной диагональю. [9]

Разложение ЛПНП

Близким вариантом классического разложения Холецкого является разложение ЛПНП,

где Lмладшая единичная треугольная (однотреугольная) матрица, а Dдиагональная матрица. То есть диагональные элементы L должны быть равны 1 за счет введения дополнительной диагональной матрицы D в разложение. Основное преимущество заключается в том, что разложение ЛПНП можно вычислить и использовать по существу с помощью тех же алгоритмов, но без извлечения квадратных корней. [10]

По этой причине разложение ЛПНП часто называют разложением Холецкого без квадратных корней . Для реальных матриц факторизация имеет форму A = LDL T и часто называется разложением LDLT (или разложением LDL T , или LDL '). Это напоминает собственное разложение действительных симметричных матриц A = QΛQ T , но на практике оно совершенно другое, поскольку Λ и D не являются подобными матрицами .

Разложение ЛПНП связано с классическим разложением Холецкого формы LL * следующим образом:

И наоборот, учитывая классическое разложение Холецкого положительно определенной матрицы, если S - диагональная матрица, содержащая главную диагональ , то A можно разложить как где

(это изменяет масштаб каждого столбца, чтобы сделать диагональные элементы равными 1),

Если A положительно определен, то все диагональные элементы D положительны. Для положительно полуопределенного A существует разложение , в котором количество ненулевых элементов на диагонали D в точности равно рангу A. [11] Некоторые неопределенные матрицы, для которых не существует разложения Холецкого, имеют разложение LDL с отрицательными элементами в D : достаточно, чтобы первые n -1 главных миноров матрицы A были неособыми. [12]

Пример

Вот разложение Холецкого симметричной вещественной матрицы:

А вот его разложение Т -ЛПНП :

Геометрическая интерпретация

Эллипс — это линейное изображение единичного круга. Два вектора являются сопряженными осями эллипса, выбранными так, чтобы они были параллельны первой оси и находились внутри плоскости, охватываемой первыми двумя осями.

Разложение Холецкого эквивалентно определенному выбору сопряженных осей эллипсоида . [13] Подробно, пусть эллипсоид определен как , тогда по определению набор векторов является сопряженными осями эллипсоида тогда и только тогда . Тогда эллипсоид в точности

Определите матрицу , тогда эквивалентно . Разный выбор сопряженных осей соответствует разным разложениям.

Разложение Холецкого соответствует выбору быть параллельным первой оси, находиться внутри плоскости, охватываемой первыми двумя осями, и так далее. Получается верхнетреугольная матрица. Тогда существует , где – нижнетреугольный.

Точно так же анализ главных компонент соответствует выбору перпендикулярности. Тогда пусть и , и где – ортогональная матрица. Тогда это дает .

Приложения

Численное решение системы линейных уравнений

Разложение Холецкого в основном используется для численного решения линейных уравнений . Если A симметричен и положительно определен, то его можно решить, сначала вычислив разложение Холецкого , затем найдя y путем прямой замены и, наконец, найдя x путем обратной замены .

Альтернативный способ избежать извлечения квадратных корней при разложении состоит в том, чтобы вычислить разложение ЛПНП , затем найти y и , наконец, решить .

Для линейных систем, которые можно представить в симметричной форме, разложение Холецкого (или его вариант ЛПНП) является предпочтительным методом, обеспечивающим превосходную эффективность и численную стабильность. По сравнению с LU-разложением оно примерно в два раза эффективнее. [2]

Линейный метод наименьших квадратов

Системы вида Ах = b с А симметричными и положительно определенными встречаются в приложениях довольно часто. Например, нормальные уравнения в линейных задачах наименьших квадратов имеют такой вид. Может также случиться, что матрица A получена из функционала энергии, который должен быть положительным по физическим соображениям; это часто происходит при численном решении уравнений в частных производных .

Нелинейная оптимизация

Нелинейные функции многих переменных можно минимизировать по своим параметрам, используя варианты метода Ньютона , называемые квазиньютоновскими методами. На итерации k поиск выполняется в направлении, определяемом решением для , где - направление шага, - градиент и - аппроксимация матрицы Гессе , сформированной путем повторения обновлений ранга 1 на каждой итерации. Две хорошо известные формулы обновления называются Дэвидон-Флетчер-Пауэлл (DFP) и Бройден-Флетчер-Гольдфарб-Шенно (BFGS). Утраты положительно определенного условия из-за ошибки округления можно избежать, если вместо обновления аппроксимации, обратной гессиану, обновлять разложение Холецкого аппроксимации самой матрицы Гессиана. [14]

Моделирование Монте-Карло

Разложение Холецкого обычно используется в методе Монте-Карло для моделирования систем с несколькими коррелирующими переменными. Ковариационная матрица разлагается, чтобы получить нижний треугольный L . Применяя это к вектору некоррелированных выборок u, получается вектор выборки Lu с ковариационными свойствами моделируемой системы. [15]

Следующий упрощенный пример показывает экономию, которую можно получить в результате разложения Холецкого: предположим, что цель состоит в том, чтобы сгенерировать две коррелирующие нормальные переменные с заданным коэффициентом корреляции . Для этого необходимо сначала сгенерировать две некоррелированные гауссовские случайные величины и , что можно сделать с помощью преобразования Бокса – Мюллера . Учитывая требуемый коэффициент корреляции , коррелированные нормальные переменные могут быть получены с помощью преобразований и .

Фильтры Калмана

Фильтры Калмана без запаха обычно используют разложение Холецкого для выбора набора так называемых сигма-точек. Фильтр Калмана отслеживает среднее состояние системы как вектор x длины N и ковариацию как матрицу P размера N × N. Матрица P всегда положительно полуопределена и может быть разложена на LL T . Столбцы L можно складывать и вычитать из среднего значения x , чтобы сформировать набор из 2 N векторов, называемых сигма-точками . Эти сигма-точки полностью отражают среднее значение и ковариацию состояния системы.

Инверсия матрицы

Явная обратная эрмитова матрица может быть вычислена с помощью разложения Холецкого аналогично решению линейных систем с использованием операций ( умножений). [10] Вся инверсия может быть эффективно выполнена даже на месте.

Неэрмитову матрицу B также можно инвертировать, используя следующее тождество, где BB * всегда будет эрмитовой:

Вычисление

Существуют различные методы расчета разложения Холецкого. Вычислительная сложность обычно используемых алгоритмов в целом равна O ( n3 ) . [ нужна цитация ] Все алгоритмы, описанные ниже, включают около (1/3) n 3 FLOP ( n 3/6 умножений и такое же количество сложений) для реальных вариантов и (4/3) n 3 FLOP для сложных вариантов, [16 ] где n — размер матрицы A. Следовательно, они имеют половину стоимости LU-разложения , которое использует 2 n 3/3 FLOP (см. Trefethen and Bau 1997).

Какой из приведенных ниже алгоритмов работает быстрее, зависит от деталей реализации. Как правило, первый алгоритм будет немного медленнее, поскольку он обращается к данным менее регулярно.

Алгоритм Холецкого

Алгоритм Холецкого , используемый для вычисления матрицы разложения L , представляет собой модифицированную версию метода исключения Гаусса .

Рекурсивный алгоритм начинается с i  := 1 и

А (1)  := А .

На шаге i матрица A ( i ) имеет следующий вид:

где I i −1 обозначает единичную матрицу размерности i − 1.

Если матрица L i определяется формулой

(обратите внимание, что a i,i > 0, поскольку A ( i ) положительно определена), то A ( i ) можно записать как

где

Обратите внимание, что b i b * i — это внешний продукт , поэтому в (Golub & Van Loan) этот алгоритм называется версией внешнего продукта .

Это повторяется для i от 1 до n . После n шагов получается A ( n +1) = I , и, следовательно, искомая нижняя треугольная матрица L вычисляется как

Алгоритмы Холески-Банакевича и Холески-Краута.

Шаблон доступа (белый) и шаблон записи (желтый) для локального алгоритма Холецкого-Банакевича на матрице 5×5.

Если уравнение

выписано, получается следующее:

и, следовательно, следующие формулы для записей L :

Для сложных и вещественных матриц допускаются несущественные произвольные изменения знака диагональных и связанных с ними недиагональных элементов. Выражение под квадратным корнем всегда положительно, если А вещественно и положительно определено.

Для комплексной эрмитовой матрицы применяется следующая формула:

Таким образом, теперь можно вычислить запись ( i , j ), если известны записи слева и выше. Вычисления обычно организуются в одном из следующих порядков:

for ( я = 0 ; я < sizeSize ; я ++ ) { for ( j = 0 ; j <= i ; j ++ ) { float sum = 0 ; для ( k знак равно 0 ; k < j ; k ++ ) сумма += L [ i ] [ k ] * L [ j ] [ k ];                                   если ( я == j ) L [ я ][ j ] = sqrt ( A [ я ][ я ] - сумма ); иначе L [ i ][ j ] = ( 1,0 / L [ j ][ j ] * ( A [ i ][ j ] - сумма )); } }                   

Приведенный выше алгоритм можно кратко выразить как объединение скалярного произведения и умножения матриц в векторизованных языках программирования, таких как Фортран , следующим образом:

do я знак равно 1 , размер ( A , 1 ) L ( я , я ) = sqrt ( A ( я , я ) - скалярное произведение ( L ( я , 1 : я - 1 ), L ( я , 1 : я - 1 ) )) L ( i + 1 :, i ) = ( A ( i + 1 :, i ) - matmul ( conjg ( L ( i , 1 : i - 1 )), L ( i + 1 :, 1 : i - 1 ))) / L ( я , я ) конец делаю                 

где conjgотносится к комплексно-сопряженным элементам.

Приведенный выше алгоритм можно кратко выразить как объединение скалярного произведения и умножения матриц в векторизованных языках программирования, таких как Фортран , следующим образом:

do i = 1 , размер ( A , 1 ) L ( я , я ) = sqrt ( A ( я , я ) - скалярное произведение ( L ( 1 : я - 1 , я ), L ( 1 : я - 1 , я ) )) L ( i , i + 1 :) = ( A ( i , i + 1 :) - matmul ( conjg ( L ( 1 : i - 1 , i ))), L ( 1 : i - 1 , i + 1 :))) / L ( i , i ) end do                 

где conjgотносится к комплексно-сопряженным элементам.

Любой шаблон доступа позволяет при желании выполнять все вычисления на месте.

Стабильность вычислений

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

Теперь предположим, что разложение Холецкого применимо. Как уже говорилось выше, алгоритм будет работать в два раза быстрее. Кроме того, поворот не требуется, и ошибка всегда будет небольшой. В частности, если Ax = b и y обозначает вычисленное решение, то y решает возмущенную систему ( A + E ) y = b , где

Здесь ||·|| 2матричная 2-норма , c n — небольшая константа, зависящая от n , а ε обозначает единичное округление .

Одна из проблем, связанных с разложением Холецкого, которую следует учитывать, — это использование квадратных корней. Если факторизуемая матрица является положительно определенной, как требуется, числа под квадратными корнями всегда положительны в точной арифметике . К сожалению, числа могут стать отрицательными из -за ошибок округления , и в этом случае алгоритм не сможет продолжить работу. Однако это может произойти только в том случае, если матрица очень плохо обусловлена. Один из способов решения этой проблемы — добавить матрицу диагональной коррекции к разлагаемой матрице в попытке обеспечить положительную определенность. [17] Хотя это может снизить точность разложения, это может быть очень благоприятно по другим причинам; например, при использовании метода Ньютона при оптимизации добавление диагональной матрицы может улучшить стабильность, когда она далека от оптимальной.

Разложение ЛПНП

Альтернативной формой, устраняющей необходимость извлекать квадратные корни, когда A симметрично, является симметричная неопределенная факторизация [18]

Следующие рекурсивные отношения применяются к записям D и L :

Это работает до тех пор, пока сгенерированные диагональные элементы в D остаются ненулевыми. Тогда разложение однозначно. D и L вещественны, если A вещественно.

Для комплексной эрмитовой матрицы A применяется следующая формула:

Опять же, шаблон доступа позволяет при желании выполнять все вычисления на месте.

Блочный вариант

Известно, что факторизация LDL * при использовании с неопределенными матрицами без тщательного поворота нестабильна; В [19] , в частности, элементы факторизации могут расти произвольно. Возможным улучшением является выполнение факторизации блочных подматриц, обычно 2 × 2: [20]

где каждый элемент в приведенных выше матрицах является квадратной подматрицей. Отсюда следуют аналогичные рекурсивные отношения:

Это включает в себя матричное произведение и явную инверсию, что ограничивает практический размер блока.

Обновление декомпозиции

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

Обновление первого ранга

Конкретный случай, когда обновленная матрица связана с матрицей посредством , известен как обновление первого ранга .

Вот функция [21] , написанная с использованием синтаксиса Matlab , которая реализует обновление первого ранга:

функция  [L] = choupdate ( L, x ) n = длина ( x ); для k = 1 : n r = sqrt ( L ( k , k ) ^ 2 + x ( k ) ^ 2 ); с знак равно р / L ( к , к ); s знак равно Икс ( k ) / L ( k , k ); L ( k , k ) знак равно р ; если k < n L (( k + 1 ): n , k ) = ( L (( k + 1 ): n , k ) + s * x (( k + 1 ): n )) / c ; Икс (( k + 1 ): n ) = c * x (( k + 1 ): n ) - s * L (( k + 1 ): n , k ); конец, конец, конец                                                          

Обновление ранга n — это обновление матрицы, при котором разложение обновляется так, что . Этого можно достичь путем последовательного выполнения обновлений первого ранга для каждого из столбцов .

Понижение первого ранга

Понижение первого ранга аналогично обновлению первого ранга, за исключением того, что добавление заменяется вычитанием: . Это работает только в том случае, если новая матрица все еще положительно определена.

Код для обновления первого ранга, показанный выше, можно легко адаптировать для выполнения понижения первого ранга: нужно просто заменить два сложения в присваивании на rи L((k+1):n, k)вычитаниями.

Добавление и удаление строк и столбцов

Если симметричная и положительно определенная матрица представлена ​​в блочной форме как

и его верхний фактор Холецкого

затем для новой матрицы , которая аналогична, но со вставкой новых строк и столбцов,

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

Записывая решение , которое легко найти для треугольных матриц, и разложение Холецкого , можно найти следующие соотношения:

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

с известным разложением Холецкого

и желание определить фактор Холецкого

матрицы с удаленными строками и столбцами,

дает следующие правила:

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

Доказательство положительных полуопределенных матриц.

Доказательство ограничивающим аргументом

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

Если – положительно определенная матрица , то последовательность состоит из положительно определенных матриц . (Это непосредственное следствие, например, теоремы о спектральном отображении для полиномиального функционального исчисления.) Кроме того,

в операторе норма . Из положительно определенного случая каждый имеет разложение Холецкого . По свойству операторной нормы

Это справедливо, поскольку алгебра C* снабжена операторной нормой. So — ограниченное множество в банаховом пространстве операторов, поэтому относительно компактное (поскольку базовое векторное пространство конечномерно). Следовательно, она имеет сходящуюся подпоследовательность, также обозначаемую , с пределом . Легко проверить, что он обладает желаемыми свойствами, т. е . является нижнетреугольным с неотрицательными диагональными элементами: для всех и ,

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

Доказательство путем QR-разложения

Пусть – положительная полуопределенная эрмитова матрица. Тогда его можно записать как произведение матрицы квадратного корня , . Теперь QR-разложение можно применить к , в результате чего , где унитарно и является верхнетреугольным. Вставка разложения в исходное равенство дает . Установка завершает доказательство.

Обобщение

Факторизация Холецкого может быть обобщена на ( не обязательно конечные) матрицы с операторными элементами. Пусть – последовательность гильбертовых пространств . Рассмотрим операторную матрицу

действуя на прямую сумму

где каждый

является ограниченным оператором . Если A положительно (полуопределенно) в том смысле, что для всех конечных k и для любого

существует , то существует нижняя треугольная операторная матрица L такая, что A = LL *. Можно также считать диагональные элементы L положительными.

Реализации в библиотеках программирования

Смотрите также

Примечания

  1. ^ Бенуа (1924). «Примечание к методу разрешения нормальных уравнений, происшедшему с применением метода moindres carrés в системе линейных уравнений под нижним номером в celui des inconnues (Procédé du Commandant Cholesky)». Бюллетень Géodésique (на французском языке). 2 : 66–67. дои : 10.1007/BF03031308.
  2. ^ ab Press, Уильям Х.; Саул Алексеевич Теукольский; Уильям Т. Веттерлинг; Брайан П. Фланнери (1992). Численные рецепты в C: Искусство научных вычислений (второе изд.). Кембриджский университет, Англия, Epress. п. 994. ИСБН 0-521-43108-5. Проверено 28 января 2009 г.
  3. ^ Голуб и Ван Лоан (1996, стр. 143), Хорн и Джонсон (1985, стр. 407), Трефетен и Бау (1997, стр. 174).
  4. ^ Хорн и Джонсон (1985, стр. 407).
  5. ^ «Матрицы - Диагонализация сложной симметричной матрицы» . MathOverflow . Проверено 25 января 2020 г.
  6. ^ Шабауэр, Ханнес; Пэчер, Кристоф; Сандерленд, Эндрю Г.; Ганстерер, Уилфрид Н. (1 мая 2010 г.). «На пути к параллельному решателю обобщенных сложных симметричных задач на собственные значения». Procedia Информатика . ICCS 2010. 1 (1): 437–445. дои : 10.1016/j.procs.2010.04.047 . ISSN  1877-0509.
  7. ^ Голуб и Ван Лоан (1996, стр. 147).
  8. ^ Нежный, Джеймс Э. (1998). Численная линейная алгебра для приложений в статистике . Спрингер. п. 94. ИСБН 978-1-4612-0623-1.
  9. ^ Хайэм, Николас Дж. (1990). «Анализ разложения Холецкого полуопределенной матрицы». В Коксе, Миннесота; Хаммарлинг, С.Дж. (ред.). Надежные численные вычисления . Оксфорд, Великобритания: Издательство Оксфордского университета. стр. 161–185. ISBN 978-0-19-853564-5.
  10. ^ аб Кришнамурти, Аравинд; Менон, Дипак (2011). «Обращение матрицы с использованием разложения Холецкого». 1111 : 4144. arXiv : 1111.4144 . Бибкод : 2011arXiv1111.4144K. {{cite journal}}: Требуется цитировать журнал |journal=( помощь )
  11. ^ Итак, Энтони Ман-Чо (2007). Подход полуопределенного программирования к проблеме реализации графов: теория, приложения и расширения (PDF) (доктор философии). Теорема 2.2.6.
  12. ^ Голуб и Ван Лоан (1996, теорема 4.1.3)
  13. ^ Поуп, Стивен Б. «Алгоритмы для эллипсоидов». Отчет Корнелльского университета № FDA (2008): 08-01.
  14. ^ Арора, Джасбир Сингх (2 июня 2004 г.). Введение в оптимальный дизайн. Эльзевир. ISBN 978-0-08-047025-2.
  15. ^ Документация Matlab randn. mathworks.com.
  16. ^ ?potrf Библиотека ядра Intel® Math [1]
  17. ^ Фанг, Хоурен; О'Лири, Дайан П. (8 августа 2006 г.). «Модифицированные алгоритмы Холецкого: каталог новых подходов» (PDF) . {{cite journal}}: Требуется цитировать журнал |journal=( помощь )
  18. ^ Уоткинс, Д. (1991). Основы матричных вычислений . Нью-Йорк: Уайли. п. 84. ИСБН 0-471-61414-9.
  19. ^ Носедал, Хорхе (2000). Численная оптимизация . Спрингер.
  20. Фанг, Хорен (24 августа 2007 г.). «Анализ блочных факторизаций LDLT для симметричных неопределенных матриц». {{cite journal}}: Требуется цитировать журнал |journal=( помощь )
  21. ^ На основе: Стюарт, GW (1998). Основные разложения . Филадельфия: Сок. по промышленной и прикладной математике. ISBN 0-89871-414-1.
  22. ^ Осборн, М. (2010), Приложение B.

Рекомендации

Внешние ссылки

История науки

Информация

Компьютерный код

Использование матрицы в моделировании

Онлайн калькуляторы