SmithNormalForm(R, Row, Col, M)ΒΆ

smith.spad line 1

SmithNormalForm is a package which provides some standard canonical forms for matrices.

completeHermite: M -> Record(Hermite: M, eqMat: M)
completeHermite returns a record that contains the Hermite normal form H of the matrix and the equivalence matrix U such that U*m = H
completeSmith: M -> Record(Smith: M, leftEqMat: M, rightEqMat: M)
completeSmith returns a record that contains the Smith normal form H of the matrix and the left and right equivalence matrices U and V such that U*m*v = H
diophantineSystem: (M, Col) -> Record(particular: Union(Col, failed), basis: List Col)
diophantineSystem(A, B) returns a particular integer solution and an integer basis of the equation A X = B.
hermite: M -> M
hermite(m) returns the Hermite normal form of the matrix m.
smith: M -> M
smith(m) returns the Smith Normal form of the matrix m.