Ask Your Question

Revision history [back]

click to hide/show revision 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)