IntegerSmithNormalFormΒΆ
smith2.spad line 103 [edit on github]
This package computes Smith form of integer matrices. It is more efficinet than general case by first using elimination with unit pivots from UnitGaussianElimination.
- completeSmith: (Matrix Integer, Matrix Integer -> Record(Smith: Matrix Integer, leftEqMat: Matrix Integer, rightEqMat: Matrix Integer)) -> Record(Smith: Matrix Integer, leftEqMat: Matrix Integer, rightEqMat: Matrix Integer)
completeSmith(m, full)
computes record containing Smith normal form ofm
and the left and right equivalence matrices. It first reducesm
to smaller matrix and then uses full to finish.