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

Разложе́ние Холе́цкого (метод квадратного корня) — представление симметричной положительно определённой матрицы в виде , где — нижняя треугольная матрица со строго положительными элементами на диагонали. Иногда разложение записывается в эквивалентной форме: , где — верхняя треугольная матрица. Разложение Холецкого всегда существует и единственно для любой симметричной положительно определённой матрицы.

Существует также обобщение этого разложения на случай комплекснозначных матриц. Если — положительно определённая эрмитова матрица , то существует разложение , где — нижняя треугольная матрица с положительными действительными элементами на диагонали, а эрмитово-сопряжённая к ней матрица.

Разложение названо в честь французского математика польского происхождения (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.

Примечания

  1. Вержбицкий В. М. Основы численных методов. — М. : Высшая школа , 2009. — 840 с. — ISBN 9785060061239 .
  2. 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 .
  3. Martin Haugh . 5 января 2012 года. .
  4. . Дата обращения: 7 сентября 2017. Архивировано из 2 сентября 2017 года.
  5. от 7 ноября 2017 на Wayback Machine .
  6. от 20 августа 2017 на Wayback Machine .
Источник —

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