The theorem, in both of its forms
Let R be a PID and M a finitely generated R-module. The structure theorem says M decomposes, and in two equivalent ways. Invariant factor form: M ≅ Rʳ ⊕ R/(d₁) ⊕ ⋯ ⊕ R/(dₖ) with d₁ | d₂ | ⋯ | dₖ (each a nonunit). Elementary divisor form: split each cyclic torsion piece by the unique factorization R/(p₁^{a₁}) ⊕ ⋯ using prime powers. The free rank r and the chain of invariant factors (up to units) are uniquely determined by M.
The proof you should carry in your head: present M as the cokernel of a map Rⁿ → Rᵐ given by a matrix A. Because R is a PID — indeed it suffices to run the Euclidean algorithm when R is a Euclidean domain — row and column operations bring A to Smith normal form diag(d₁, …, dₖ, 0, …, 0) with d₁ | ⋯ | dₖ. Reading off the cokernel of the diagonal matrix gives the invariant-factor decomposition directly. Everything reduces to diagonalizing an integer (or polynomial) matrix.
Corollary 1: finitely generated abelian groups
Set R = Z. Then finitely generated Z-modules are exactly finitely generated abelian groups, and the theorem becomes their complete classification: every such group is Zʳ ⊕ Z/d₁Z ⊕ ⋯ ⊕ Z/dₖZ with d₁ | ⋯ | dₖ. The integer r is the rank, the dᵢ the invariant factors. Two such groups are isomorphic iff they have the same r and the same invariant factors — a finite checklist.
Classify abelian groups of order 360 = 2^3 * 3^2 * 5.
Elementary-divisor form: choose a partition of each prime's exponent.
2^3: partitions of 3 -> (3), (2,1), (1,1,1) 3 ways
3^2: partitions of 2 -> (2), (1,1) 2 ways
5^1: partitions of 1 -> (1) 1 way
Total: 3 * 2 * 1 = 6 abelian groups of order 360.
One of them, fully written both ways:
elementary divisors 2, 4, 9, 5 -> Z/2 (+) Z/4 (+) Z/9 (+) Z/5
collect into invariant factors by CRT, largest last:
d2 = lcm(4,9,5) = 180, d1 = remaining 2
so Z/2 (+) Z/180, with d1=2 | d2=180. Check: 2*180 = 360. OK
Both descriptions name the SAME group; uniqueness is the content
of the structure theorem.Corollary 2: Jordan and rational canonical forms
Now set R = k[x] and recall from Guide 1 that a vector space V with a linear operator T is a k[x]-module via x·v = T(v). Since V is finite-dimensional, this module is finitely generated and torsion (its annihilator contains the minimal polynomial). The structure theorem decomposes it into cyclic pieces k[x]/(fᵢ(x)). Choosing a basis on each piece recovers a canonical matrix for T: companion matrices of the invariant factors give the rational canonical form, and over an algebraically closed field the elementary-divisor pieces (x−λ)^a give the Jordan canonical form.
T on a 3-dim C-vector space with characteristic poly (x-2)^3.
As a C[x]-module, V is torsion with annihilator generated by some
power of (x-2). The possible elementary-divisor patterns:
(x-2)^3 -> one Jordan block J3(2):
[2 1 0; 0 2 1; 0 0 2]
(x-2)^2, (x-2) -> blocks J2(2) (+) J1(2):
[2 1 0; 0 2 0; 0 0 2]
(x-2),(x-2),(x-2) -> three J1(2), i.e. 2*I:
[2 0 0; 0 2 0; 0 0 2]
Three partitions of 3 -> exactly three similarity classes with this
characteristic polynomial. Each is one module up to isomorphism, and
similar matrices = isomorphic C[x]-modules. The structure theorem and
the classification of conjugacy classes of nilpotent-plus-scalar maps
are LITERALLY the same statement.