The Smith normal form of an matrix
over a principal ideal
domain
is an
matrix
satisfying
|
(1)
|
where
and
are
and
matrices over
whose inverses also have
entries in
, all entries of
off the main diagonal are zero,
and its nonzero diagonal entries
, ...,
satisfy
. Here
means that
divides
in
. Any remaining diagonal
entries are zero, and
is the rank of
. The entries
are the invariant factors,
determined uniquely up to multiplication by units of
. This form exists over every principal
ideal domain, but not over every integral domain
(Stanley 2016).
For an integer matrix, and
are integer unimodular
matrices, so their determinants are
. Requiring the nonzero diagonal
entries of
to be positive makes the Smith normal form unique. For
example,
|
(2)
|
The outer factors have determinants and 1, respectively, and
, so the Smith normal form of the middle matrix
has diagonal entries 2 and 4. This reduction is useful
for solving linear Diophantine equations.
For the polynomial case, let be an
matrix over a field
. Using elementary
row and column operations over the polynomial
ring
, the
matrix
(where
is the identity matrix)
can be put into the diagonal matrix form
|
(3)
|
where ,
, ...,
are monic polynomials
in
with degrees at least one and satisfying
, where
means
divides
, which in turn divides
, and so on (Dummit and Foote 2004, p. 479). The
allowed operations interchange rows or columns, add a polynomial
multiple of one to another, or multiply a row or column by a unit
of
, namely a nonzero constant in
. The polynomials
are the invariant
factors of
and determine its rational canonical form.
The Smith normal form of an integer matrix is implemented in the Wolfram Language as SmithReduce[A].
The full decomposition is given by SmithDecomposition[A],
which returns
satisfying
. For matrices of univariate
polynomials, PolynomialSmithDecomposition[M,
x] gives the corresponding decomposition over a polynomial
ring.