1 | initial version |
The problem is that some eigenvalues do not lie in the finite field. This prevents the existence of the Jordan form. You need to extend coefficients.
sage: M = matrix(GF(13),[[4,6],[5,9]])
sage: M.jordan_form()
RuntimeError: Some eigenvalue does not exist in Finite Field of size 13.
sage: K = M.parent().base_ring()
sage: L = K.extension(M.minimal_polynomial(),'a')
sage: ML = M.change_ring(L)
sage: ML.jordan_form()
[12*a| 0]
[----+----]
[ 0| a]
sage: ML.is_similar(ML**2)
False