Processing math: 100%

First time here? Check out the FAQ!

Ask Your Question
1

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

asked 2 years ago

TheodorusD. gravatar image

updated 1 year ago

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).

Preview: (hide)

Comments

Please provide a code example.

Max Alekseyev gravatar imageMax Alekseyev ( 1 year ago )

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 ( 1 year ago )

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 ( 1 year ago )

1 Answer

Sort by » oldest newest most voted
0

answered 1 year ago

Max Alekseyev gravatar image

updated 1 year ago

Since 16=24, 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))
Preview: (hide)
link

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: 2 years ago

Seen: 922 times

Last updated: May 20 '23