Say I have the matrix $\begin{pmatrix}16&16&8\\8&6&2\\3&4&2\end{pmatrix}$. To give a structure for a module homomorphism whose representation is given by this matrix, I must reduce the matrix to a Smith normal form. Now, in order to calculate the Smith normal form, I have to calculate the elementary divisors. Are they $2,8$ in this case?

I think no. This is because, though the first elementary divisor is given by $\frac{d_1}{d_0}=\frac{2}{1}=2$, but the second elementary divisor is just $\frac{d_2}{d_1}=\frac{2}{2}=1$ in my opinion. This is because, the gcd of all the $2\times 2$ minors of the matrix is $2$. Should we only consider the principal minors while calculating the second elementary divisor? Kindly elaborate. Thanks beforehand.

  • $\begingroup$ It sounds like you're doing things backwards. Typically, one finds the elementary divisors by first computing the Smith normal form via the standard algorithm. $\endgroup$ Commented Dec 21, 2020 at 23:25

1 Answer 1


Reduce the matrix to its normal form by following the usual algorithm. In this case, we would go through the following steps: $$ \pmatrix{16&16&8\\8&6&2\\3&4&2} \to \pmatrix{3&4&2\\8&6&2\\16&16&8} \to \\ \pmatrix{1&4&2\\6&6&2\\8&16&8} \to \pmatrix{1&0&0\\6&-18&-10\\8&-16&-8}\to\\ \pmatrix{1&0&0\\0&-18&-10\\0&-16&-8} \to \pmatrix{1&0&0\\0&18&10\\0&16&8} \to\\ \pmatrix{1&0&0\\0&10&18\\0&8&16} \to \pmatrix{1&0&0\\0&2&2\\0&8&16} \to\\ \pmatrix{1&0&0\\0&2&2\\0&0&8} \to \pmatrix{1&0&0\\0&2&0\\0&0&8}. $$ Consequently, conclude that the invariant factors are $2,8$.

If you insist on using the formula with the minors, note that we have $d_1 = 1 \neq 2$. Indeed, the $3,1$ entry and $3,3$ entries are relatively prime, which means that the entries (the "first order minors") are relatively prime.

For the second factor, we compute the cofactor matrix to be $$ \pmatrix{4&-10&14\\0&8&-16\\-16&32&-32}. $$ The greatest common factor of these entries is $2$, which gives us the invariant factor $2/1 = 2$.

Finally, we compute the matrix of the whole matrix to be $-16$, which gives us the invariant factor $-16/2 = -8$. We can equivalently say that the invariant factor is simply $8$.

  • $\begingroup$ thanks, but could you elaborate the usual algorithm, as the wiki page does not explain it clearly, and previous para is quite confusing $\endgroup$
    – vidyarthi
    Commented Dec 22, 2020 at 7:02
  • 1
    $\begingroup$ @vidyarthi I don't see it explained this way, but here's an equivalent "recursive" characterization. Step 1: using linear combinations if necessary, get at least one entry equal to the greatest common divisor of the matrix entries. Step 2: switch the common divisor to the upper-left entry (with row/column permutations). Step 3: use row/column operations to produce zeroes in the opposite row. Step 4: put the submatrix (excluding the first row/column) into Smith normal form. The steps I follow in this answer are like this except I switch steps 1 and 2. $\endgroup$ Commented Dec 22, 2020 at 15:21

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .