Smith normal form

In mathematics, the Smith normal form (sometimes abbreviated SNF[1]) is a normal form that can be defined for any matrix (not necessarily square) with entries in a principal ideal domain (PID).

The Smith normal form of a matrix is diagonal, and can be obtained from the original matrix by multiplying on the left and right by invertible square matrices.

The Smith normal form is very useful for working with finitely generated modules over a PID, and in particular for deducing the structure of a quotient of a free module.

It is named after the Irish mathematician Henry John Stephen Smith.

Once diagonality is achieved, it becomes relatively easy to put the matrix into Smith normal form.

can be found by starting out with identity matrices of the appropriate size, and modifying

denotes the original matrix; eventually the matrices in this invariant become diagonal.

Only invertible row and column operations are performed, which ensures that

To put a matrix into Smith normal form, one can repeatedly apply the following, where

with a non-zero entry, starting the search at column index

(which divisions are possible by the definition of β) one has so that the matrix is invertible, with inverse Now L can be obtained by fitting

By construction the matrix obtained after left-multiplying by L has entry β at position (t,jt) (and due to our choice of α and γ it also has an entry 0 at position (k,jt), which is useful though not essential for the algorithm).

However, to make the matrix fully diagonal we need to eliminate nonzero entries on the row of position (t,jt) as well.

This can be achieved by repeating the steps in Step II for columns instead of rows, and using multiplication on the right by the transpose of the obtained matrix L. In general this will result in the zero entries from the prior application of Step III becoming nonzero again.

However, notice that each application of Step II for either rows or columns must continue to reduce the value of

, and so the process must eventually stop after some number of iterations, leading to a matrix where the entry at position (t,jt) is the only non-zero entry in both its row and column.

At this point, only the block of A to the lower right of (t,jt) needs to be diagonalized, and conceptually the algorithm can be applied recursively, treating this block as a separate matrix.

Applying the steps described above to the remaining non-zero columns of the resulting matrix (if any), we get an

Now we can move the null columns of this matrix to the right, so that the nonzero entries are on positions

, and then apply a row operation to make the entry at position

submatrix), whence that operation does diminish (by moving prime factors to the right) the value of So after finitely many applications of this operation no further application is possible, which means that we have obtained

-matrices S, T so that the product S A T satisfies the definition of a Smith normal form.

In particular, this shows that the Smith normal form exists, which was assumed without proof in the definition.

It can also be used to determine the invariant factors that occur in the structure theorem for finitely generated modules over a principal ideal domain, which includes the fundamental theorem of finitely generated abelian groups.

The Smith normal form is also used in control theory to compute transmission and blocking zeros of a transfer function matrix.

[2] As an example, we will find the Smith normal form of the following matrix over the integers.

The following matrices are the intermediate steps as the algorithm is applied to the above matrix.

The Smith Normal Form of an N-by-N matrix A can be computed in time

The Smith normal form can be used to determine whether or not matrices with entries over a common field

For example, with A and B are similar because the Smith normal form of their characteristic matrices match, but are not similar to C because the Smith normal form of the characteristic matrices do not match.