Жорданова каноническая форма

Жорданова каноническая форма (Жорданова нормальная форма) результатов от попытки преобразовать матрицу в свою диагональную форму путем преобразования подобия. Для заданной матричной 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)

В математическом обозначении, с vj = v(:,j), столбцы V и собственные значения удовлетворяют отношениям

(Aλ1I)v2=v1

(Aλ2I)v4=v3.