gives the Smith normal form decomposition of an integer matrix .
Examplesopen allclose all
Basic Examples (1)
Basic Uses (8)
Use SmithDecomposition with a rational matrix:
Compare with the solution from Solve:
The Smith decomposition gives a canonical representation for finitely generated Abelian groups. Consider the quotient group of integer 2‐vectors modulo the relations and . That is to say, consider two points in the plane equivalent if they differ by integer multiples of the vectors and . Compute the Smith decomposition of the matrix whose rows are the :
Hence, every point on the plane is equivalent to one of the nine points . Consider the point . To find the canonical representative of , rotate into the diagonal basis using on the right and compute the modulus with respect to the diagonal entries of :
Thus, every integer point in the plane can be reduced to a canonical representative. Conversely, the matrix can be viewed as mapping the canonical basis to the starting basis. As the lattice generated by and is simply the set of all points equivalent to the origin, rotating that lattice by will produce the same lattice as generated by and :
Use SmithDecomposition to compute the extended GCD of two integers and :
Compare to ExtendedGCD:
Use SmithDecomposition to compute the right-extended GCDs of two matrices and :
Properties & Relations (9)
The first use of HermiteDecomposition gives and an upper-triangular matrix:
Wolfram Research (2015), SmithDecomposition, Wolfram Language function, https://reference.wolfram.com/language/ref/SmithDecomposition.html.
Wolfram Language. 2015. "SmithDecomposition." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/SmithDecomposition.html.
Wolfram Language. (2015). SmithDecomposition. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/SmithDecomposition.html