linalg::hermiteFormЭрмитова нормальная форма матрицы
Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразуют Notebook MuPAD в Live скрипты MATLAB.
linalg::hermiteForm(A, <var>, <All>)
linalg::hermiteForm(A) возвращает нормальную форму Эрмита несингулярной целочисленной квадратной матрицы A. Нормальная форма Эрмита матрицы является верхней треугольной матрицей H, такой что H jj ≥ 0 и
для j> i. Если матричный A не является квадратным или сингулярным, linalg::hermiteForm просто возвращает верхнюю треугольную матрицу.
Если матричный A не имеет доменного Dom::Matrix(Dom::Integer) затем linalg::hermiteForm преобразует A в матрицу этой области для промежуточных расчетов. Если это преобразование перестало работать, то linalg::hermiteForm выдает ошибку сообщение.
linalg::hermiteForm(A, var) возвращает нормальную форму Эрмита A предположение, что элементы A одномерные полиномы в переменной var. Если A не содержит var, затем hermiteForm(A) и hermiteForm(A,var) возвратите различные результаты.
linalg::hermiteForm(A, <var>, All) возвращает список [H, U], где H нормальная форма Эрмита A, и U unimodular матрица преобразования, такая что H = U*A. Можно использовать All опция с или не задавая переменную var.
Создайте следующую матрицу целых чисел.
A := matrix([[9, -36, 30], [-36, 192, -180], [30, -180, 180]])

Найдите Эрмитовую нормальную форму этой матрицы.
linalg::hermiteForm(A)

Используйте All опция, чтобы найти соответствующую матрицу преобразования.
[H, U] := linalg::hermiteForm(A, All)

Проверьте тот H = U*A.
H = U*A

Создайте следующую матрицу полиномов.
B := matrix([[-(x - 3)^2*(x - 2),(x - 3)*(x - 2)*(x - 4)],
[(x - 3)*(x - 2)*(x - 4),-(x - 3)^2*(x - 4)]
])
Найдите Эрмитовую нормальную форму этой матрицы.
linalg::hermiteForm(B)

Используйте All опция, чтобы найти соответствующую матрицу преобразования.
[H, U] := linalg::hermiteForm(B, All)

Если матрица не содержит конкретную переменную, и вы вызываете linalg::hermiteForm указывание, что переменная в качестве второго аргумента, затем результат отличается от того, что вы получаете, не указывая ту переменную. Например, создайте матрицу, которая не содержит переменных.
A := matrix([[9, -36, 30], [-36, 192, -180], [30, -180, 180]])

Вызовите linalg::hermiteForm определение переменной x в качестве второго аргумента. В этом случае, linalg::hermiteForm принимает что элементы A одномерные полиномы в x.
linalg::hermiteForm(A, x)

Вызовите linalg::hermiteForm не задавая переменные. В этом случае, linalg::hermiteForm обработки A как матрица целых чисел.
linalg::hermiteForm(A)

|
Целочисленная матрица категории |
|
Возвращает список |
Матрица того же доменного типа как A. С опцией All, linalg::hermiteForm возвращает список [H, U], где H матрица того же доменного типа как A, и U соответствующая матрица преобразования.
Если A является n ×n матрица с коэффициентами в ℤ затем, его нормальной формой Эрмита является n ×n матричный H = (h ij), такой что H = AU с
.
Эрмитов H нормальной формы уникален, если A является матрицей полного ранга строки. Матричный U не уникален.
Если A является квадратной матрицей, то продукт диагональных элементов его нормальной формы Эрмита, до знака, определителя A.