Разложе́ние Холе́цкого
(метод квадратного корня) — представление
симметричной
положительно определённой
матрицы
в виде
, где
— нижняя
треугольная матрица
со строго положительными элементами на диагонали. Иногда разложение записывается в эквивалентной форме:
, где
— верхняя треугольная матрица. Разложение Холецкого всегда существует и единственно для любой симметричной положительно определённой матрицы.
Существует также обобщение этого разложения на случай комплекснозначных матриц. Если
— положительно определённая
эрмитова матрица
, то существует разложение
, где
— нижняя треугольная матрица с положительными действительными элементами на диагонали, а
—
эрмитово-сопряжённая
к ней матрица.
Разложение названо в честь французского математика польского происхождения
(1875—1918).
Алгоритм
Элементы матрицы
можно вычислить, начиная с верхнего левого угла матрицы, по формулам
-
-
Выражение под корнем всегда положительно, если
— действительная положительно определённая матрица.
Вычисление происходит сверху вниз, слева направо, т. е. сперва
, а затем
.
Для комплекснозначных эрмитовых матриц используются формулы
-
Приложения
Это разложение может применяться для решения
системы линейных уравнений
, если матрица
симметрична и положительно определена. Такие матрицы часто возникают, например, при использовании
метода наименьших квадратов
и численном решении дифференциальных уравнений.
Выполнив разложение
, решение
можно получить последовательным решением двух треугольных систем уравнений:
и
. Такой способ решения иногда называется
методом квадратных корней
.
По сравнению с более общими методами, такими как
метод Гаусса
или
LU-разложение
, он
устойчивее численно
и требует примерно вдвое меньше арифметических операций.
Разложение Холецкого также применяется в
методах Монте-Карло
для генерации коррелированных
случайных величин
. Пусть
— вектор из
независимых
стандартных
нормальных
случайных величин, а
— желаемая
ковариационная матрица
. Тогда вектор
будет иметь многомерное нормальное распределение с нулевым математическим ожиданием и ковариационной матрицей
.
Реализация в математических пакетах программ
-
В
SAS
используется функция
ROOT(matrix)
, входящая в пакет
SAS IML
.
-
В системах
MATLAB
,
Octave
,
R
разложение выполняется командой
U = chol(A)
.
-
В
Maple
и
NumPy
существует процедура
cholesky
в модуле
linalg
.
-
В
Mathematica
используется процедура
CholeskyDecomposition[A]
.
-
В
MathCAD
для разложения используется функция
cholesky(A)
-
В
GSL
используется функция
gsl_linalg_cholesky_decomp
.
-
В библиотеке от Google
ceres-solver
.
-
В библиотеке Apache Commons Math (начиная с версии 2.0) используется класс CholeskyDecomposition
.
-
В библиотеке
Torch
присутствует функция torch.potrf
.
-
В библиотеке
JAMA
языка программирования java.
-
В библиотеке
присутствует алгоритм
cholesky::Batch.
Примечания
-
Вержбицкий В. М.
Основы численных методов. —
М.
:
Высшая школа
, 2009. — 840 с. —
ISBN 9785060061239
.
-
William H. Press, Saul A. Teukolsky, William T. Vetterling, Brian P. Flannery.
// Numerical Recipes in C. — 2nd edition. — Cambridge: Cambridge University Press. —
ISBN 0-521-43108-5
.
-
Martin Haugh
.
5 января 2012 года.
.
-
(неопр.)
. Дата обращения: 7 сентября 2017. Архивировано из
2 сентября 2017 года.
-
от 7 ноября 2017 на
Wayback Machine
.
-
от 20 августа 2017 на
Wayback Machine
.
Векторы и матрицы
|
Векторы
|
Основные понятия
|
|
Виды векторов
|
|
Операции над векторами
|
|
Типы пространств
|
|
|
Матрицы
|
|
Другое
|
|
|
Прямые методы
|
|
Итерационные методы
|
|
Общее
|
|