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