# Revision history [back]

Hello,

NotImplementedError exactly tells you the current state of Sage library on that function... one workaround is to go over QQ (or possibly ZZ) make the echelon form and go back to Zp

sage: m = Matrix(Zp(5), 3, 3, [1..9])
sage: m.change_ring(QQ).echelon_form().change_ring(Zp(5))
[ 1 + O(5^20)  0             4 + 4*5 + 4*5^2 + ...  + O(5^20)]
[ 0            1 + O(5^20)   2 + O(5^20)                     ]
[ 0            0             0                               ]


(note that I slightly edited the output)

Vincent