Recall that if K is an algebraic number field of degree *n* = *r* + 2*s*, then the unit group of K is isomorphic to a W * **Z**^(*r*+*s*-1) where W is a finite abelian group. As in previous posts, *r* is the number of ring homomorphisms from K to **R**, and *s* is the number of complex conjugate pairs of ring homomorphisms from K to **C** whose images aren’t contained in **R**. This is Dirichlet’s theorem on units.

The basic way of proving Dirichlet’s theorem is by constructing a group homomorphism from the unit group of K to **R**^*n*. First, we denote the *n* homomorphisms from K to **C** by *w*1, *w*2, …, *w*(*r*+2*s*), where the first *r* homomorphisms are real, and the next 2*s* are such that *w*(*r*+*k*) and *w*(*r*+*s*+*k*) are complex conjugates (i.e. *w*(*r*+*k*) = __ w(r+s+k)__). We send a unit

*u*to (log|

*w*1(

*u*)|, log|

*w*2(

*u*)|, …, log|

*w*(

*r*+2

*s*)(

*u*)|), where the logs can be taken to any base, as long as all are taken to the same base. Since log(

*xy*) = log(

*x*) + log(

*y*), this is a group homomorphism from K* to the additive group of

**R**^

*n*.

In fact, only the first *r*+*s*-1 coordinates matter. This is because complex conjugates have the same absolute value, so that log|*w*(*r*+*s*+*k*)(*u*)| = log|*w*(*r*+*k*)(*u*)|; this means that the last *s* coordinates depend on the first *r*+*s*. Also, |*w*1(*u*)|*|*w*2(*u*)|*…*|*w*(*r*+2*s*)(*u*)| = 1 since *u* is a unit, so log|*w*1(*u*)| + log|*w*2(*u*)| + … + log|*w*(*r*+2*s*)(*u*)| = 0 since log1 = 0; then if *s* = 0 we have log|*w*(*r*)(*u*)| = -log|*w*1(*u*)| – log|*w*2(*u*)| – … – log|*w*(*r*-1)(*u*)|, and if *s* > 0 we have 2log|*w*(*r*+*s*)(*u*)| = -log|*w*1(*u*)| – log|*w*2(*u*)| – … – log|*w*(*r*)(*u*)| – 2log|*w*(*r*+1)(*u*)| – … – 2log|*w*(*r*+*s*-1)(*u*)|.

The main trick is to show that the image in **R**^(*r*+*s*-1) is then **Z**^(*r*+*s*-1), which I’ll prove later. Now I’ll only show that a unit is mapped to 0 iff it’s a root of unity (i.e. the kernel of the map in K* is the group of roots of unity). The if direction is almost trivial: if *u*^*m* = 1 for some *m*, then for each *i*, |*w*(*i*)(*u*)|^*m* = 1, so |*w*(*i*)(*u*)| = 1 and log|*w*(*i*)(*u*)| = 0.

For the only if direction, I’ll first prove that for a given positive real constant *c*, there are only finitely many elements such that |*w*(*i*)(*a*)| <= *c* for every *i*. The minimal polynomial of such an element over **Q** is *f*(*x*) = (*x*–*w*1)(*x*–*w*2)…(*x*–*w*(*n*)) = *x*^*n* – (*w*1 + *w*2 + … + *w*(*n*))*x*^(*n*-1) + (*w*1*w*2 + *w*1*w*3 + … + *w*(*n*-1)*w*(*n*))*x*^(*n*-2) – … + (-1)^*n*(*w*1*w*2…*w*(*n*)), where each coefficient is an integer. There are at most *nc* choices for the *n*-1 coefficient, *n*(*n*-1)*c*^2 for the *n*-2 coefficient… and *c*^*n* for the constant. So there are only finitely many polynomials whose roots satisfy the condition, hence only finitely many elements.

If *u* is a unit such that |*w*(*i*)(*u*)| <= 1 for every *i*, then *u* must be a root of unity. This is because it’s easy to see that 1, *u*^2, *u*^3, *u*^4… all satisfy the condition. There are only finitely many elements satisfying the condition, so for some distinct *m*1 and *m*2, say with *m*1 < *m*2, we have *u*^*m*1 = *u*^*m*2, so *u*^(*m*2-*m*1) = 1 and *u* is a root of unity.

Now, let’s return to the group homomorphism from K* to **R**^*n*. If *u* maps to 0, then log|*w*(*i*)(*u*)| = 0 for every *i*, so that |*w*(*i*)(*u*)| = 1 for every *i*, and *u* is a root of unity.