Разложе́ние Холе́цкого (метод квадратного корня) — представление симметричной положительно определённой матрицы в виде , где — нижняя треугольная матрица со строго положительными элементами на диагонали. Иногда разложение записывается в эквивалентной форме: , где — верхняя треугольная матрица. Разложение Холецкого всегда существует и единственно для любой симметричной положительно определённой матрицы.
Существует также обобщение этого разложения на случай комплекснозначных матриц. Если — положительно определённая эрмитова матрица, то существует разложение , где — нижняя треугольная матрица с положительными действительными элементами на диагонали, а — эрмитово-сопряжённая к ней матрица.
Разложение названо в честь французского математика польского происхождения (1875—1918).
Алгоритм Элементы матрицы можно вычислить, начиная с верхнего левого угла матрицы, по формулам
Выражение под корнем всегда положительно, если — действительная положительно определённая матрица.
Вычисление происходит сверху вниз, слева направо, т. е. сперва , а затем .
Для комплекснозначных эрмитовых матриц используются формулы
Приложения Это разложение может применяться для решения системы линейных уравнений , если матрица симметрична и положительно определена. Такие матрицы часто возникают, например, при использовании метода наименьших квадратов и численном решении дифференциальных уравнений.
Выполнив разложение , решение можно получить последовательным решением двух треугольных систем уравнений: и . Такой способ решения иногда называется методом квадратных корней. По сравнению с более общими методами, такими как метод Гаусса или LU-разложение, он устойчивее численно и требует примерно вдвое меньше арифметических операций.
Разложение Холецкого также применяется в методах Монте-Карло для генерации коррелированных случайных величин. Пусть — вектор из независимых стандартных нормальных случайных величин, а — желаемая ковариационная матрица. Тогда вектор будет иметь многомерное нормальное распределение с нулевым математическим ожиданием и ковариационной матрицей .Martin Haugh. Generating Correlated Random Variables .
Реализация в математических пакетах программ В 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) используется класс CholeskyDecompositionCholeskyDecomposition .. В библиотеке Torch присутствует функция torch.potrftorch.potrf .. В библиотеке JAMA языка программирования java. В библиотеке Intel Data Analytics Acceleration Library присутствует алгоритмcholesky::Batch.
Примечания
Категория:Методы решения СЛАУ Категория:Разложения матриц Категория:Теория операторов