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]])

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