divisor.spad line 210 [edit on github]
Modular hermitian row reduction.
normalizedDivide(n, d) returns a normalized quotient and remainder such that consistently unique representatives for the residue class are chosen, e.g. positive remainders
rowEch(m) computes a modular row-echelon form of m, finding an appropriate modulus.
rowEchLocal(m, p) computes a modular row-echelon form of m, finding an appropriate modulus over a local ring where p is the only prime.
rowEchelon(m, d) computes a modular row-echelon form mod d of [d] [d] [. ] [d] [M] where M = m mod d.
rowEchelonLocal(m, d, p) computes the row-echelon form of m concatenated with d times the identity matrix over a local ring where p is the only prime.