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

smith.spad line 1 [edit on github]

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.