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.