Proof of the Existence of Smith Normal Form
Algorithm
is a principal ideal domain, for every matrix , there exists a unique Smith normal form. In other words, for the matrix , there exists and invertible matrices , that satisfy where should not be in , and must be . More specifically, must be a divisor of . The uniqueness ignores the unit multiples of .
Proof 1 2
Strategy: An algorithm that uses row and column exchanges and Gaussian elimination to directly find the Smith normal form and prove its existence.
Every principal ideal domain is a unique factorization domain.
Matrix , being a matrix over a PID, is also a matrix over a UFD. Therefore, all elements except for the units and , represented by , have a unique factorization, and the one with the least number of factors is called the Minimal Entry, denoted by .
It should be noted that in Munkres’ textbook, the smallest element is chosen as , but in general principal ideal domains, which are not necessarily Euclidean domains, it can be tricky to consider something as ‘smallest’. In the general case of a PID, it makes sense to think about factorization to determine the minimal entry neatly. However, for simplicity, this post might use terms like ‘small’ or , which should be understood in terms of comparing the number of factors rather than the size of the elements.
Keep in mind that the given matrix will continually change due to Gaussian elimination, so also continually changes in context.
It’s also worth noting that this algorithm specifically demonstrates that the Smith normal form can always be derived for the given , although it’s not necessarily efficient and is unknown.
Step 1.
If is a zero matrix, it is already in Smith normal form, so proceed to Step 4. If is not a zero matrix, then do the following.
For ease of understanding, first swap rows and columns to bring to the top-left corner as . Now, we will only focus near the first row and column of the given matrix.
Step 2.
(Obviously, is unknown during the calculation. It naturally gets determined after the program ends.)
- For all , if then substitute . As , it’s possible to repeat Gaussian elimination until all elements in the first row and column of , except for , become . After the repetition, delete the row and column and return to Step 1. Now, the size of the matrix becomes .
- If for some , , then move to Step 3.
Step 3.
From here on, the discussion can apply to either rows or columns, so without loss of generality, we’ll only discuss and . Essentially, Step 2 guarantees that for at least one of , is true, and the goal is to perform Case 1 below after making sure that comes under .
Every principal ideal domain is a Bezout domain: PID is a Bezout domain, so the extended Euclidean theorem applies. This means, for all , there exists that satisfies
- Case 1. If
is the minimal entry and since , then . According to the extended Euclidean theorem, there exists that makes smaller. By Gaussian elimination, add the column of multiplied by to the column of multiplied by , and substitute it into the column of . This new column’s first element, , is not only smaller than the original but also a divisor of , making it a candidate for a newer and smaller minimal entry. Swap the column and column and return to Step 1. (There might be a chance to find an even smaller minimal entry during the calculation.) - Case 2. If
Some exists that satisfies , so multiply column by and subtract it from the column of . Then, this new column’s first element, , becomes . Repeat Step 3. - Case 3. If
Repeat the column exchange until . If for all , every becomes , then conduct Step 3 for .- If , then . Update the minimal entry.
- If , make become .
- If , it means the matrix now looks like this: Since , adding the row of to the row of keeps and results in the form Swap the row and the row and repeat Step 3. Even if all elements in the row and column except for are , there still must be at least one pair of that satisfies , so Case 3 is repeated until eventually, must be true.
Case 1 allows the value of to be continually reduced, Case 2 allows for making all elements other than in the first row and column become , and Case 3 ensures that there will eventually be a that satisfies and is placed at .
Step 4.
The only way to proceed to Step 4 is if the remaining from Step 1 is a zero matrix.
Throughout Step 2, we’ve been noting like . That all could be divided by the minimal entry indicates that any element created in the remaining matrix by the extended Euclidean theorem can be divided by this . Therefore, , and we obtain the following Smith normal form.
■
Munkres. (1984). Elements of Algebraic Topology: p55~57. ↩︎
https://en.wikipedia.org/wiki/Smith_normal_form#Algorithm ↩︎