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.