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.

Примеры

Пример 1

Создайте следующую матрицу целых чисел.

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

Пример 2

Создайте следующую матрицу полиномов.

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)

Пример 3

Если матрица не содержит конкретную переменную, и вы вызываете 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

Целочисленная матрица категории Cat::Matrix

Опции

All

Возвращает список [H, U], где H является нормальной формой Эрмита A, и U является соответствующей матрицей преобразования.

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

Матрица того же доменного типа как A. С опцией All linalg::hermiteForm возвращает список [H, U], где H является матрицей того же доменного типа как A, и U является соответствующей матрицей преобразования.

Алгоритмы

Если A является n ×n матрица с коэффициентами в затем, его нормальной формой Эрмита является n ×n матричный H = (h ij), такой что H = AU с.

Эрмитов H нормальной формы уникален, если A является матрицей полного ранга строки. Матричный U не уникален.

Если A является квадратной матрицей, то продукт диагональных элементов его нормальной формы Эрмита, до знака, детерминанта A.

Смотрите также

Функции MuPAD