ModularHermitianRowReduction(R)

divisor.spad line 210 [edit on github]

Modular hermitian row reduction.

normalizedDivide : (R, R) -> Record(quotient : R, remainder : R)

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 : Matrix(R) -> Matrix(R)

rowEch(m) computes a modular row-echelon form of m, finding an appropriate modulus.

rowEchLocal : (Matrix(R), R) -> Matrix(R)

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 : (Matrix(R), R) -> Matrix(R)

rowEchelon(m, d) computes a modular row-echelon form mod d of [d] [d] [. ] [d] [M] where M = m mod d.

rowEchelonLocal : (Matrix(R), R, R) -> Matrix(R)

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.