linalg::factorCholesky

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

Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.

Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразуют Notebook MuPAD в Live скрипты MATLAB.

Синтаксис

linalg::factorCholesky(A, <NoCheck>, <Real>)

Описание

linalg::factorCholesky(A) вычисляет факторизацию Холесского Эрмитового положительного определенного матричного A и возвращает нижний треугольный матричный L, такой что L  LH = A. Здесь, L H является Эрмитовым сопряженным из L (сопряженное комплексное число транспонирования).

Звонок компонента A должно быть поле (область категории Cat::Field).

Если A не является Эрмитовой положительной определенной матрицей, то linalg::factorCholesky выдает ошибку. Если вы используете NoCheck, linalg::factorCholesky не проверяет, является ли матрица Эрмитовой положительный определенный. Смотрите Пример 2.

Если вы используете Real, затем linalg::factorCholesky принимает тот A действительно и симметричен и, поэтому, не применяет сопряженное комплексное число в ходе алгоритма.

linalg::factorCholesky возвращает FAIL если этому не удается вычислить матричный L по звонку компонента A. (Алгоритм требует расчета квадратных корней из некоторых элементов в L).

Взаимодействия среды

Свойства идентификаторов учтены.

Примеры

Пример 1

Задайте матричный S можно следующим образом:

S := Dom::Matrix(Dom::Rational)(
  [[4, -2, 4, 2], [-2, 10, -2, -7], [4, -2, 8, 4], [2, -7, 4, 7]] 
)

Вычислите факторизацию Холесского S:

L := linalg::factorCholesky(S)

Проверьте результат:

is(L * htranspose(L) = S)

Пример 2

Задайте матричный H можно следующим образом:

H := matrix([[a, b], [b, a]])

linalg::factorCholesky не может вычислить факторизацию Холесского, потому что это не может доказать тот H Эрмитова матрица:

linalg::factorCholesky(H)
Error: Hermitian matrix expected. [linalg::factorCholesky]

Если вы принимаете тот a и b действительны, затем матричный H ishermitian. Однако, linalg::factorCholesky не может вычислить факторизацию Холесского:

linalg::factorCholesky(H) assuming a in R_ and b in R_
Error: Unable to check whether the matrix component is positive. [linalg::factorCholesky]

Используйте NoCheck опция, чтобы пропустить проверку, является ли эта матрица Эрмитовой положительный определенный. Теперь linalg::factorCholesky вычисляет факторизацию:

L := linalg::factorCholesky(H, NoCheck)

Этот результат не обычно допустим:

L*htranspose(L) = H

Это допустимо для 0 < a < b:

simplify(L*htranspose(L) = H) assuming 0 < b < a

Пример 3

Вычислите факторизацию Холесского матричного H использование NoCheck пропускать проверку, является ли это Эрмитовым положительный определенный. По умолчанию, linalg::factorCholesky вычисляет Эрмитовую факторизацию A = L  LH. Таким образом результат содержит сопряженные комплексные числа (подразумеваемый |a | = a *ā).

H := matrix([[a, b], [b, a]]):
L := linalg::factorCholesky(H, NoCheck)

Чтобы избежать сопряженных комплексных чисел в результате, используйте Real:

L := linalg::factorCholesky(H, NoCheck, Real)

При использовании этой опции, linalg::factorCholesky вычисляет симметричную факторизацию A = L  Lt вместо Эрмитовой факторизации A = L  LH:

simplify(L*transpose(L) = H)

Параметры

A

Квадратная матрица области категории Cat::Matrix.

Опции

NoCheck

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

Real

Вычислите факторизацию Холесского, принимающую, что матричный A симметричен, и все его символьные параметры действительны. В этом случае транспонирование матрицы является своим Эрмитовым, транспонируют. Используйте эту опцию, если A содержит символьные параметры, и вы хотите избежать сопряженных комплексных чисел. При использовании этой опции идентичность L  LT = A, как гарантируют, будет содержать.

Возвращаемые значения

Матрица того же доменного типа как A, или значение FAIL.

Алгоритмы

Факторизация Холесского Эрмитового положительного определенного n ×n матричный A является разложением A в продукте L  LH = A, такой, что L является нижней треугольной матрицей с положительными записями на основной диагонали. L называется “Фактором Холесского” A.

Если L = (l i, j), где 1 ≤ in, 1 ≤ jn, является Фактор Холесского A, то.