Жорданова каноническая форма (Жорданова нормальная форма) следует из попыток преобразовать матрицу в ее диагональную форму преобразованием подобия. Для данного матричного A
, найдите несингулярный матричный V
, так, чтобы inv(V)*A*V
, или, более кратко, J = V\A*V
, “максимально близко к диагонали”. Почти для всех матриц Жорданова каноническая форма является диагональной матрицей собственных значений, и столбцы матрицы преобразования являются собственными векторами. Это всегда происходит, если матрица симметрична или если она имеет отличные собственные значения. Некоторые несимметричные матрицы с несколькими собственными значениями не могут быть преобразованы в диагональные формы. Жорданова форма имеет собственные значения на своей диагонали, но некоторые супердиагональные элементы один вместо нуля. Оператор
J = jordan(A)
вычисляет Жорданову каноническую форму A
. Оператор
[V,J] = jordan(A)
также вычисляет преобразование подобия где J = inv(V)*A*V
. Столбцы V
обобщенные собственные вектора A
.
Жорданова форма чрезвычайно чувствительна к изменениям. Почти любое изменение в A
заставляет его Жорданову форму быть диагональной. Это подразумевает тот A
должен быть известен точно (т.е. без ошибки округления, и т.д.) и делает очень трудным вычислить Жорданову форму надежно с арифметикой с плавающей точкой. Таким образом вычисление Жордановой формы со значениями с плавающей точкой ненадежно и не рекомендуемое.
Например, позволить
A = sym([12,32,66,116;-25,-76,-164,-294; 21,66,143,256;-6,-19,-41,-73])
A = [ 12, 32, 66, 116] [ -25, -76, -164, -294] [ 21, 66, 143, 256] [ -6, -19, -41, -73]
Затем
[V,J] = jordan(A)
производит
V = [ 4, -2, 4, 3] [ -6, 8, -11, -8] [ 4, -7, 10, 7] [ -1, 2, -3, -2] J = [ 1, 1, 0, 0] [ 0, 1, 0, 0] [ 0, 0, 2, 1] [ 0, 0, 0, 2]
Покажите тот J
и inv(V)*A*V
равны при помощи isequal
. isequal
функция возвращает логический 1
TRUE
) подразумевать, что входные параметры равны.
isequal(J, inv(V)*A*V)
ans = logical 1
От J
, мы видим тот A
имеет двойное собственное значение в 1, с одним Иорданским блоком и двойным собственным значением в 2, также с одним Иорданским блоком. Матрица имеет только два собственных вектора, V(:,1)
и V(:,3)
. Они удовлетворяют
A*V(:,1) = 1*V(:,1) A*V(:,3) = 2*V(:,3)
Другие два столбца V
обобщенные собственные вектора класса 2. Они удовлетворяют
A*V(:,2) = 1*V(:,2) + V(:,1) A*V(:,4) = 2*V(:,4) + V(:,3)
В математическом обозначении, с v
j = v(:,j)
, столбцы V
и собственные значения удовлетворяют отношениям