Ask Your Question
1

NotImplementedError: Echelon form not implemented over 'Ring of integers modulo 16'

asked 2023-05-11 22:15:56 +0100

TheodorusD. gravatar image

updated 2023-05-20 13:43:08 +0100

FrédéricC gravatar image

Asking for the echelon form of a matrix over Zmod(16) fails as follows:

sage: a = matrix(Zmod(16), [[1, 1], [1, 1]])
sage: a.echelon_form()
Traceback (most recent call last):
...
NotImplementedError: Echelon form not implemented over 'Ring of integers modulo 16'.

Is this error meanwhile remediated?

This error also occurs when trying to calculate eigenspaces_right and or right_kernel of a matrix defined with elements in Zmod(16) or IntegerRing(16).

edit retag flag offensive close merge delete

Comments

Please provide a code example.

Max Alekseyev gravatar imageMax Alekseyev ( 2023-05-17 22:28:45 +0100 )edit

You could try a._echelon_classical() or a._echelon_in_place_classical(). (Try a._echelon and then hit the TAB key to see some options, not all of which will work.)

John Palmieri gravatar imageJohn Palmieri ( 2023-05-19 22:17:04 +0100 )edit

There is also a._right_kernel_matrix_over_integer_mod_ring(). I don't see an obvious option for eigenspaces.

John Palmieri gravatar imageJohn Palmieri ( 2023-05-19 22:18:57 +0100 )edit

1 Answer

Sort by » oldest newest most voted
0

answered 2023-05-20 21:23:17 +0100

Max Alekseyev gravatar image

updated 2023-05-20 22:55:26 +0100

Since $16=2^4$, a possible solution is to compute echelon form over 2-adic numbers and then change the ring to Zmod(16) - like this:

a = matrix(Zmod(16), [[1, 1], [1, 1]])
b = a.change_ring(Qp(2)).echelon_form().change_ring(Zmod(16))
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

Stats

Asked: 2023-05-11 22:15:56 +0100

Seen: 690 times

Last updated: May 20 '23