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]])
Вызовите переменную x
определения linalg::hermiteForm
в качестве второго аргумента. В этом случае 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.