answered 3 years ago
You can perform Gram–Schmidt over QQ and then change ring to GF(29):
QQ
GF(29)
M = Matrix( QQ, [(1,2,3),(1,5,6)] ) [ t.change_ring(GF(29)) for t in M.gram_schmidt() ]