Ask Your Question

Checking Similarity of Matrices over Finite Fields

asked 2014-12-28 00:55:18 +0200

algebraicallyclosed gravatar image

updated 2023-05-19 14:37:06 +0200

FrédéricC gravatar image

Hi, There is a command in SAGE which allows us to check the similarity of two matrices over Q (or sth); is_similar()

But, when trying to check two matrices' similarity over Finite Fields it usually gives the error: "unable to compute Jordan canonical form for matrix"

I would be appreciated if someone can help me to construct a practical way to check the similarity of two matrices with entries in Finite Fields.

Thanks in advance,

edit retag flag offensive close merge delete


1 Answer

Sort by » oldest newest most voted

answered 2014-12-28 08:28:21 +0200

FrédéricC gravatar image

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)
edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower


Asked: 2014-12-28 00:55:18 +0200

Seen: 1,045 times

Last updated: Dec 28 '14