хорошая задачка, полезная
а по простому не пробовали?
1. возвести матрицу в квадрат. Несложно.
2. найти корневые подпространства. Понятно, что базисами в корневых подпространствах будут

и

. Это понятно, но это нужно понимать и доказывать.
3. В каждом корневом подпространстве находим жорданов базис, как обычно. Опорные вектора и т.п. По стандартной процедуре.
Матрица, характерестический многочлен и корневые подпространства простые, так все делается без особых вычислительных проблем.
Проявив сообразительность, жорданов базис и жорданову форму можно выписать сразу.
