Разложение Холецкого
В линейной алгебре или разложение Холецкого факторизация Холецкого (произносится / ʃ ə ˈ 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 Т имеет уникальное разложение вида PAP Т = ЛЛ * с , где L 1 — нижняя треугольная матрица размера r × r с положительной диагональю. [9]
Разложение ЛПНП
[ редактировать ]Близким вариантом классического разложения Холецкого является разложение ЛПНП,
где L — младшая единичная треугольная (однотреугольная) матрица, а D — диагональная матрица. То есть диагональные элементы L должны быть равны 1 за счет введения дополнительной диагональной матрицы D в разложение. Основное преимущество заключается в том, что разложение ЛПНП можно вычислять и использовать по существу с помощью тех же алгоритмов, но без извлечения квадратных корней. [10]
По этой причине разложение ЛПНП часто называют разложением Холецкого без квадратных корней . Для реальных матриц факторизация имеет вид A = LDL Т и часто называют разложением ЛПНП (или ЛПНП). Т разложение, или ЛПНП'). Это напоминает собственное разложение вещественных симметричных матриц A = QΛQ Т , но на практике совершенно другое, поскольку Λ и D не являются одинаковыми матрицами .
Разложение ЛПНП связано с классическим разложением Холецкого формы LL * следующим образом:
Обратно, учитывая классическое разложение Холецкого положительно определенной матрицы, если S — диагональная матрица, содержащая главную диагональ , то A можно разложить как где
- (это изменяет масштаб каждого столбца, чтобы сделать диагональные элементы равными 1),
Если A положительно определен, то все диагональные элементы D положительны. Для положительно полуопределенного A , разложение существует там, где количество ненулевых элементов на диагонали D в точности равно рангу A . [11] Некоторые неопределенные матрицы, для которых не существует разложения Холецкого, имеют разложение LDL с отрицательными элементами в D : достаточно, чтобы первые n -1 главных миноров матрицы A были неособыми. [12]
Пример
[ редактировать ]Вот разложение Холецкого симметричной вещественной матрицы:
А вот его ЛПНП Т разложение:
Геометрическая интерпретация
[ редактировать ]Разложение Холецкого эквивалентно определенному выбору осей эллипсоида сопряженных . [13] Подробно, пусть эллипсоид определяется как , то по определению набор векторов являются сопряженными осями эллипсоида тогда и только тогда, когда . Тогда эллипсоид в точности где отображает базисный вектор , и - единичная сфера в n измерениях. То есть эллипсоид представляет собой линейное изображение единичной сферы.
Определите матрицу , затем эквивалентно . Разный выбор сопряженных осей соответствует разным разложениям.
Разложение Холецкого соответствует выбору быть параллельным первой оси, находиться внутри плоскости, охватываемой первыми двумя осями, и так далее. Это делает верхнетреугольная матрица. Тогда есть , где является нижне-треугольным.
Аналогично, анализ главных компонент соответствует выбору быть перпендикулярным. Тогда пусть и , и есть где является ортогональной матрицей. Тогда это дает .
Приложения
[ редактировать ]Численное решение системы линейных уравнений
[ редактировать ]Разложение Холецкого в основном используется для численного решения линейных уравнений. . Если A симметричен и положительно определен, то можно решить, сначала вычислив разложение Холецкого , затем решаем для y путем прямой замены и, наконец, решения для x обратной заменой .
Альтернативный способ исключить извлечение квадратных корней в разложение заключается в вычислении разложения ЛПНП , затем решаем для y и, наконец, решение .
Для линейных систем, которые можно представить в симметричной форме, разложение Холецкого (или его вариант ЛПНП) является предпочтительным методом, обеспечивающим превосходную эффективность и численную стабильность. По сравнению с LU-разложением оно примерно в два раза эффективнее. [2]
Линейный метод наименьших квадратов
[ редактировать ]Системы вида Ах = b с А симметричными и положительно определенными встречаются в приложениях довольно часто. Например, нормальные уравнения в линейных задачах наименьших квадратов имеют такой вид. Может также случиться, что матрица A получена из энергетического функционала, который должен быть положительным по физическим соображениям; это часто происходит при численном решении уравнений в частных производных .
Нелинейная оптимизация
[ редактировать ]Нелинейные функции многих переменных можно минимизировать по своим параметрам, используя варианты метода Ньютона, называемые квазиньютоновскими методами. На итерации k поиск выполняется в направлении определяется путем решения для , где это направление шага, это градиент , и представляет собой приближение к матрице Гессе , сформированной путем повторения обновлений ранга 1 на каждой итерации. Две хорошо известные формулы обновления называются Дэвидон-Флетчер-Пауэлл (DFP) и Бройден-Флетчер-Гольдфарб-Шенно (BFGS). Утраты положительно определенного условия из-за ошибки округления можно избежать, если вместо обновления аппроксимации, обратной гессиану, обновлять разложение Холецкого аппроксимации самой матрицы Гессе. [14]
Моделирование Монте-Карло
[ редактировать ]Разложение Холецкого обычно используется в методе Монте-Карло для моделирования систем с несколькими коррелирующими переменными. Ковариационная матрица разлагается, чтобы получить нижний треугольный L . Применяя это к вектору некоррелированных выборок u, получается вектор выборки Lu с ковариационными свойствами моделируемой системы. [15]
Следующий упрощенный пример показывает экономику, которую можно получить в результате разложения Холецкого: предположим, что цель состоит в том, чтобы создать две коррелирующие нормальные переменные. и с заданным коэффициентом корреляции . Для этого необходимо сначала сгенерировать две некоррелированные гауссовские случайные величины. и (например, с помощью преобразования Бокса-Мюллера ). Учитывая требуемый коэффициент корреляции , коррелированные нормальные переменные могут быть получены с помощью преобразований и .
Фильтры Калмана
[ редактировать ]Фильтры Калмана без запаха обычно используют разложение Холецкого для выбора набора так называемых сигма-точек. Фильтр Калмана отслеживает среднее состояние системы как вектор x длины N и ковариацию как N × N. матрицу P размера Матрица P всегда положительно полуопределена и может быть разложена на LL Т . Столбцы L можно складывать и вычитать из среднего значения x, чтобы сформировать набор из 2 N векторов, называемых сигма-точками . Эти сигма-точки полностью отражают среднее значение и ковариацию состояния системы.
Инверсия матрицы
[ редактировать ]Явная обратная эрмитова матрица может быть вычислена с помощью разложения Холецкого аналогично решению линейных систем, используя операции ( умножения). [10] Всю инверсию можно даже эффективно выполнить на месте.
Неэрмитову матрицу B также можно инвертировать, используя следующее тождество, где BB * всегда будет эрмитовой:
Вычисление
[ редактировать ]Существуют различные методы расчета разложения Холецкого. Вычислительная сложность часто используемых алгоритмов составляет O ( n 3 ) в общем. [ нужна ссылка ] Все алгоритмы, описанные ниже, включают около (1/3) n 3 ФЛОПЫ ( n 3 /6 умножений и столько же сложений) для реальных ароматов и (4/3) n 3 FLOP для сложных вкусов, [16] где n размер матрицы A. — Следовательно, у них есть половина стоимости LU-разложения , которое использует 2 n 3 /3 флопа (см. Трефетен и Бау, 1997).
Какой из приведенных ниже алгоритмов работает быстрее, зависит от деталей реализации. Как правило, первый алгоритм будет немного медленнее, поскольку он обращается к данным менее регулярно.
Алгоритм Холецкого
[ редактировать ]Алгоритм Холецкого , используемый для вычисления матрицы разложения L , представляет собой модифицированную версию метода исключения Гаусса .
Рекурсивный алгоритм начинается с i := 1 и
- А (1) : А. =
На шаге i матрица A ( я ) имеет следующую форму:
где I i −1 обозначает единичную матрицу размерности i − 1.
Если матрица L i определяется формулой
(заметим, что a i,i > 0, поскольку A ( я ) положительно определен), тогда А ( я ) можно записать как
где
Обратите внимание, что b i b * i — внешний продукт этот алгоритм называется версией внешнего продукта , поэтому в (Golub & Van Loan) .
Это повторяется для i от 1 до n . После n шагов A ( п +1) = I , и, следовательно, искомая нижняя треугольная матрица L вычисляется как
Алгоритмы Холески-Банакевича и Холески-Краута.
[ редактировать ]Если уравнение
выписано, получается следующее:
и, следовательно, следующие формулы для записей L :
Для сложных и вещественных матриц допускаются несущественные произвольные изменения знака диагональных и связанных с ними недиагональных элементов. Выражение под квадратным корнем всегда положительно, если А вещественно и положительно определено.
Для комплексной эрмитовой матрицы применяется следующая формула:
Таким образом, теперь можно вычислить запись ( i , j ), если известны записи слева и выше. Вычисления обычно организуются в одном из следующих порядков:
- Алгоритм Холеского-Банакевича начинается с верхнего левого угла матрицы L и продолжает вычисление матрицы построчно.
for (i = 0; i < dimensionSize; i++) {
for (j = 0; j <= i; j++) {
float sum = 0;
for (k = 0; k < j; k++)
sum += L[i][k] * L[j][k];
if (i == j)
L[i][j] = sqrt(A[i][i] - sum);
else
L[i][j] = (1.0 / L[j][j] * (A[i][j] - sum));
}
}
Приведенный выше алгоритм можно кратко выразить как объединение скалярного произведения и умножения матриц в векторизованных языках программирования, таких как Фортран, следующим образом:
do i = 1, size(A,1)
L(i,i) = sqrt(A(i,i) - dot_product(L(i,1:i-1), L(i,1:i-1)))
L(i+1:,i) = (A(i+1:,i) - matmul(conjg(L(i,1:i-1)), L(i+1:,1:i-1))) / L(i,i)
end do
где conjg
относится к комплексно-сопряженным элементам.
- Алгоритм Холески-Краута начинается с верхнего левого угла матрицы L и переходит к вычислению столбца за столбцом матрицы.
for (j = 0; j < dimensionSize; j++) { float sum = 0; for (k = 0; k < j; k++) { sum += L[j][k] * L[j][k]; } L[j][j] = sqrt(A[j][j] - sum); for (i = j + 1; i < dimensionSize; i++) { sum = 0; for (k = 0; k < j; k++) { sum += L[i][k] * L[j][k]; } L[i][j] = (1.0 / L[j][j] * (A[i][j] - sum)); } }
Приведенный выше алгоритм можно кратко выразить как объединение скалярного произведения и умножения матриц в векторизованных языках программирования, таких как Фортран, следующим образом:
do i = 1, size(A,1)
L(i,i) = sqrt(A(i,i) - dot_product(L(1:i-1,i), L(1:i-1,i)))
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 , который реализует обновление первого ранга:
function [L] = cholupdate(L, x)
n = length(x);
for k = 1:n
r = sqrt(L(k, k)^2 + x(k)^2);
c = r / L(k, k);
s = x(k) / L(k, k);
L(k, k) = r;
if k < n
L((k+1):n, k) = (L((k+1):n, k) + s * x((k+1):n)) / c;
x((k+1):n) = c * x((k+1):n) - s * L((k+1):n, k);
end
end
end
Обновление ранга n — это обновление матрицы обновляют разложение так, что . Этого можно достичь, последовательно выполняя обновления первого ранга для каждого из столбцов таблицы. .
Понижение первого ранга
[ редактировать ]Понижение первого ранга аналогично обновлению первого ранга, за исключением того, что сложение заменяется вычитанием: . Это работает только в том случае, если новая матрица все еще положительно определена.
Код для обновления первого ранга, показанный выше, можно легко адаптировать для выполнения понижения первого ранга: нужно просто заменить два дополнения в задании на r
и L((k+1):n, k)
путем вычитаний.
Добавление и удаление строк и столбцов
[ редактировать ]Если симметричная и положительно определенная матрица представляется в блочной форме как
и его верхний фактор Холецкого
тогда за новую матрицу , что то же самое, что но с вставкой новых строк и столбцов,
Теперь есть интерес найти факторизацию Холецкого , который можно назвать , без непосредственного вычисления всего разложения.
Письмо для решения , который легко найти для треугольных матриц, и для разложения Холецкого , можно найти следующие соотношения:
Эти формулы можно использовать для определения коэффициента Холецкого после вставки строк или столбцов в любую позицию, если размеры строк и столбцов установлены соответствующим образом (в том числе равны нулю). Обратная задача,
с известным разложением Холецкого
и желание определить фактор Холецкого
матрицы с удаленными строками и столбцами,
дает следующие правила:
Обратите внимание, что приведенные выше уравнения, которые включают в себя нахождение разложения Холецкого новой матрицы, имеют вид , что позволяет эффективно рассчитывать их с помощью процедур обновления и уменьшения даты, подробно описанных в предыдущем разделе. [22]
Доказательство положительных полуопределенных матриц.
[ редактировать ]Доказательство ограничивающим аргументом
[ редактировать ]Приведенные выше алгоритмы показывают, что каждая положительно определенная матрица имеет разложение Холецкого. Этот результат можно распространить на положительный полуопределенный случай с помощью предельного аргумента. Аргументация не является полностью конструктивной, т. е. не дает явных численных алгоритмов расчета факторов Холецкого.
Если это положительная полуопределенная матрица , то последовательность состоит из положительно определенных матриц . (Это непосредственное следствие, например, теоремы о спектральном отображении для полиномиального функционального исчисления.) Кроме того,
в операторе норма . В положительно определенном случае каждый имеет разложение Холецкого . По свойству операторной нормы
The держится, потому что наделенная операторной нормой, является алгеброй С*. Так является ограниченным множеством в банаховом пространстве операторов, поэтому относительно компактным (поскольку базовое векторное пространство конечномерно). Следовательно, она имеет сходящуюся подпоследовательность, также обозначаемую , с лимитом . Легко проверить, что это обладает желаемыми свойствами, т.е. , и является нижнетреугольным с неотрицательными диагональными элементами: для всех и ,
Поэтому, . Поскольку базовое векторное пространство конечномерно, все топологии в пространстве операторов эквивалентны. Так имеет тенденцию в норме значит имеет тенденцию входной. Это, в свою очередь, означает, что, поскольку каждый является нижним треугольником с неотрицательными диагональными элементами, тоже есть.
Доказательство путем QR-разложения
[ редактировать ]Позволять — положительная полуопределенная эрмитова матрица. Тогда его можно записать как произведение матрицы квадратного корня : . Теперь QR-разложение можно применить к , в результате чего , где является унитарным и имеет верхнюю треугольную форму. Вставка разложения в исходное равенство дает . Параметр завершает доказательство.
Обобщение
[ редактировать ]Факторизацию Холецкого можно обобщить. [ нужна ссылка ] к (не обязательно конечным) матрицам с операторными элементами. Позволять — последовательность гильбертовых пространств . Рассмотрим операторную матрицу
действуя на прямую сумму
где каждый
является ограниченным оператором . Если A положительно (полуопределенно) в том смысле, что для всех конечных k и для любого
есть , то существует нижняя треугольная операторная матрица L такая, что A = LL *. Можно также считать диагональные элементы L положительными.
Реализации в библиотеках программирования
[ редактировать ]- Язык программирования C : Научная библиотека GNU предоставляет несколько реализаций разложения Холецкого.
- Система компьютерной алгебры Maxima : функция
cholesky
вычисляет разложение Холецкого. - Система численных вычислений GNU Octave предоставляет несколько функций для расчета, обновления и применения разложения Холецкого.
- Библиотека LAPACK обеспечивает высокопроизводительную реализацию разложения Холецкого, доступ к которой возможен из Fortran , C и большинства языков.
- В Python функция
cholesky
изnumpy.linalg
модуль выполняет разложение Холецкого. - В Матлабе
chol
функция дает разложение Холецкого. Обратите внимание, чтоchol
по умолчанию использует верхний треугольный коэффициент входной матрицы, т.е. он вычисляет где имеет верхнюю треугольную форму. Вместо этого можно передать флаг, чтобы использовать нижний треугольный коэффициент. - В Р ,
chol
функция дает разложение Холецкого. - В Юлии ,
cholesky
функция отLinearAlgebra
стандартная библиотека дает разложение Холецкого. - В системе Mathematica функция «
CholeskyDecomposition
" можно применить к матрице. - В C++ несколько библиотек линейной алгебры поддерживают это разложение:
- Armadillo (библиотека C++) предоставляет команду
chol
выполнить разложение Холецкого. - Библиотека Эйгена предоставляет факторизации Холецкого как для разреженных, так и для плотных матриц.
- В ROOT- пакете
TDecompChol
класс доступен.
- Armadillo (библиотека C++) предоставляет команду
- В Аналитике функция
Decompose
дает разложение Холецкого. - Библиотека Apache Commons Math имеет реализацию , которую можно использовать в Java, Scala и любом другом языке JVM.
См. также
[ редактировать ]- Ранг цикла
- Неполная факторизация Холецкого
- Разложение матрицы
- Алгоритм минимальной степени
- Квадратный корень матрицы
- Закон инерции Сильвестра
- Символическое разложение Холецкого
Примечания
[ редактировать ]- ^ Бенедикт (1924). «Заметка о методе решения нормальных уравнений, основанном на применении метода наименьших квадратов к системе линейных уравнений с числом меньшим, чем число неизвестных (метод командора Холецкого)». Геодезический бюллетень (на французском языке). 2 :66–67. дои : 10.1007/BF03031308 .
- ^ Jump up to: а б Пресс, Уильям Х.; Саул Алексеевич Теукольский; Уильям Т. Веттерлинг; Брайан П. Фланнери (1992). Численные рецепты в C: Искусство научных вычислений (второе изд.). Кембриджский университет, Англия, Epress. п. 994 . ISBN 0-521-43108-5 . Проверено 28 января 2009 г.
- ^ Голуб и Ван Лоан (1996 , стр. 143), Хорн и Джонсон (1985 , стр. 407), Трефетен и Бау (1997 , стр. 174).
- ^ Хорн и Джонсон (1985 , стр. 407).
- ^ «Матрицы — Диагонализация сложной симметричной матрицы» . MathOverflow . Проверено 25 января 2020 г.
- ^ Шабауэр, Ханнес; Пэчер, Кристоф; Сандерленд, Эндрю Г.; Ганстерер, Уилфрид Н. (1 мая 2010 г.). «На пути к параллельному решателю обобщенных сложных симметричных задач на собственные значения» . Procedia Информатика . ICCS 2010. 1 (1): 437–445. дои : 10.1016/j.procs.2010.04.047 . ISSN 1877-0509 .
- ^ Голуб и Ван Лоан (1996 , стр. 147).
- ^ Нежный, Джеймс Э. (1998). Численная линейная алгебра для приложений в статистике . Спрингер. п. 94. ИСБН 978-1-4612-0623-1 .
- ^ Хайэм, Николас Дж. (1990). «Анализ разложения Холецкого полуопределенной матрицы» . В Коксе, Миннесота; Хаммарлинг, С.Дж. (ред.). Надежные численные вычисления . Оксфорд, Великобритания: Издательство Оксфордского университета. стр. 161–185. ISBN 978-0-19-853564-5 .
- ^ Jump up to: а б Кришнамурти, Аравинд; Менон, Дипак (2011). «Обращение матрицы с использованием разложения Холецкого». 1111 : 4144. arXiv : 1111.4144 . Бибкод : 2011arXiv1111.4144K .
{{cite journal}}
: Для цитирования журнала требуется|journal=
( помощь ) - ^ Итак, Энтони Ман-Чо (2007). Подход полуопределенного программирования к проблеме реализации графов: теория, приложения и расширения (PDF) (доктор философии). Теорема 2.2.6.
- ^ Голуб и Ван Лоан (1996 , теорема 4.1.3)
- ^ Поуп, Стивен Б. « Алгоритмы для эллипсоидов ». Отчет Корнелльского университета № FDA (2008): 08-01.
- ^ Арора, Джасбир Сингх (2 июня 2004 г.). Введение в оптимальный дизайн . Эльзевир. ISBN 978-0-08-047025-2 .
- ^ Документация Matlab randn . mathworks.com.
- ^ ?potrf Библиотека математических ядер Intel® [1]
- ^ Фанг, Хорен; О'Лири, Дайан П. (8 августа 2006 г.). «Модифицированные алгоритмы Холецкого: каталог новых подходов» (PDF) .
{{cite journal}}
: Для цитирования журнала требуется|journal=
( помощь ) - ^ Уоткинс, Д. (1991). Основы матричных вычислений . Нью-Йорк: Уайли. п. 84 . ISBN 0-471-61414-9 .
- ^ Носедаль, Хорхе (2000). Численная оптимизация . Спрингер.
- ^ Фанг, Хорен (24 августа 2007 г.). «Анализ блочных факторизаций LDLT для симметричных неопределенных матриц».
{{cite journal}}
: Для цитирования журнала требуется|journal=
( помощь ) - ^ На основе: Стюарт, GW (1998). Основные разложения . Филадельфия: Сок. по промышленной и прикладной математике. ISBN 0-89871-414-1 .
- ^ Осборн, М. (2010), Приложение B.
Ссылки
[ редактировать ]- Деренёвский, Дариуш; Кубале, Марек (2004). «Параллельная факторизация матриц Холецкого и ранжирование графов». 5-я Международная конференция по параллельной обработке и прикладной математике (PDF) . Конспекты лекций по информатике. Том. 3019. Шпрингер-Верлаг. стр. 985–992. дои : 10.1007/978-3-540-24669-5_127 . ISBN 978-3-540-21946-0 . Архивировано из оригинала (PDF) 16 июля 2011 г.
- Голуб, Джин Х .; Ван Лоан, Чарльз Ф. (1996). Матричные вычисления (3-е изд.). Балтимор: Джонс Хопкинс. ISBN 978-0-8018-5414-9 .
- Хорн, Роджер А.; Джонсон, Чарльз Р. (1985). Матричный анализ . Издательство Кембриджского университета. ISBN 0-521-38632-2 .
- С. Дж. Жюльер и Дж. К. Ульман. « Общий метод аппроксимации нелинейных преобразований вероятностных распределений ».
- С. Дж. Жюльер и Дж. К. Ульманн, « Новое расширение фильтра Калмана для нелинейных систем », в Proc. AeroSense: 11-й Международный. Симп. Аэрокосмическое/оборонное зондирование, моделирование и управление, 1997, стр. 182–193.
- Трефетен, Ллойд Н .; Бау, Дэвид (1997). Численная линейная алгебра . Филадельфия: Общество промышленной и прикладной математики. ISBN 978-0-89871-361-9 .
- Осборн, Майкл (2010). Байесовские гауссовские процессы для последовательного прогнозирования, оптимизации и квадратуры (PDF) (диссертация). Оксфордский университет.
- Рушель, Жоау Паулу Тараскони, степень бакалавра « Параллельные реализации разложения Холецкого на процессорах и графических процессорах », Федеральный университет Риу-Гранди-ду-Сул, Институт информатики, 2016, стр. 29-30.
Внешние ссылки
[ редактировать ]История науки
[ редактировать ]- О численном разрешении систем линейных уравнений , рукопись Холеского 1910 года, онлайн и проанализированная на BibNum (на французском и английском языках) [для английского языка нажмите «Для загрузки»]
Информация
[ редактировать ]- «Факторизация Холецкого» , Математическая энциклопедия , EMS Press , 2001 [1994]
- Разложение Холецкого , Справочник по анализу данных
- Разложение Холецкого на www.math-linux.com
- Разложение Холецкого упрощено с точки зрения науки Меандертал
Компьютерный код
[ редактировать ]- LAPACK — это набор подпрограмм FORTRAN для решения задач плотной линейной алгебры (DPOTRF, DPOTRF2, подробная информация о производительности ).
- ALGLIB включает частичный порт LAPACK на C++, C#, Delphi, Visual Basic и т. д. (spdmatrixcholesky, hpdmatrixcholesky).
- libflame — это библиотека C с функциональностью LAPACK.
- Заметки и видео о высокопроизводительной реализации факторизации Холецкого в Техасском университете в Остине.
- Cholesky: TBB + Threads + SSE — книга, объясняющая реализацию CF с TBB, потоками и SSE (на испанском языке).
- библиотека «Ceres Solver» от Google.
- Процедуры разложения ЛПНП в Matlab.
- Armadillo — пакет линейной алгебры C++.
- Rosetta Code — сайт по программированию хрестоматии. по теме страницы .
- AlgoWiki — открытая энциклопедия свойств алгоритмов и особенностей их реализации по теме страницы.
- Intel® oneAPI Math Kernel Library Оптимизированная Intel математическая библиотека для числовых вычислений ?potrf , ?potrs
Использование матрицы в моделировании
[ редактировать ]- Генерация коррелированных случайных величин и случайных процессов , Мартин Хо, Колумбийский университет
Онлайн калькуляторы
[ редактировать ]- Онлайн-калькулятор матриц Выполняет разложение матриц Холецкого онлайн.