то как вы на практике будете находить её ЖНФ и матрицу перехода?
Лёгких путей тут нет -- при любом варианте будет то или иное, но занудство.
Я бы предложил так (это будет тоже занудно, но, во всяком случае, логически вполне прозрачно). Допустим, мы знаем все собственные числа и все собственные подпространства. Это в любом случае необходимо, и это легко -- во всяком случае, что касается собственных подпространств; а что касается поиска собственных чисел -- это вопрос отдельный. (Ну и проблемы, вызываемые приближённостью вычислений, оставим в стороне.)
Так вот, пусть у нас есть собственное подпространство 

 (ну т.е. с практической точки зрения -- есть его базис). Обозначим 

 (имеется в виду пересечение с образом степени матрицы; в частности, 

). Практически мы, конечно, опять же ищем базисы этих подпространств. Подпространства 

 монотонно (не обязательно строго) сужаются и рано или поздно окажутся тривиальными; вот и считаем до тех пор, пока не наткнёмся на тривиальное.
Теперь для каждого 

 определим 

 как дополнение 

 до 

 (т.е. прямая сумма 

 должна совпадать с 

). Практически мы опять же, конечно, ищем базисы в 

. Это нетрудная процедура: фактически придётся просто найти общее решение некоторой однородной системы. Подпространства 

 определены неоднозначно, но это не имеет значения; принципиально, что однозначно определены их размерности.
Объединение базисов по всем 

 -- это некоторый базис во всём собственном подпространстве. Из каждого базисного вектора 

 вытягиваем циклическую цепочку, решая последовательно системы уравнений 

, 

 -- до тех пор, пока решение такой системы существует. Так вот, набор всех получившихся векторов и будет жордановым базисом (поднабор базисных векторов, образующих каждую циклическую цепочку, породит соответствующую жорданову клетку).
Главная трудность тут -- это нахождение пересечения подпространств; задачка эта действительно противная. Но -- стандартная.
-- Вс апр 24, 2011 12:34:09 --Да, кстати:
В принципе, по-моему, для составления ЖНФ этого достаточно: находим корни хар. многочлена, затем находим ранги матриц 

 и пишем ЖНФ.
Этого отнюдь недостаточно. На данный момент Вы действительно знаете количество жордановых клеток, однако пока что понятия не имеете об их размерах.