Introduction to Algebraic Number Theory

William Stein May 5, 2005

2

Contents

1 Introduction 9 1.1 Mathematical background I assume you have . . . . . . . . . . . . . 9 1.2 What is algebraic number theory? . . . . . . . . . . . . . . . . . . . 10

1.2.1 Topics in this book . . . . . . . . . . . . . . . . . . . . . . . . 10 1.3 Some applications of algebraic number theory . . . . . . . . . . . . . 11

I Algebraic Number Fields 13

2 Basic Commutative Algebra 15 2.1 Finitely Generated Abelian Groups . . . . . . . . . . . . . . . . . . . 15 2.2 Noetherian Rings and Modules . . . . . . . . . . . . . . . . . . . . . 18

2.2.1 The Ring Z is noetherian . . . . . . . . . . . . . . . . . . . . 22 2.3 Rings of Algebraic Integers . . . . . . . . . . . . . . . . . . . . . . . 22 2.4 Norms and Traces . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

3 Unique Factorization of Ideals 29 3.1 Dedekind Domains . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

4 Computing 37 4.1 Algorithms for Algebraic Number Theory . . . . . . . . . . . . . . . 37 4.2 Magma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

4.2.1 Smith Normal Form . . . . . . . . . . . . . . . . . . . . . . . 38 4.2.2 Number Fields . . . . . . . . . . . . . . . . . . . . . . . . . . 40 4.2.3 Relative Extensions . . . . . . . . . . . . . . . . . . . . . . . 40 4.2.4 Rings of integers . . . . . . . . . . . . . . . . . . . . . . . . . 41 4.2.5 Ideals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

4.3 Using PARI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 4.3.1 Smith Normal Form . . . . . . . . . . . . . . . . . . . . . . . 46 4.3.2 Number Fields . . . . . . . . . . . . . . . . . . . . . . . . . . 47 4.3.3 Rings of integers . . . . . . . . . . . . . . . . . . . . . . . . . 48 4.3.4 Ideals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 5 Factoring Primes 51

5.1 The Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 5.1.1 Geomtric Intuition . . . . . . . . . . . . . . . . . . . . . . . . 52 5.1.2 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

5.2 A Method for Factoring Primes that Often Works . . . . . . . . . . 54 5.3 A General Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

5.3.1 Essential Discriminant Divisors . . . . . . . . . . . . . . . . . 58 5.3.2 Remarks on Ideal Factorization in General . . . . . . . . . . . 58 5.3.3 Finding a p-Maximal Order . . . . . . . . . . . . . . . . . . . 59 5.3.4 General Factorization Algorithm . . . . . . . . . . . . . . . . 60

5.4 Appendix: The Calculations in PARI . . . . . . . . . . . . . . . . . . 61

6 The Chinese Remainder Theorem 63

6.1 The Chinese Remainder Theorem . . . . . . . . . . . . . . . . . . . . 63 6.1.1 CRT in the Integers . . . . . . . . . . . . . . . . . . . . . . . 63 6.1.2 CRT in an Arbitrary Ring . . . . . . . . . . . . . . . . . . . . 64

6.2 Computing Using the CRT . . . . . . . . . . . . . . . . . . . . . . . 65 6.2.1 Magma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 6.2.2 PARI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

6.3 Structural Applications of the CRT . . . . . . . . . . . . . . . . . . . 67

7 Discrimants and Norms 71 7.1 Field Embeddings . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 7.2 Discriminants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 7.3 Norms of Ideals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

8 Finiteness of the Class Group 77 8.1 The Class Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 8.2 Class Number 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 8.3 More About Computing Class Groups . . . . . . . . . . . . . . . . . 84

9 Dirichlet’s Unit Theorem 87 9.1 The Group of Units . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 9.2 Examples with MAGMA . . . . . . . . . . . . . . . . . . . . . . . . . 92

9.2.1 Pell’s Equation . . . . . . . . . . . . . . . . . . . . . . . . . . 92 9.2.2 Examples with Various Signatures . . . . . . . . . . . . . . . 94

10 Decomposition and Inertia Groups 99 10.1 Galois Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 10.2 Decomposition of Primes: efg = n . . . . . . . . . . . . . . . . . . . 101

10.2.1 Quadratic Extensions . . . . . . . . . . . . . . . . . . . . . . 102 10.2.2 The Cube Root of Two . . . . . . . . . . . . . . . . . . . . . 103

10.3 The Decomposition Group . . . . . . . . . . . . . . . . . . . . . . . . 103 10.3.1 Galois groups of finite fields . . . . . . . . . . . . . . . . . . . 105

10.3.2 The Exact Sequence . . . . . . . . . . . . . . . . . . . . . . . 106 10.4 Frobenius Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 10.5 Galois Representations, L-series and a Conjecture of Artin . . . . . . 107

11 Elliptic Curves, Galois Representations, and L-functions 111

11.1 Groups Attached to Elliptic Curves . . . . . . . . . . . . . . . . . . . 111 11.1.1 Abelian Groups Attached to Elliptic Curves . . . . . . . . . . 112 11.1.2 A Formula for Adding Points . . . . . . . . . . . . . . . . . . 114 11.1.3 Other Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

11.2 Galois Representations Attached to Elliptic Curves . . . . . . . . . . 115 11.2.1 Modularity of Elliptic Curves over Q . . . . . . . . . . . . . . 116

12 Galois Cohomology 119

12.1 Group Cohomology . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

12.1.1 Group Rings . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 12.2 Modules and Group Cohomology . . . . . . . . . . . . . . . . . . . . 119

12.2.1 Example Application of the Theorem . . . . . . . . . . . . . . 121 12.3 Inflation and Restriction . . . . . . . . . . . . . . . . . . . . . . . . . 122 12.4 Galois Cohomology . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

13 The Weak Mordell-Weil Theorem 125 13.1 Kummer Theory of Number Fields . . . . . . . . . . . . . . . . . . . 125 13.2 Proof of the Weak Mordell-Weil Theorem . . . . . . . . . . . . . . . 127

14 Exercises 131 6 CONTENTS

Preface

This book is based on notes I created for a one-semester undergraduate course on Algebraic Number Theory, which I taught at Harvard during Spring 2004 and Spring 2005. The textbook for the first course was chapter 1 of Swinnerton-Dyer’s book [SD01]. The first draft of this book followed [SD01] closely, but the current version but adding substantial text and examples to make the mathematics accessible to advanced undergraduates. For example, chapter 1 of [SD01] is only 30 pages, whereas this book is 140 pages.

—————————

- Copyright: William Stein, 2005.

License: This book my be freely redistributed, printed and copied, even without written permission from me. You may even extend or change this book, but this preface page must remain in any derived work, and any derived work must also remain free, including the L^{A}TEX source files.

Please send any typos or corrections to was@math.harvard.edu.

Acknowledgement: This book closely builds on Swinnerton-Dyer’s book [SD01] and Cassels’s article [Cas67]. Many of the students of Math 129 at Harvard during Spring 2004 and 2005 made helpful comments: Jennifer Balakrishnan, Peter Behrooz, Jonathan Bloom, David Escott Jayce Getz, Michael Hamburg, Deniz Kural, Danielle li, Andrew Ostergaard, Gregory Price, Grant Schoenebeck, Jennifer Sinnott, Stephen Walker, Daniel Weissman, and Inna Zakharevich in 2004; Mauro Braunstein, Steven Byrnes, William Fithian, Frank Kelly, Alison Miller, Nizameddin Ordulu, Corina Patrascu, Anatoly Preygel, Emily Riehl, Gary Sivek, Steven Sivek, Kaloyan Slavov, Gregory Valiant, and Yan Zhang in 2005. Also the course assistants Matt Bainbridge and Andrei Jorza made many helpful comments.

This material is based upon work supported by the National Science Foundation under Grant No. 0400386.

Chapter 1

Introduction

1.1 Mathematical background I assume you have

In addition to general mathematical maturity, this book assumes you have the following background:

• Basics of finite group theory

• Commutative rings, ideals, quotient rings

• Some elementary number theory

• Basic Galois theory of fields

• Point set topology

• Basic of topological rings, groups, and measure theory

For example, if you have never worked with finite groups before, you should read another book first. If you haven’t seen much elementary ring theory, there is still hope, but you will have to do some additional reading and exercises. I will briefly review the basics of the Galois theory of number fields.

Some of the homework problems involve using a computer, but I’ll give you examples which you can build on. I will not assume that you have a programming background or know much about algorithms. If you don’t have PARI [ABC^{+}] or Magma [BCP97], and don’t want to install either one on your computer, you might want to try the following online interface to PARI and Magma:

                 http://modular.fas.harvard.edu/calc/

10 CHAPTER 1. INTRODUCTION

1.2 What is algebraic number theory?

A number field K is a finite algebraic extension of the rational numbers Q. Every such extension can be represented as all polynomials in an algebraic number α:

K = Q(α) = {∑_{n=0}^{m} a_{n}α^{n} : a_{n} ∈ Q} .

Here α is a root of a polynomial with coefficients in Q.

Algebraic number theory involves using techniques from (mostly commutative) algebra and finite group theory to gain a deeper understanding of number fields. The main objects that we study in algebraic number theory are number fields, rings of integers of number fields, unit groups, ideal class groups,norms, traces, discriminants, prime ideals, Hilbert and other class fields and associated reciprocity laws, zeta and L-functions, and algorithms for computing each of the above.

1.2.1 Topics in this book

These are some of the main topics that are discussed in this book:

• Rings of integers of number fields

• Unique factorization of ideals in Dedekind domains

• Structure of the group of units of the ring of integers

• Finiteness of the group of equivalence classes of ideals of the ring of integers (the “class group”)

• Decomposition and inertia groups, Frobenius elements

• Ramification

• Discriminant and different

• Quadratic and biquadratic fields

• Cyclotomic fields (and applications)

• How to use a computer to compute with many of the above objects (both algorithms and actual use of PARI and Magma).

• Valuations on fields

• Completions (p-adic fields)

• Adeles and Ideles Note that we will not do anything nontrivial with zeta functions or L-functions. This is to keep the prerequisites to algebra, and so we will have more time to discuss algorithmic questions. Depending on time and your inclination, I may also talk about integer factorization, primality testing, or complex multiplication elliptic curves (which are closely related to quadratic imaginary fields).

1.3 Some applications of algebraic number theory

The following examples are meant to convince you that learning algebraic number theory now will be an excellent investment of your time. If an example below seems vague to you, it is safe to ignore it.

1. Integer factorization using the number field sieve. The number field sieve is the asymptotically fastest known algorithm for factoring general large integers (that don’t have too special of a form). Recently, in December 2003, the number field sieve was used to factor the RSA-576 $10000 challenge:

1881988129206079638386972394616504398071635633794173827007 … … 6335642298885971523466548531906060650474304531738801130339 … … 6716199692321205734031879550656996221305168759307650257059 = 39807508642406493739712550055038649119906436234252670840 …

… 6385189575946388957261768583317

×47277214610743530253622307197304822463291469530209711 …
… 6459852171130520711256363590397527

(The … indicates that the newline should be removed, not that there are missing digits.) For more information on the NFS, see the paper by Lenstra et al. on the Math 129 web page.

2. Primality test: Agrawal and his students Saxena and Kayal from India recently (2002) found the first ever deterministic polynomial-time (in the number of digits) primality test. There methods involve arithmetic in quotients of (Z/nZ)[x], which are best understood in the context of algebraic number theory. For example, Lenstra, Bernstein, and others have done that and improved the algorithm significantly.

3. Deeper point of view on questions in number theory:

(a) Pell’s Equation (x^{2} −dy^{2} = 1) ⟹ Units in real quadratic fields ⟹ Unit groups in number fields

(b) Diophantine Equations ⟹ For which n does x^{n} + y^{n} = z^{n} have a nontrivial solution?

(c) Integer Factorization ⟹ Factorization of ideals

(d) Riemann Hypothesis ⟹ Generalized Riemann Hypothesis (e) Deeper proof of Gauss’s quadratic reciprocity law in terms of arithmetic

of cyclotomic fields Q(e^{2πi/n}), which leads to class field theory.

4. Wiles’s proof of Fermat’s Last Theorem, i.e., x^{n}+y^{n} = z^{n} has no nontrivial integer solutions, uses methods from algebraic number theory extensively (in addition to many other deep techniques). Attempts to prove Fermat’s Last Theorem long ago were hugely influential in the development of algebraic number theory (by Dedekind, Kummer, Kronecker, et al.).

5. Arithmetic geometry: This is a huge field that studies solutions to polynomial equations that lie in arithmetically interesting rings, such as the integers or number fields. A famous major triumph of arithmetic geometry is Faltings’s proof of Mordell’s Conjecture.

Theorem 1.3.1 (Faltings). Let X be a plane algebraic curve over a number field K. Assume that the manifold X(C) of complex solutions to X has genus at least 2 (i.e., X(C) is topologically a donut with two holes). Then the set X(K) of points on X with coordinates in K is finite.

For example, Theorem 1.3.1 implies that for any n ≥ 4 and any number field K, there are only finitely many solutions in K to x^{n} + y^{n} = 1.

A major open problem in arithmetic geometry is the Birch and Swinnerton-Dyer conjecture. Suppose X is an algebraic curve such that the set of complex points X(C) is a topological torus. Then the conjecture of Birch and Swinnerton-Dyer gives a criterion for whether or not X(K) is infinite in terms of analytic properties of the L-function L(X, s).

Part I

Algebraic Number Fields Basic Commutative Algebra

The commutative algebra in this chapter will provide a solid algebraic foundation for understanding the more refined number-theoretic structures associated to number fields.

First we prove the structure theorem for finitely generated abelian groups. Then we establish the standard properties of Noetherian rings and modules, including a proof of the Hilbert basis theorem. We also observe that finitely generated abelian groups are Noetherian Z-modules. After establishing properties of Noetherian rings, we consider rings of algebraic integers and discuss some of their properties.

2.1 Finitely Generated Abelian Groups

We will now prove the structure theorem for finitely generated abelian groups, since it will be crucial for much of what we will do later.

Let Z = {0, ±1, ±2, …} denote the ring of integers, and for each positive integer n let Z/nZ denote the ring of integers modulo n, which is a cyclic abelian group of order n under addition.

Definition 2.1.1 (Finitely Generated). A group G is finitely generated if there exists g_{1}, …, g_{n} ∈ G such that every element of G can be obtained from the g_{i}.

For example, the group Z is finitely generated, since it is generated by 1.

Theorem 2.1.2 (Structure Theorem for Abelian Groups). Let G be a finitely generated abelian group. Then there is an isomorphism

G ≅ (Z/n_{1}Z) ⊕ (Z/n_{2}Z) ⊕ ⋯ ⊕ (Z/n_{s}Z) ⊕ Z^{r},

where n_{1} > 1 and n_{1} | n_{2} | ⋯ | n_{s}. Furthermore, the n_{i} and r are uniquely determined by G.

We will prove the theorem as follows. We first remark that any subgroup of a finitely generated free abelian group is finitely generated. Then we see that finitely generated abelian groups can be presented as quotients of finite rank free abelian groups, and such a presentation can be reinterpreted in terms of matrices over the integers. Next we describe how to use row and column operations over the integers to show that every matrix over the integers is equivalent to one in a canonical diagonal form, called the Smith normal form. We obtain a proof of the theorem by reinterpreting Smith normal form in terms of groups.

Proposition 2.1.3. Suppose G is a free abelian group of finite rank n, and H is a subgroup of G. Then H is a free abelian group generated by at most n elements.

The key reason that this is true is that G is a finitely generated module over the principal ideal domain Z. We will give a complete proof of a beautiful generalization of this result in the context of Noetherian rings next time, but will not prove this proposition here.

Corollary 2.1.4. Suppose G is a finitely generated abelian group. Then there are finitely generated free abelian groups F_{1} and F_{2} such that G ≅ F_{1}/F_{2}.

Proof. Let x_{1}, …, x_{m} be generators for G. Let F_{1} = Z^{m} and let φ : F_{1} → G be the map that sends the ith generator (0, 0, …, 1, …, 0) of Z^{m} to x_{i}. Then φ is a surjective homomorphism, and by Proposition 2.1.3 the kernel F_{2} of φ is a finitely generated free abelian group. This proves the corollary.

Suppose G is a nonzero finitely generated abelian group. By the corollary, there are free abelian groups F_{1} and F_{2} such that G ≅ F_{1}/F_{2}. Choosing a basis for F_{1}, we obtain an isomorphism F_{1} ≅ Z^{n}, for some positive integer n. By Proposition 2.1.3, F_{2} ≅ Z^{m}, for some integer m with 0 ≤ m ≤ n, and the inclusion map F_{2} ↪ F_{1} induces a map Z^{m} → Z^{n}. This homomorphism is left multiplication by the n × m matrix A whose columns are the images of the generators of F_{2} in Z^{n}. The cokernel of this homomorphism is the quotient of Z^{n} by the image of A, and the cokernel is isomorphic to G. By augmenting A with zero columns on the right we obtain a square n × n matrix A with the same cokernel. The following proposition implies that we may choose bases such that the matrix A is diagonal, and then the structure of the cokernel of A will be easy to understand.

Proposition 2.1.5 (Smith normal form). Suppose A is an n×n integer matrix. Then there exist invertible integer matrices P and Q such that A′ = P AQ is a diagonal matrix with entries n_{1}, n_{2}, …, n_{s}, 0, …, 0, where n_{1} > 1 and n_{1} | n_{2} | … | n_{s}. Here P and Q are invertible as integer matrices, so det(P) and det(Q) are ±1. The matrix A′ is called the Smith normal form of A.

We will see in the proof of Theorem 2.1.2 that A′ is uniquely determined by A. An example of a matrix in Smith normal form is

A = (\begin{matrix}2 & 0 & 0 \\ 0 & 6 & 0 \\ 0 & 0 & 0 \end{matrix}) .

Proof. The matrix P will be a product of matrices that define elementary row operations and Q will be a product corresponding to elementary column operations. The elementary row and column operations are as follows:

1. [Add multiple] Add an integer multiple of one row to another (or a multiple of one column to another).

2. [Swap] Interchange two rows or two columns.

3. [Rescale] Multiply a row by −1.

Each of these operations is given by left or right multiplying by an invertible matrix E with integer entries, where E is the result of applying the given operation to the identity matrix, and E is invertible because each operation can be reversed using another row or column operation over the integers.

To see that the proposition must be true, assume A ≠ 0 and perform the following steps (compare [Art91, pg. 459]):

1. By permuting rows and columns, move a nonzero entry of A with smallest absolute value to the upper left corner of A. Now attempt to make all other entries in the first row and column 0 by adding multiples of row or column 1 to other rows (see step 2 below). If an operation produces a nonzero entry in the matrix with absolute value smaller than |a_{11}|, start the process over by permuting rows and columns to move that entry to the upper left corner of A. Since the integers |a_{11}| are a decreasing sequence of positive integers, we will not have to move an entry to the upper left corner infinitely often.

2. Suppose a_{i1} is a nonzero entry in the first column, with i > 1. Using the division algorithm, write a_{i1} = a_{11}q + r, with 0 ≤ r < a_{11}. Now add −q times the first row to the ith row. If r > 0, then go to step 1 (so that an entry with absolute value at most r is the upper left corner). Since we will only perform step 1 finitely many times, we may assume r = 0. Repeating this procedure we set all entries in the first column (except a_{11}) to 0. A similar process using column operations sets each entry in the first row (except a_{11}) to 0.

3. We may now assume that a_{11} is the only nonzero entry in the first row and column. If some entry a_{ij} of A is not divisible by a_{11}, add the column of A containing a_{ij} to the first column, thus producing an entry in the first column that is nonzero. When we perform step 2, the remainder r will be greater than 0. Permuting rows and columns results in a smaller |a_{11}|. Since |a_{11}| can only shrink finitely many times, eventually we will get to a point where every a_{ij} is divisible by a_{11}. If a_{11} is negative, multiple the first row by −1.

After performing the above operations, the first row and column of A are zero except for a_{11} which is positive and divides all other entries of A. We repeat the above steps for the matrix B obtained from A by deleting the first row and column. The upper left entry of the resulting matrix will be divisible by a_{11}, since every entry of B is. Repeating the argument inductively proves the proposition.

Example 2.1.6. The matrix (\begin{matrix}−1 & 2 \\ −3 & 4 \end{matrix}) has Smith normal form to (\begin{matrix}1 & 0 \\ 0 & 2 \end{matrix}), and the

matrix (\begin{matrix}1 & 4 & 9 \\ 16 & 25 & 36 \\ 49 & 64 & 81 \end{matrix}) has Smith normal form (\begin{matrix}1 & 0 & 0 \\ 0 & 3 & 0 \\ 0 & 0 & 72 \end{matrix}) . As a double check,

note that the determinants of a matrix and its Smith normal form match, up to sign. This is because

det(P AQ) = det(P) det(A) det(Q) = ± det(A).

Theorem 2.1.2. Suppose G is a finitely generated abelian group, which we may assume is nonzero. As in the paragraph before Proposition 2.1.5, we use Corollary 2.1.4 to write G as a the cokernel of an n × n integer matrix A. By Proposition 2.1.5 there are isomorphisms Q : Z^{n} → Z^{n} and P : Z^{n} → Z^{n} such that A′ = P AQ is a diagonal matrix with entries n_{1}, n_{2}, …, n_{s}, 0, …, 0, where n_{1} > 1 and n_{1} | n_{2} | … | n_{s}. Then G is isomorphic to the cokernel of the diagonal matrix A′, so

G ≅ (Z/n_{1}Z) ⊕ (Z/n_{2}Z) ⊕ ⋯ ⊕ (Z/n_{s}Z) ⊕ Z^{r},  (2.1.1)

as claimed. The n_{i} are determined by G, because n_{i} is the smallest positive integer n such that nG requires at most s + r − i generators. We see from the representation (2.1.1) of G as a product that n_{i} has this property and that no smaller positive integer does.

2.2 Noetherian Rings and Modules

Let R be a commutative ring with unit element. We will frequently work with R-modules, which are like vector spaces but over a ring.

More precisely, an R-module is an additive abelian group M equipped with a map R ×M → M such that for all r, r′ ∈ R and all m, m′ ∈ M we have (rr′)m = r(r′m), (r + r′)m = rm + r′m, r(m + m′) = rm + rm′, and 1m = m. A submodule is a subgroup of M that is preserved by the action of R. An ideal in a ring R is an R-submodule I ⊂ R, where we view R as a module over itself. Example 2.2.1. The set of abelian groups are in natural bijection with Z-modules.

A homomorphism of R-modules φ : M → N is a abelian group homomorphism such that for any r ∈ R and m ∈ M we have φ(rm) = rφ(m). A short exact sequence of R-modules

0 → L ⟶^{f} M ⟶^{g} N → 0

is a specific choice of injective homomorphism f : L → M and a surjective homomorphism g : M → N such that im(f) = ker(g). Example 2.2.2. The sequence

0 → Z ⟶^{2} Z → Z/2Z → 0

is an exact sequence, where the first map sends 1 to 2, and the second is the natural quotient map.

Definition 2.2.3 (Noetherian). An R-module M is noetherian if every submodule of M is finitely generated. A ring R is noetherian if R is noetherian as a module over itself, i.e., if every ideal of R is finitely generated.

Notice that any submodule M′ of a noetherian module M is also noetherian. Indeed, if every submodule of M is finitely generated then so is every submodule of M′, since submodules of M′ are also submodules of M.

Definition 2.2.4 (Ascending chain condition). An R-module M satisfies the ascending chain condition if every sequences M_{1} ⊂ M_{2} ⊂ M_{3} ⊂ ⋯ of submodules of M eventually stabilizes, i.e., there is some n such that M_{n} = M_{n+1} = M_{n+2} = · · ·.

We will use the notion of maximal element below. If X is a set of subsets of a set S, ordered by inclusion, then a maximal element A ∈ X is a set so that no superset of A is contained in X. Note that it is not necessary that A contain every other element of X, and that X could contain many maximal elements.

Proposition 2.2.5. If M is an R-module, then the following are equivalent:

1. M is noetherian,

2. M satisfies the ascending chain condition, and

3. Every nonempty set of submodules of M contains at least one maximal element.

Proof. 1 ⟹ 2: Suppose M_{1} ⊂ M_{2} ⊂ ⋯ is a sequence of submodules of M. Then M_{∞} = ∪_{n=1}^{∞}M_{n} is a submodule of M. Since M is noetherian and M_{∞} is a submodule of M, there is a finite set a_{1}, …, a_{m} of generators for M_{∞}. Each a_{i} must be contained in some M_{j}, so there is an n such that a_{1}, …, a_{m} ∈ M_{n}. But then M_{k} = M_{n} for all k ≥ n, which proves that the chain of M_{i} stabilizes, so the ascending chain condition holds for M. 2 ⟹ 3: Suppose 3 were false, so there exists a nonempty set S of submodules of M that does not contain a maximal element. We will use S to construct an infinite ascending chain of submodules of M that does not stabilize. Note that S is infinite, otherwise it would contain a maximal element. Let M_{1} be any element of S. Then there is an M_{2} in S that contains M_{1}, otherwise S would contain the maximal element M_{1}. Continuing inductively in this way we find an M_{3} in S that properly contains M_{2}, etc., and we produce an infinite ascending chain of submodules of M, which contradicts the ascending chain condition. 3 ⟹ 1: Suppose 1 is false, so there is a submodule M′ of M that is not finitely generated. We will show that the set S of all finitely generated submodules of M′ does not have a maximal element, which will be a contradiction. Suppose S does have a maximal element L. Since L is finitely generated and L ⊂ M′, and M′ is not finitely generated, there is an a ∈ M′ such that a ∉ L. Then L′ = L + Ra is an element of S that strictly contains the presumed maximal element L, a contradiction.

Lemma 2.2.6. If

0 → L ⟶^{f} M ⟶^{g} N → 0

is a short exact sequence of R-modules, then M is noetherian if and only if both L and N are noetherian.

Proof. First suppose that M is noetherian. Then L is a submodule of M, so L is noetherian. If N′ is a submodule of N, then the inverse image of N′ in M is a submodule of M, so it is finitely generated, hence its image N′ is finitely generated. Thus N is noetherian as well.

Next assume nothing about M, but suppose that both L and N are noetherian. If M′ is a submodule of M, then M_{0} = φ(L)∩M′ is isomorphic to a submodule of the noetherian module L, so M_{0} is generated by finitely many elements a_{1}, …, a_{n}. The quotient M′/M_{0} is isomorphic (via g) to a submodule of the noetherian module N, so M′/M_{0} is generated by finitely many elements b_{1}, …, b_{m}. For each i ≤ m, let c_{i} be a lift of b_{i} to M′, modulo M_{0}. Then the elements a_{1}, …, a_{n}, c_{1}, …, c_{m} generate M′, for if x ∈ M′, then there is some element y ∈ M_{0} such that x − y is an R-linear combination of the c_{i}, and y is an R-linear combination of the a_{i}.

Proposition 2.2.7. Suppose R is a noetherian ring. Then an R-module M is noetherian if and only if it is finitely generated.

Proof. If M is noetherian then every submodule of M is finitely generated so M is finitely generated. Conversely, suppose M is finitely generated, say by elements a_{1}, …, a_{n}. Then there is a surjective homomorphism from R^{n} = R ⊕ ⋯ ⊕ R to M that sends (0, …, 0, 1, 0, …, 0) (1 in ith factor) to a_{i}. Using Lemma 2.2.6 and exact sequences of R-modules such as 0 → R → R⊕R → R → 0, we see inductively that R^{n} is noetherian. Again by Lemma 2.2.6, homomorphic images of noetherian modules are noetherian, so M is noetherian.

Lemma 2.2.8. Suppose φ : R → S is a surjective homomorphism of rings and R is noetherian. Then S is noetherian.

Proof. The kernel of φ is an ideal I in R, and we have an exact sequence

0 → I → R → S → 0

with R noetherian. This is an exact sequence of R-modules, where S has the Rmodule structure induced from φ (if r ∈ R and s ∈ S, then rs = φ(r)s). By Lemma 2.2.6, it follows that S is a noetherian R-modules. Suppose J is an ideal of S. Since J is an R-submodule of S, if we view J as an R-module, then J is finitely generated. Since R acts on J through S, the R-generators of J are also S-generators of J, so J is finitely generated as an ideal. Thus S is noetherian.

Theorem 2.2.9 (Hilbert Basis Theorem). If R is a noetherian ring and S is finitely generated as a ring over R, then S is noetherian. In particular, for any n the polynomial ring R[x_{1}, …, x_{n}] and any of its quotients are noetherian.

Proof. Assume first that we have already shown that for any n the polynomial ring R[x_{1}, …, x_{n}] is noetherian. Suppose S is finitely generated as a ring over R, so there are generators s_{1}, …, s_{n} for S. Then the map x_{i} ↦ s_{i} extends uniquely to a surjective homomorphism π : R[x_{1}, …, x_{n}] → S, and Lemma 2.2.8 implies that S is noetherian.

The rings R[x_{1}, …, x_{n}] and (R[x_{1}, …, x_{n−1}])[x_{n}] are isomorphic, so it suffices to prove that if R is noetherian then R[x] is also noetherian. (Our proof follows [Art91, §12.5].) Thus suppose I is an ideal of R[x] and that R is noetherian. We will show that I is finitely generated.

Let A be the set of leading coefficients of polynomials in I. (The leading coefficient of a polynomial is the coefficient of highest degree, or 0 if the polynomial is 0; thus 3x^{7} + 5x^{2} − 4 has leading coefficient 3.) We will first show that A is an ideal of R. Suppose a, b ∈ A are nonzero with a + b ≠ 0. Then there are polynomials f and g in I with leading coefficients a and b. If deg(f) ≤ deg(g), then a + b is the leading coefficient of x^{deg(g)−deg(f)}f + g, so a + b ∈ A. Suppose r ∈ R and a ∈ A with ra ≠ 0. Then ra is the leading coefficient of rf, so ra ∈ A. Thus A is an ideal in R.

Since R is noetherian and A is an ideal, there exist nonzero a_{1}, …, a_{n} that generate A as an ideal. Since A is the set of leading coefficients of elements of I, and the a_{j} are in A, we can choose for each j ≤ n an element f_{j} ∈ I with leading coefficient a_{j}. By multipying the f_{j} by some power of x, we may assume that the f_{j} all have the same degree d ≥ 1.

Let S_{<d} be the set of elements of I that have degree strictly less than d. This set is closed under addition and under multiplication by elements of R, so S_{<d} is a module over R. The module S_{<d} is the submodule of the R-module of polynomials of degree less than n, which is noetherian because it is generated by 1, x, …, x^{n−1}. Thus S_{<d} is finitely generated, and we may choose generators h_{1}, …, h_{m} for S_{<d}.

We finish by proving using induction on the degree that every g ∈ I is an R[x]- linear combination of f_{1}, …, f_{n}, h_{1}, … h_{m}. If g ∈ I has degree 0, then g ∈ S_{<d}, since d ≥ 1, so g is a linear combination of h_{1}, …, h_{m}. Next suppose g ∈ I has degree e, and that we have proven the statement for all elements of I of degree < e. If e ≤ d, then g ∈ S_{<d}, so g is in the R[x]-ideal generated by h_{1}, …, h_{m}. Next suppose that e ≥ d. Then the leading coefficient b of g lies in the ideal A of leading coefficients of elements of I, so there exist r_{i} ∈ R such that b = r_{1}a_{1} + ⋯ + r_{n}a_{n}. Since f_{i} has leading coefficient a_{i}, the difference g − x^{e−d}r_{i}f_{i} has degree less than the degree e of g. By induction g−x^{e−d}r_{i}f_{i} is an R[x] linear combination of f_{1}, …, f_{n}, h_{1}, … h_{m}, so g is also an R[x] linear combination of f_{1}, …, f_{n}, h_{1}, … h_{m}. Since each f_{i} and h_{j} lies in I, it follows that I is generated by f_{1}, …, f_{n}, h_{1}, … h_{m}, so I is finitely generated, as required.

Properties of noetherian rings and modules will be crucial in the rest of this course. We have proved above that noetherian rings have many desirable properties.

2.2.1 The Ring Z is noetherian

The ring Z of integers is noetherian because every ideal of Z is generated by one element.

Proposition 2.2.10. Every ideal of the ring Z of integers is principal.

Proof. Suppose I is a nonzero ideal in Z. Let d the least positive element of I. Suppose that a ∈ I is any nonzero element of I. Using the division algorithm, write a = dq + r, where q is an integer and 0 ≤ r < d. We have r = a − dq ∈ I and r < d, so our assumption that d is minimal implies that r = 0, so a = dq is in the ideal generated by d. Thus I is the principal ideal generated by d.

Example 2.2.11. Let I = (12, 18) be the ideal of Z generated by 12 and 18. If n = 12a + 18b ∈ I, with a, b ∈ Z, then 6 | n, since 6 | 12 and 6 | 18. Also, 6 = 18 − 12 ∈ I, so I = (6).

Proposition 2.2.7 and 2.2.10 together imply that any finitely generated abelian group is noetherian. This means that subgroups of finitely generated abelian groups are finitely generated, which provides the missing step in our proof of the structure theorem for finitely generated abelian groups.

2.3 Rings of Algebraic Integers

In this section we will learn about rings of algebraic integers and discuss some of their properties. We will prove that the ring of integers O_{K} of a number field is noetherian.

Fix an algebraic closure \overline{Q} of Q. Thus \overline{Q} is an infinite field extension of Q with the property that every polynomial f ∈ Q[x] splits as a product of linear factors in \overline{Q}[x]. One choice of \overline{Q} is the subfield of the complex numbers C generated by all roots in C of all polynomials with coefficients in Q. Note that any two choices of \overline{Q} are isomorphic, but there will be many isomorphisms between them.

An algebraic integer is an element of \overline{Q}.

Definition 2.3.1 (Algebraic Integer). An element α ∈ \overline{Q} is an algebraic integer if it is a root of some monic polynomial with coefficients in Z.

For example, \sqrt{2} is an algebraic integer, since it is a root of x^{2} − 2, but one can prove 1/2 is not an algebraic integer, since one can show that it is not the root of any monic polynomial over Z. Also π and e are not algebraic numbers (they are transcendental).

The only elements of Q that are algebraic integers are the usual integers Z. However, there are elements of \overline{Q} that have denominators when written down, but are still algebraic integers. For example,

α = \frac{1 + \sqrt{5}}{2}

is an algebraic integer, since it is a root of the monic polynomial x^{2} − x − 1.

Definition 2.3.2 (Minimal Polynomial). The minimal polynomial of α ∈ \overline{Q} is the monic polynomial f ∈ Q[x] of least positive degree such that f(α) = 0.

It is a consequence of Lemma 2.3.3 that the minimal polynomial α is unique. The minimal polynomial of 1/2 is x − 1/2, and the minimal polynomial of \sqrt[3]{2} is x^{3} − 2.

Lemma 2.3.3. Suppose α ∈ \overline{Q}. Then the minimal polynomial of α divides any polynomial h such that h(α) = 0.

Proof. Let f be a minimal polynomial of α. If h(α) = 0, use the division algorithm to write h = qf + r, where 0 ≤ deg(r) < deg(f). We have

r(α) = h(α) − q(α)f(α) = 0,

so α is a root of r. However, f is the monic polynomial of least positive degree with root α, so r = 0.

Lemma 2.3.4. If α is an algebraic integer, then the minimal polynomial of α has coefficients in Z.

Proof. Suppose f ∈ Q[x] is the minimal polynomial of α. Since α is an algebraic integer, there is a polynomial g ∈ Z[x] that is monic such that g(α) = 0. By Lemma 2.3.3, we have g = fh, for some monic h ∈ Q[x]. If f ∉ Z[x], then some prime p divides the denominator of some coefficient of f. Let p^{i} be the largest power of p that divides some denominator of some coefficient f, and likewise let p^{j} be the largest power of p that divides some denominator of a coefficient of h. Then p^{i+j}g = (p^{i}f)(p^{j}h), and if we reduce both sides modulo p, then the left hand side is 0 but the right hand side is a product of two nonzero polynomials in F_{p}[x], hence nonzero, a contradiction.

Proposition 2.3.5. An element α ∈ \overline{Q} is integral if and only if Z[α] is finitely generated as a Z-module.

Proof. Suppose α is integral and let f ∈ Z[x] be the monic minimal polynomial of α (that f ∈ Z[x] is Lemma 2.3.4). Then Z[α] is generated by 1, α, α^{2}, …, α^{d−1}, where d is the degree of f. Conversely, suppose α ∈ \overline{Q} is such that Z[α] is finitely generated, say by elements f_{1}(α), …, f_{n}(α). Let d be any integer bigger than the degrees of all f_{i}. Then there exist integers a_{i} such that α^{d} = ∑_{i=1}^{n} a_{i}f_{i}(α), hence α satisfies the monic polynomial x^{d} − ∑_{i=1}^{n} a_{i}f_{i}(x) ∈ Z[x], so α is integral.

Example 2.3.6. The rational number α = 1/2 is not integral. Note that G = Z[1/2] is not a finitely generated Z-module, since G is infinite and G/2G = 0. (You can see that G/2G = 0 implies that G is not finitely generated, by assuming that G is finitely generated, using the structure theorem to write G as a product of cyclic groups, and noting that G has nontrivial 2-torsion.)

Proposition 2.3.7. The set \overline{Z} of all algebraic integers is a ring, i.e., the sum and product of two algebraic integers is again an algebraic integer.

Proof. Suppose α, β ∈ Z, and let m, n be the degrees of the minimal polynomials of α, β, respectively. Then 1, α, …, α^{m−1} span Z[α] and 1, β, …, β^{n−1} span Z[β] as Z-module. Thus the elements α^{i}β^{j} for i ≤ m, j ≤ n span Z[α, β]. Since Z[α + β] is a submodule of the finitely-generated module Z[α, β], it is finitely generated, so α + β is integral. Likewise, Z[αβ] is a submodule of Z[α, β], so it is also finitely generated and αβ is integral.

Definition 2.3.8 (Number field). A number field is a subfield K of \overline{Q} such that the degree [K : Q] := dim_{Q}(K) is finite.

Definition 2.3.9 (Ring of Integers). The ring of integers of a number field K is the ring

O_{K} = K ∩ \overline{Z} = \{x ∈ K : x is an algebraic integer\}.

The field Q of rational numbers is a number field of degree 1, and the ring of integers of Q is Z. The field K = Q(i) of Gaussian integers has degree 2 and O_{K} = Z[i]. The field K = Q(\sqrt{5}) has ring of integers O_{K} = Z[(1 + \sqrt{5})/2]. Note that the Golden ratio (1 + \sqrt{5})/2 satisfies x^{2} − x − 1. The ring of integers of K = Q(\sqrt[3]{9}) is Z[\sqrt[3]{3}], where \sqrt[3]{3} = \frac{1}{3}(\sqrt[3]{9})^{2}.

Definition 2.3.10 (Order). An order in O_{K} is any subring R of O_{K} such that the quotient O_{K}/R of abelian groups is finite. (Note that R must contain 1 because it is a ring, and for us every ring has a 1.)

As noted above, Z[i] is the ring of integers of Q(i). For every nonzero integer n, the subring Z + niZ of Z[i] is an order. The subring Z of Z[i] is not an order, because Z does not have finite index in Z[i]. Also the subgroup 2Z + iZ of Z[i] is not an order because it is not a ring.

We will frequently consider orders in practice because they are often much easier to write down explicitly than O_{K}. For example, if K = Q(α) and α is an algebraic integer, then Z[α] is an order in O_{K}, but frequently Z[α] ≠ O_{K}.

Lemma 2.3.11. Let O_{K} be the ring of integers of a number field. Then O_{K} ∩Q = Z and QO_{K} = K.

Proof. Suppose α ∈ O_{K} ∩ Q with α = a/b ∈ Q in lowest terms and b > 0. Since α is integral, Z[a/b] is finitely generated as a module, so b = 1 (see Example 2.3.6).

To prove that QO_{K} = K, suppose α ∈ K, and let f(x) ∈ Q[x] be the minimal monic polynomial of α. For any positive integer d, the minimal monic polynomial of dα is d^{deg(f)}f(x/d), i.e., the polynomial obtained from f(x) by multiplying the coefficient of x^{deg(f)} by 1, multiplying the coefficient of x^{deg(f)−1} by d, multiplying the coefficient of x^{deg(f)−2} by d^{2}, etc. If d is the least common multiple of the denominators of the coefficients of f, then the minimal monic polynomial of dα has integer coefficients, so dα is integral and dα ∈ O_{K}. This proves that QO_{K} = K.

2.4 Norms and Traces

In this section we develop some basic properties of norms, traces, and discriminants, and give more properties of rings of integers in the general context of Dedekind domains.

Before discussing norms and traces we introduce some notation for field extensions. If K ⊂ L are number fields, we let [L : K] denote the dimension of L viewed as a K-vector space. If K is a number field and a ∈ \overline{Q}, let K(a) be the extension of K generated by a, which is the smallest number field that contains both K and a. If a ∈ \overline{Q} then a has a minimal polynomial f(x) ∈ Q[x], and the Galois conjugates of a are the roots of f. For example the element \sqrt{2} has minimal polynomial x^{2} − 2 and the Galois conjugates are \sqrt{2} and −\sqrt{2}.

Suppose K ⊂ L is an inclusion of number fields and let a ∈ L. Then left multiplication by a defines a K-linear transformation ℓ_{a} : L → L. (The transformation ℓ_{a} is K-linear because L is commutative.)

Definition 2.4.1 (Norm and Trace). The norm and trace of a from L to K are

Norm_{L/K}(a) = det(ℓ_{a}) and tr_{L/K}(a) = tr(ℓ_{a}).

We know from linear algebra that determinants are multiplicative and traces are additive, so for a, b ∈ L we have

Norm_{L/K}(ab) = Norm_{L/K}(a) · Norm_{L/K}(b)

and

tr_{L/K}(a + b) = tr_{L/K}(a) + tr_{L/K}(b).

Note that if f ∈ Q[x] is the characteristic polynomial of ℓ_{a}, then the constant term of f is (−1)^{deg(f)} det(ℓ_{a}), and the coefficient of x^{deg(f)−1} is − tr(ℓ_{a}).

Proposition 2.4.2. Let a ∈ L and let σ_{1}, …, σ_{d}, where d = [L : K], be the distinct field embeddings L ↪ \overline{Q} that fix every element of K. Then

Norm_{L/K}(a) = ∏_{i=1}^{d} σ_{i}(a) and tr_{L/K}(a) = ∑_{i=1}^{d} σ_{i}(a).

Proof. We prove the proposition by computing the characteristic polynomial F of a. Let f ∈ K[x] be the minimal polynomial of a over K, and note that f has distinct roots and is irreducible, since it is the polynomial in K[x] of least degree that is satisfied by a and K has characteristic 0. Since f is irreducible, we have K(a) = K[x]/(f), so [K(a) : K] = deg(f). Also a satisfies a polynomial if and only if ℓ_{a} does, so the characteristic polynomial of ℓ_{a} acting on K(a) is f. Let b_{1}, …, b_{n} be a basis for L over K(a) and note that 1, …, a^{m} is a basis for K(a)/K, where m = deg(f) − 1. Then a^{i}b_{j} is a basis for L over K, and left multiplication by a acts the same way on the span of b_{j}, ab_{j}, …, a^{m}b_{j} as on the span of b_{k}, ab_{k}, …, a^{m}b_{k}, for any pair j, k ≤ n. Thus the matrix of ℓ_{a} on L is a block direct sum of copies of the matrix of ℓ_{a} acting on K(a), so the characteristic polynomial of ℓ_{a} on L is f^{[L:K(a)]}. The proposition follows because the roots of f^{[L:K(a)]} are exactly the images σ_{i}(a), with multiplicity [L : K(a)] (since each embedding of K(a) into \overline{Q} extends in exactly [L : K(a)] ways to L by Exercise ??).

The following corollary asserts that the norm and trace behave well in towers.

Corollary 2.4.3. Suppose K ⊂ L ⊂ M is a tower of number fields, and let a ∈ M. Then

Norm_{M/K}(a) = Norm_{L/K}(Norm_{M/L}(a)) and tr_{M/K}(a) = tr_{L/K}(tr_{M/L}(a)).

Proof. For the first equation, both sides are the product of σ_{i}(a), where σ_{i} runs through the embeddings of M into K. To see this, suppose σ : L → \overline{Q} fixes K. If σ′ is an extension of σ to M, and τ_{1}, …, τ_{d} are the embeddings of M into \overline{Q} that fix L, then σ′τ_{1}, …, σ′τ_{d} are exactly the extensions of σ to M. For the second statement, both sides are the sum of the σ_{i}(a).

The norm and trace down to Q of an algebraic integer a is an element of Z, because the minimal polynomial of a has integer coefficients, and the characteristic polynomial of a is a power of the minimal polynomial, as we saw in the proof of Proposition 2.4.2.

Proposition 2.4.4. Let K be a number field. The ring of integers O_{K} is a lattice in K, i.e., QO_{K} = K and O_{K} is an abelian group of rank [K : Q].

Proof. We saw in Lemma 2.3.11 that QO_{K} = K. Thus there exists a basis a_{1}, …, a_{n} for K, where each a_{i} is in O_{K}. Suppose that as x = ∑_{i=1}^{n} c_{i}a_{i} ∈ O_{K} varies over all elements of O_{K} the denominators of the coefficients c_{i} are arbitrarily large. Then subtracting off integer multiples of the a_{i}, we see that as x = ∑_{i=1}^{n} c_{i}a_{i} ∈ O_{K} varies over elements of O_{K} with c_{i} between 0 and 1, the denominators of the c_{i} are also arbitrarily large. This implies that there are infinitely many elements of O_{K} in the bounded subset

S = {c_{1}a_{1} + ⋯ + c_{n}a_{n} : c_{i} ∈ Q, 0 ≤ c_{i} ≤ 1} ⊂ K.

Thus for any ε > 0, there are elements a, b ∈ O_{K} such that the coefficients of a − b are all less than ε (otherwise the elements of O_{K} would all be a “distance” of least ε from each other, so only finitely many of them would fit in S).

As mentioned above, the norms of elements of O_{K} are integers. Since the norm of an element is the determinant of left multiplication by that element, the norm is a homogenous polynomial of degree n in the indeterminate coefficients c_{i}, which is 0 only on the element 0. If the c_{i} get arbitrarily small for elements of O_{K}, then the values of the norm polynomial get arbitrarily small, which would imply that there are elements of O_{K} with positive norm too small to be in Z, a contradiction. So the set S contains only finitely many elements of O_{K}. Thus the denominators of the c_{i} are bounded, so for some d, we have that O_{K} has finite index in A = \frac{1}{d}Za_{1} + ⋯ + \frac{1}{d}Za_{n}. Since A is isomorphic to Z^{n}, it follows from the structure theorem for finitely generated abelian groups that O_{K} is isomorphic as a Z-module to Z^{n}, as claimed.

Corollary 2.4.5. The ring of integers O_{K} of a number field is noetherian.

Proof. By Proposition 2.4.4, the ring O_{K} is finitely generated as a module over Z, so it is certainly finitely generated as a ring over Z. By Theorem 2.2.9, O_{K} is noetherian.

28 CHAPTER 2. BASIC COMMUTATIVE ALGEBRA

Unique Factorization of Ideals

Unique factorization into irreducible elements frequently fails for rings of integers of number fields. In this chapter we will deduce the most important basic property of the ring of integers O_{K} of an algebraic number, namely that every nonzero ideal factors uniquely as a products of prime ideals. Along the way, we will introduce fractional ideals and prove that they form a group under multiplication. The class group of O_{K} is the quotient of this group by the principal fractional ideals.

3.1 Dedekind Domains

Recall (Corollary 2.4.5) that we proved that the ring of integers O_{K} of a number field is noetherian. As we saw before using norms, the ring O_{K} is finitely generated as a module over Z, so it is certainly finitely generated as a ring over Z. By the Hilbert Basis Theorem, O_{K} is noetherian.

If R is an integral domain, the field of fractions Frac(R) of R is the field of all equivalence classes of formal quotients a/b, where a, b ∈ R with b ≠ 0, and a/b ∼ c/d if ad = bc. For example, the field of fractions of Z is Q and the field of fractions of Z[(1 + \sqrt{5})/2] is Q(\sqrt{5}). The field of fractions of the ring O_{K} of integers of a number field K is just the number field K.

Definition 3.1.1 (Integrally Closed). An integral domain R is integrally closed in its field of fractions if whenever α is in the field of fractions of R and α satisfies a monic polynomial f ∈ R[x], then α ∈ R.

Proposition 3.1.2. If K is any number field, then O_{K} is integrally closed. Also, the ring \overline{Z} of all algebraic integers is integrally closed.

Proof. We first prove that \overline{Z} is integrally closed. Suppose α ∈ \overline{Q} is integral over \overline{Z}, so there is a monic polynomial f(x) = x^{n} + a_{n−1}x^{n−1} + ⋯ + a_{1}x + a_{0} with a_{i} ∈ \overline{Z} and f(α) = 0. The a_{i} all lie in the ring of integers O_{K} of the number field K = Q(a_{0}, a_{1}, … a_{n−1}), and O_{K} is finitely generated as a Z-module, so Z[a_{0}, …, a_{n−1}] is finitely generated as a Z-module. Since f(α) = 0, we can write α^{n} as a Z[a_{0}, …, a_{n−1}]-linear combination of α^{i} for i < n, so the ring Z[a_{0}, …, a_{n−1}, α] is also finitely generated as a Z-module. Thus Z[α] is finitely generated as Z-module because it is a submodule of a finitely generated Z-module, which implies that c is integral over Z.

Suppose α ∈ K is integral over O_{K}. Then since \overline{Z} is integrally closed, α is an element of \overline{Z}, so α ∈ K ∩ \overline{Z} = O_{K}, as required.

Definition 3.1.3 (Dedekind Domain). An integral domain R is a Dedekind domain if it is noetherian, integrally closed in its field of fractions, and every nonzero prime ideal of R is maximal.

However, it is not a Dedekind domain because it is not an integral domain. The ring Z[\sqrt{5}] is not a Dedekind domain because it is not integrally closed in its field of fractions, as (1 + \sqrt{5})/2 is integrally over Z and lies in Q(\sqrt{5}), but not in Z[\sqrt{5}]. The ring Z is a Dedekind domain, as is any ring of integers O_{K} of a number field, as we will see below. Also, any field K is a Dedekind domain, since it is a domain, it is trivially integrally closed in itself, and there are no nonzero prime ideals so that condition that they be maximal is empty. The ring \overline{Z} is not noetherian, but it is integrally closed in its field of fraction, and every nonzero prime ideal is maximal.

Proposition 3.1.4. The ring of integers O_{K} of a number field is a Dedekind domain.

Proof. By Proposition 3.1.2, the ring O_{K} is integrally closed, and by Proposition 2.4.5 it is noetherian. Suppose that 𝔭 is a nonzero prime ideal of O_{K}. Let α ∈ 𝔭 be a nonzero element, and let f(x) ∈ Z[x] be the minimal polynomial of α. Then

f(α) = α^{n} + a_{n−1}α^{n−1} + ⋯ + a_{1}α + a_{0} = 0,

so a_{0} = −(α^{n} + a_{n−1}α^{n−1} + ⋯ + a_{1}α) ∈ 𝔭. Since f is irreducible, a_{0} is a nonzero element of Z that lies in 𝔭. Every element of the finitely generated abelian group O_{K}/𝔭 is killed by a_{0}, so O_{K}/𝔭 is a finite set. Since 𝔭 is prime, O_{K}/𝔭 is an integral domain. Every finite integral domain is a field, so 𝔭 is maximal, which completes the proof.

If I and J are ideals in a ring R, the product IJ is the ideal generated by all products of elements in I with elements in J:

IJ = (ab : a ∈ I, b ∈ J) ⊂ R.

Note that the set of all products ab, with a ∈ I and b ∈ J, need not be an ideal, so it is important to take the ideal generated by that set.

Definition 3.1.5 (Fractional Ideal). A fractional ideal is a nonzero O_{K}-submodule I of K that is finitely generated as an O_{K}-module.

To avoid confusion, we will sometimes call a genuine ideal I ⊂ O_{K} an integral ideal. Also, since fractional ideals are finitely generated, we can clear denominators of a generating set to see that every fractional ideal is of the form

aI = {ab : b ∈ I}

for some a ∈ K and integral ideal I ⊂ O_{K}.

For example, the set \frac{1}{2}Z of rational numbers with denominator 1 or 2 is a fractional ideal of Z.

Theorem 3.1.6. The set of fractional ideals of a Dedekind domain R is an abelian group under ideal multiplication with identity element O_{K}.

Note that fractional ideals are nonzero by definition, so it’s not necessary to write “nonzero fractional ideals” in the statement of the theorem. Before proving Theorem 3.1.6 we prove a lemma. For the rest of this section O_{K} is the ring of integers of a number field K.

Definition 3.1.7 (Divides for Ideals). Suppose that I, J are ideals of O_{K}. Then we say that I divides J if I ⊃ J.

To see that this notion of divides is sensible, suppose K = Q, so O_{K} = Z. Then I = (n) and J = (m) for some integer n and m, and I divides J means that (n) ⊃ (m), i.e., that there exists an integer c such that m = cn, which exactly means that n divides m, as expected.

Lemma 3.1.8. Suppose I is a nonzero ideal of O_{K}. Then there exist prime ideals 𝔭_{1}, …, 𝔭_{n} such that 𝔭_{1} · 𝔭_{2} ⋯ 𝔭_{n} ⊂ I, i.e., I divides a product of prime ideals.

Proof. Let S be the set of nonzero ideals of O_{K} that do satisfy the conclusion of the lemma. The key idea is to use that O_{K} is noetherian to show that S is the empty set. If S is nonempty, then O_{K} is noetherian, so there is an ideal I ∈ S that is maximal as an element of S. If I were prime, then I would trivially contain a product of primes, so we may assume that I is not prime. Thus there exists a, b ∈ O_{K} such that ab ∈ I but a ∉ I and b ∉ I. Let J_{1} = I + (a) and J_{2} = I + (b). Then neither J_{1} nor J_{2} is in S, since I is maximal, so both J_{1} and J_{2} contain a product of prime ideals, say 𝔭_{1} ⋯ 𝔭_{r} ⊂ J_{1} and 𝔮_{1} ⋯ 𝔮_{s} ⊂ J_{2}. Then

𝔭_{1} ⋯ 𝔭_{r} · 𝔮_{1} ⋯ 𝔮_{s} ⊂ J_{1}J_{2} = I^{2} + I(b) + (a)I + (ab) ⊂ I,

so I contains a product of primes. This is a contradiction, since we assumed I ∈ S. Thus S is empty, which completes the proof.

We are now ready to prove the theorem.

Proof of Theorem 3.1.6. The product of two fractional ideals is again finitely generated, so it is a fractional ideal, and IO_{K} = O_{K} for any nonzero ideal I, so to prove that the set of fractional ideals under multiplication is a group it suffices to show the existence of inverses. We will first prove that if 𝔭 is a prime ideal, then 𝔭 has an inverse, then we will prove that all nonzero integral ideals have inverses, and finally observe that every fractional ideal has an inverse. (Note: Once we know that the set of fractional ideals is a group, it will follows that inverses are unique; until then we will be careful to write “an” instead of “the”.)

Suppose 𝔭 is a nonzero prime ideal of O_{K}. We will show that the O_{K}-module

I = {a ∈ K : a𝔭 ⊂ O_{K}}

is a fractional ideal of O_{K} such that I𝔭 = O_{K}, so that I is an inverse of 𝔭.

For the rest of the proof, fix a nonzero element b ∈ 𝔭. Since I is an O_{K}-module, bI ⊂ O_{K} is an O_{K} ideal, hence I is a fractional ideal. Since O_{K} ⊂ I we have 𝔭 ⊂ I𝔭 ⊂ O_{K}, hence since 𝔭 is maximal, either 𝔭 = I𝔭 or I𝔭 = O_{K}. If I𝔭 = O_{K}, we are done since then I is an inverse of 𝔭. Thus suppose that I𝔭 = 𝔭. Our strategy is to show that there is some d ∈ I, with d ∉ O_{K}. Since I𝔭 = 𝔭, such a d would leave 𝔭 invariant, i.e., d𝔭 ⊂ 𝔭. Since 𝔭 is an O_{K}-module we will see that it will follow that d ∈ O_{K}, a contradiction.

By Lemma 3.1.8, we can choose a product 𝔭_{1}, …, 𝔭_{m}, with m minimal, with

𝔭_{1}𝔭_{2} ⋯ 𝔭_{m} ⊂ (b) ⊂ 𝔭.

If no 𝔭_{i} is contained in 𝔭, then we can choose for each i an a_{i} ∈ 𝔭_{i} with a_{i} ∉ 𝔭; but then ∏ a_{i} ∈ 𝔭, which contradicts that 𝔭 is a prime ideal. Thus some 𝔭_{i}, say 𝔭_{1}, is contained in 𝔭, which implies that 𝔭_{1} = 𝔭 since every nonzero prime ideal is maximal. Because m is minimal, 𝔭_{2} ⋯ 𝔭_{m} is not a subset of (b), so there exists c ∈ 𝔭_{2} ⋯ 𝔭_{m} that does not lie in (b). Then 𝔭(c) ⊂ (b), so by definition of I we have d = c/b ∈ I. However, d ∉ O_{K}, since if it were then c would be in (b). We have thus found our element d ∈ I that does not lie in O_{K}. To finish the proof that 𝔭 has an inverse, we observe that d preserves the O_{K}-module 𝔭, and is hence in O_{K}, a contradiction. More precisely, if b_{1}, …, b_{n} is a basis for 𝔭 as a Z-module, then the action of d on 𝔭 is given by a matrix with entries in Z, so the minimal polynomial of d has coefficients in Z (because d satisfies the minimal polynomial of ℓ_{d}, by the Cayley-Hamilton theorem). This implies that d is integral over Z, so d ∈ O_{K}, since O_{K} is integrally closed by Proposition 3.1.2. (Note how this argument depends strongly on the fact that O_{K} is integrally closed!)

So far we have proved that if 𝔭 is a prime ideal of O_{K}, then

𝔭^{−1} = {a ∈ K : a𝔭 ⊂ O_{K}}

is the inverse of 𝔭 in the monoid of nonzero fractional ideals of O_{K}. As mentioned after Definition 3.1.5, every nonzero fractional ideal is of the form aI for a ∈ K and I an integral ideal, so since (a) has inverse (1/a), it suffices to show that every integral ideal I has an inverse. If not, then there is a nonzero integral ideal I that is maximal among all nonzero integral ideals that do not have an inverse. Every ideal is contained in a maximal ideal, so there is a nonzero prime ideal 𝔭 such that I ⊂ 𝔭. Multiplying both sides of this inclusion by 𝔭^{−1} and using that O_{K} ⊂ 𝔭^{−1}, we see that

I ⊂ 𝔭^{−1}I ⊂ 𝔭^{−1}𝔭 = O_{K}.

If I = 𝔭^{−1}I, then arguing as in the proof that 𝔭^{−1} is an inverse of 𝔭, we see that each element of 𝔭^{−1} preserves the finitely generated Z-module I and is hence integral. But then 𝔭^{−1} ⊂ O_{K}, which, upon multiplying both sides by 𝔭, implies that O_{K} = 𝔭𝔭^{−1} ⊂ 𝔭, a contradiction. Thus I ≠ 𝔭^{−1}I. Because I is maximal among ideals that do not have an inverse, the ideal 𝔭^{−1}I does have an inverse J. Then 𝔭^{−1}J is an inverse of I, since (J𝔭^{−1})I = J(𝔭^{−1}I) = O_{K}.

We can finally deduce the crucial Theorem 3.1.10, which will allow us to show that any nonzero ideal of a Dedekind domain can be expressed uniquely as a product of primes (up to order). Thus unique factorization holds for ideals in a Dedekind domain, and it is this unique factorization that initially motivated the introduction of ideals to mathematics over a century ago.

Theorem 3.1.9. Suppose I is a nonzero integral ideal of O_{K}. Then I can be written as a product

I = 𝔭_{1} ⋯ 𝔭_{n}

of prime ideals of O_{K}, and this representation is unique up to order.

Proof. Suppose I is an ideal that is maximal among the set of all ideals in O_{K} that can not be written as a product of primes. Every ideal is contained in a maximal ideal, so I is contained in a nonzero prime ideal 𝔭. If I𝔭^{−1} = I, then by Theorem 3.1.6 we can cancel I from both sides of this equation to see that 𝔭^{−1} = O_{K}, a contradiction. Since O_{K} ⊂ 𝔭^{−1}, we have I ⊂ I𝔭^{−1}, and by the above observation I is strictly contained in I𝔭^{−1}. By our maximality assumption on I, there are maximal ideals 𝔭_{1}, …, 𝔭_{n} such that I𝔭^{−1} = 𝔭_{1} ⋯ 𝔭_{n}. Then I = 𝔭·𝔭_{1} ⋯ 𝔭_{n}, a contradiction. Thus every ideal can be written as a product of primes.

Suppose 𝔭_{1} ⋯ 𝔭_{n} = 𝔮_{1} ⋯ 𝔮_{m}. If no 𝔮_{i} is contained in 𝔭_{1}, then for each i there is an a_{i} ∈ 𝔮_{i} such that a_{i} ∉ 𝔭_{1}. But the product of the a_{i} is in the 𝔭_{1} ⋯ 𝔭_{n}, which is a subset of 𝔭_{1}, which contradicts that 𝔭_{1} is a prime ideal. Thus 𝔮_{i} = 𝔭_{1} for some i. We can thus cancel 𝔮_{i} and 𝔭_{1} from both sides of the equation by multiplying both sides by the inverse. Repeating this argument finishes the proof of uniqueness.

Theorem 3.1.10. If I is a fractional ideal of O_{K} then there exists prime ideals 𝔭_{1}, …, 𝔭_{n} and 𝔮_{1}, …, 𝔮_{m}, unique up to order, such that

I = (𝔭_{1} ⋯ 𝔭_{n})(𝔮_{1} ⋯ 𝔮_{m})^{−1}.

Proof. We have I = (a/b)J for some a, b ∈ O_{K} and integral ideal J. Applying Theorem 3.1.10 to (a), (b), and J gives an expression as claimed. For uniqueness, if one has two such product expressions, multiply through by the denominators and use the uniqueness part of Theorem 3.1.10 Example 3.1.11. The ring of integers of K = Q(\sqrt{−6}) is O_{K} = Z[\sqrt{−6}]. We have

6 = −\sqrt{−6}\sqrt{−6} = 2 · 3.

If ab = \sqrt{−6}, with a, b ∈ O_{K} and neither a unit, then Norm(a) Norm(b) = 6, so without loss Norm(a) = 2 and Norm(b) = 3. If a = c + d\sqrt{−6}, then Norm(a) = c^{2} + 6d^{2}; since the equation c^{2} + 6d^{2} = 2 has no solution with c, d ∈ Z, there is no element in O_{K} with norm 2, so \sqrt{−6} is irreducible. Also, \sqrt{−6} is not a unit times 2 or times 3, since again the norms would not match up. Thus 6 can not be written uniquely as a product of irreducibles in O_{K}. Theorem 3.1.9, however, implies that the principal ideal (6) can, however, be written uniquely as a product of prime ideals. An explicit decomposition is

(6) = (2, 2 + \sqrt{−6})^{2} · (3, 3 + \sqrt{−6})^{2},  (3.1.1)

where each of the ideals (2, 2 + \sqrt{−6}) and (3, 3 + \sqrt{−6}) is prime. We will discuss algorithms for computing such a decomposition in detail in Chapter 5. The first idea is to write (6) = (2)(3), and hence reduce to the case of writing the (p), for p ∈ Z prime, as a product of primes. Next one decomposes the finite (as a set) ring O_{K}/pO_{K}.

The factorization (3.1.1) can be compute using Magma (see [BCP97]) as follows:

   > R<x> := PolynomialRing(RationalField());
   > K := NumberField(x^2+6);
   > OK := RingOfIntegers(K);
   > [K!b : b in Basis(OK)];
   [ 1,
     K.1]    // this is sqrt(-6)
   > Factorization(6*OK);
   [
       <Prime Ideal of OK
       Two element generators:
           [2, 0]
           [2, 1], 2>,
       <Prime Ideal of OK
       Two element generators:
           [3, 0]
           [3, 1], 2>
   ]

The factorization (3.1.1) can also be computed using PARI (see [ABC^{+}]).

   ? k=nfinit(x^2+6);
   ? idealfactor(k, 6)
   [[2, [0, 1]~, 2, 1, [0, 1]~] 2]
   [[3, [0, 1]~, 2, 1, [0, 1]~] 2]
   ? k.zk
   [1, x]

The output of PARI is a list of two prime ideals with exponent 2. A prime ideal is represented by a 5-tuple [p, a, e, f, b], where the ideal is pO_{K} + αO_{K}, where α = ∑ a_{i}ω_{i}, where ω_{1}, …, ω_{n} are a basis for O_{K} (as output by k.zk).

36 CHAPTER 3. UNIQUE FACTORIZATION OF IDEALS

Computing

4.1 Algorithms for Algebraic Number Theory

The main algorithmic goals in algebraic number theory are to solve the following problems quickly:

• Ring of integers: Given a number field K, specified by an irreducible polynomial with coefficients in Q, compute the ring of integers O_{K}.

• Decomposition of primes: Given a prime number p ∈ Z, find the decomposition of the ideal pO_{K} as a product of prime ideals of O_{K}.

• Class group: Compute the class group of K, i.e., the group of equivalence classes of nonzero ideals of O_{K}, where I and J are equivalent if there exists α ∈ O_{K} such that IJ^{−1} = (α).

• Units: Compute generators for the group U_{K} of units of O_{K}.

This chapter is about how to compute the first two using a computer.

The best overall reference for algorithms for doing basic algebraic number theory computations is [Coh93]. This chapter is not about algorithms for solving the above problems; instead is a tour of the two most popular programs for doing algebraic number theory computations, Magma and PARI. These programs are both available to use via the web page

                 http://modular.fas.harvard.edu/calc

The following two sections illustrate what we’ve done so far in this book, and a little of where we are going. First we describe Magma then PARI.

4.2 Magma

This section is a first introduction to Magma for algebraic number theory. Magma is a general purpose package for doing algebraic number theory computations, but it is closed source and not free. Its development and maintenance at the University of Sydney is paid for by grants and subscriptions. I have visited Sydney three times to work with them, and I also wrote the modular forms parts of MAGMA.

The documentation for Magma is available here:

       http://magma.maths.usyd.edu.au/magma/htmlhelp/MAGMA.htm

Much of the algebraic number theory documentation is here:

      http://magma.maths.usyd.edu.au/magma/htmlhelp/text711.htm

4.2.1 Smith Normal Form

In Section 2.1 we learned about Smith normal forms of matrices.

> A := Matrix(2,2,[1,2,3,4]);
> A;
[1 2]
[3 4]
> SmithForm(A);
[1 0]
[0 2]
[ 1  0]
[-1  1]
[-1  2]
[ 1 -1]

As you can see, Magma computed the Smith form, which is ( \begin{matrix}1 & 0 \\ 0 & 2 \end{matrix} ). What are the other two matrices it output? To see what any Magma command does, type the command by itself with no arguments followed by a semicolon.

> SmithForm;
Intrinsic 'SmithForm'
Signatures:
    (<Mtrx> X) -> Mtrx, AlgMatElt, AlgMatElt
    [
        k: RngIntElt,
        NormType: MonStgElt,
        Partial: BoolElt,
        RightInverse: BoolElt
    ]
        The smith form S of X, together with unimodular matrices
        P and Q such that P * X * Q = S.

SmithForm returns three arguments, a matrix and matrices P and Q that transform the input matrix to Smith normal form. The syntax to “receive” three return arguments is natural, but uncommon in other programming languages:

> S, P, Q := SmithForm(A);
> S;
[1 0]
[0 2]
> P;
[ 1  0]
[-1  1]
> Q;
[-1  2]
[ 1 -1]
> P*A*Q;
[1 0]
[0 2]

Next, let’s test the limits. We make a 10 × 10 integer matrix with random entries between 0 and 100, and compute its Smith normal form.

> A := Matrix(10,10,[Random(100) : i in [1..100]]);
> time B := SmithForm(A);
Time: 0.000

Let’s print the first row of A, the first and last row of B, and the diagonal of B:

> A[1];
( 4 48 84  3 58 61 53 26  9  5)
> B[1];
(1 0 0 0 0 0 0 0 0 0)
> B[10];
(0 0 0 0 0 0 0 0 0 51805501538039733)
> [B[i,i] : i in [1..10]];
[ 1, 1, 1, 1, 1, 1, 1, 1, 1, 51805501538039733 ]

Let’s see how big we have to make A in order to slow down Magma V2.11-10. These timings below are on an Opteron 248 server.

> n := 50; A := Matrix(n,n,[Random(100) : i in [1..n^2]]);
> time B := SmithForm(A);
Time: 0.020
> n := 100; A := Matrix(n,n,[Random(100) : i in [1..n^2]]);
> time B := SmithForm(A);
Time: 0.210
> n := 150; A := Matrix(n,n,[Random(100) : i in [1..n^2]]);

> time B := SmithForm(A);
Time: 1.240
> n := 200; A := Matrix(n,n,[Random(100) : i in [1..n^2]]);
> time B := SmithForm(A);
Time: 4.920

Remark 4.2.1. The same timings on a 1.8Ghz Pentium M notebook are 0.030, 0.410, 2.910, 10.600, respectively, so about twice as long. On a G5 XServe (with Magma V2.11-2), they are 0.060, 0.640, 3.460, 12.270, respectively, which is nearly three times as long as the Opteron (MAGMA seems very poorly optimized for the G5, so watch out).

4.2.2 Number Fields

To define a number field, we first define the polynomial ring over the rational numbers. The notation R<x> below means “the variable x is the generator of the polynomial ring”. We then pass an irreducible polynomial ot the NumberField function.

> R<x> := PolynomialRing(RationalField());
> K<a> := NumberField(x^3-2);   // a is the image of x in Q[x]/(x^3-2)
> a;
a
> a^3;
2

4.2.3 Relative Extensions

If K is a number field, and f(x) ∈ K[x] is an irreducible polynomial, and α is a root of f, then L = K(α) ≅ K[x]/(f) is a relative extension of K. Magma can compute with relative extensions, and also find the corresponding absolute extension of Q, i.e., find a polynomial g such that K[x]/(f) ≅ Q[x]/(g).

The following illustrates defining L = K(\sqrt{a}), where K = Q(a) and a = \sqrt[3]{2}.

> R<x> := PolynomialRing(RationalField());
> K<a> := NumberField(x^3-2);
> S<y> := PolynomialRing(K);
> L<b> := NumberField(y^2-a);
> L;
Number Field with defining polynomial y^2 - a over K
> b^2;
a
> b^6;
2
> AbsoluteField(L);
Number Field with defining polynomial x^6 - 2 over the Rational
Field

4.2.4 Rings of integers

Magma can compute rings of integers of number fields.

> R<x> := PolynomialRing(RationalField());
> K<a> := NumberField(x^3-2);   // a is the image of x in Q[x]/(x^3-2)
> RingOfIntegers(K);
Maximal Equation Order with defining polynomial x^3 - 2 over ZZ

Sometimes the ring of integers of Q(a) is not Z[a]. First a simple example, then a more complicated one:

> K<a> := NumberField(2*x^2-3);   // doesn't have to be monic
> 2*a^2 - 3;
0
> K;
Number Field with defining polynomial x^2 - 3/2 over the Rational
Field
> O := RingOfIntegers(K);
> O;
Maximal Order of Equation Order with defining polynomial 2*x^2 -
    3 over ZZ

Printing O_{K} gave us no real information. Instead we request a basis for O_{K}:

> Basis(O);
[
    O.1,
    O.2
]

Again we get no information. To get a basis for O_{K} in terms of a = \sqrt{3/2}, we use Magma’s coercion operator !:

> [K!x : x in Basis(O)];
[
    1,
    2*a
]

Thus the ring of integers has basis 1 and 2\sqrt{3/2} = \sqrt{6} as a Z-module.

Here are some more examples, which we’ve reformated for publication.

> procedure ints(f)   // (procedures don't return anything; functions do)
      K<a> := NumberField(f);
      O := RingOfIntegers(K);
      print [K!z : z in Basis(O)];

  end procedure;
> ints(x^2-5);
[
    1,  1/2*(a + 1)
]
> ints(x^2+5);
[
    1,  a
]
> ints(x^3-17);
[
    1,  a,  1/3*(a^2 + 2*a + 1)
]
> ints(CyclotomicPolynomial(7));
[
    1, a, a^2, a^3, a^4, a^5
]
> ints(x^5+&+[Random(10)*x^i : i in [0..4]]);  // RANDOM
[
    1, a, a^2, a^3, a^4
]
> ints(x^5+&+[Random(10)*x^i : i in [0..4]]);  // RANDOM
[
    1, a, a^2,  1/2*(a^3 + a),
    1/16*(a^4 + 7*a^3 + 11*a^2 + 7*a + 14)
]

Lets find out how high of a degree Magma can easily deal with.

> d := 10; time ints(&+[i*x^i + 2*x+1: i in [0..d]]);
[
    1, 10*a, ...
]
Time: 0.030
> d := 15; time ints(&+[i*x^i + 2*x+1: i in [0..d]]);
...
Time: 0.160
> d := 20; time ints(&+[i*x^i + 2*x+1: i in [0..d]]);
...
Time: 1.610
> d := 21; time ints(&+[i*x^i + 2*x+1: i in [0..d]]);
...
Time: 0.640
> d := 22; time ints(&+[i*x^i + 2*x+1: i in [0..d]]);
...

Time: 3.510
> d := 23; time ints(&+[i*x^i + 2*x+1: i in [0..d]]);
...
Time: 12.020
> d := 24; time ints(&+[i*x^i + 2*x+1: i in [0..d]]);
...
Time: 34.480
> d := 24; time ints(&+[i*x^i + 2*x+1: i in [0..d]]);
...
Time: 5.580 -- the timings very *drastically* on the same problem,
because presumably some randomized algorithms are used.
> d := 25; time ints(&+[i*x^i + 2*x+1: i in [0..d]]);
...
Time: 70.350
> d := 30; time ints(&+[i*x^i + 2*x+1: i in [0..d]]);
Time: 136.740

Recall that an order is a subring of O_{K} of finite index as an additive group. We can also define orders in rings of integers in Magma.

> R<x> := PolynomialRing(RationalField());
> K<a> := NumberField(x^3-2);
> O := Order([2*a]);
> O;
Transformation of Order over
Equation Order with defining polynomial x^3 - 2 over ZZ
Transformation Matrix:
[1 0 0]
[0 2 0]
[0 0 4]
> OK := RingOfIntegers(K);
> Index(OK,O);
8

4.2.5 Ideals

We can construct ideals in rings of integers of number fields in Magma as illustrated.

> R<x> := PolynomialRing(RationalField());
> K<a> := NumberField(x^2-5);
> OK := RingOfIntegers(K);
> I := 7*OK;
> I;
Principal Ideal of OK
Generator:

    [7, 0]
> J := (OK!a)*OK;    // the ! computes the natural image of a in OK
> J;
Principal Ideal of OK
Generator:
    [-1, 2]
> Generators(J);
[    [-1, 2]  ]
> K!Generators(J)[1];
a
> I*J;
Principal Ideal of OK
Generator:
    [-7, 14]
> J*I;
Principal Ideal of OK
Generator:
    [-7, 14]
> I+J;
Principal Ideal of OK
Generator:
    [1, 0]
>
> Factorization(I);
[
    <Principal Prime Ideal of OK
    Generator:
        [7, 0], 1>
]
> Factorization(3*OK);
[
    <Principal Prime Ideal of OK
    Generator:
        [3, 0], 1>
]
> Factorization(5*OK);
[
    <Prime Ideal of OK
    Two element generators:
        [5, 0]
        [4, 2], 2>
]
> Factorization(11*OK);

[
    <Prime Ideal of OK
    Two element generators:
        [11, 0]
        [14, 2], 1>,
    <Prime Ideal of OK
    Two element generators:
        [11, 0]
        [17, 2], 1>
]

We can even work with fractional ideals in Magma.

> K<a> := NumberField(x^2-5);
> OK := RingOfIntegers(K);
> I := 7*OK;
> J := (OK!a)*OK;
> M := I/J;
> M;
Fractional Principal Ideal of OK
Generator:
    -7/5*OK.1 + 14/5*OK.2
> Factorization(M);
[
    <Prime Ideal of OK
    Two element generators:
        [5, 0]
        [4, 2], -1>,
    <Principal Prime Ideal of OK
    Generator:
        [7, 0], 1>
]

4.3 Using PARI

PARI is freely available (under the GPL) from

                   http://pari.math.u-bordeaux.fr/

The above website describes PARI thus:

PARI/GP is a widely used computer algebra system designed for fast computations in number theory (factorizations, algebraic number theory, elliptic curves...), but also contains a large number of other useful functions to compute with mathematical entities such as matrices, polynomials, power series, algebraic numbers etc., and a lot of transcendental functions. PARI is also available as a C library to allow for faster computations.

Originally developed by Henri Cohen and his co-workers (Universit Bordeaux I, France), PARI is now under the GPL and maintained by Karim Belabas (Universit Paris XI, France) with the help of many volunteer contributors.

The sections below are very similar to the Magma sections above, except they address PARI instead of Magma. We use Pari Version 2.2.9-alpha for all examples below, and all timings are on an Opteron 248.

4.3.1 Smith Normal Form

In Section 2.1 we learned about Smith normal forms of matrices. We create matrices in PARI by giving the entries of each row separated by a ;.

? A = [1,2;3,4];
? A
[1 2]
[3 4]
? matsnf(A)
[2, 1]

The matsnf function computes the diagonal entries of the Smith normal form of a matrix. To get documentation about a function PARI, type ? followed by the function name.

? ?matsnf
matsnf(x,{flag=0}): Smith normal form (i.e. elementary divisors)
of the matrix x, expressed as a vector d. Binary digits of flag
mean 1: returns [u,v,d] where d=u*x*v, otherwise only the diagonal d
        is returned,
     2: allow polynomial entries, otherwise assume x is integral,
     4: removes all information corresponding to entries equal
        to 1 in d.

Next, let’s test the limits. To time code in PARI use the gettime function:

? ?gettime
gettime(): time (in milliseconds) since last call to gettime.

If we divide the result of gettime by 1000 we get the time in seconds.

We make a 10 × 10 integer matrix with random entries between 0 and 100, and compute its Smith normal form.

> n=10;A=matrix(n,n,i,j,random(101));gettime;B=matsnf(A);gettime/1000.0
%7 = 0.0010000000000000000000000000000000000000

Let’s see how big we have to make A in order to slow down PARI 2.2.9-alpha. These timings below are on an Opteron 248 server.

? n=50;A=matrix(n,n,i,j,random(101));gettime;B=matsnf(A);gettime/1000.0
0.058
? n=100;A=matrix(n,n,i,j,random(101));gettime;B=matsnf(A);gettime/1000.0
1.3920000000000000000000000000000000000
? n=150;A=matrix(n,n,i,j,random(101));gettime;B=matsnf(A);gettime/1000.0
30.731000000000000000000000000000000000
? n=200;A=matrix(n,n,i,j,random(101));gettime;B=matsnf(A);gettime/1000.0
  *** matsnf: the PARI stack overflows !
  current stack size: 8000000 (7.629 Mbytes)
  [hint] you can increase GP stack with allocatemem()
? allocatemem(); allocatemem(); allocatemem()
  *** allocatemem: Warning: doubling stack size; new stack = 16000000 (15.259 Mbytes).
? n=200;A=matrix(n,n,i,j,random(101));gettime;B=matsnf(A);gettime/1000.0
35.742000000000000000000000000000000000

Remark 4.3.1. The same timings on a 1.8Ghz Pentium M notebook are 0.189, 5.489, 48.185, 170.21, respectively. On a G5 XServe, they are 0.19, 5.70, 41.95, 153.98, respectively.

Recall that the timings for the same computation on the Opteron under Magma are 0.020, 0.210, 1.240, 4.290, which is vastly faster than PARI.

4.3.2 Number Fields

There are several ways to define number fields in PARI. The simplest is to give a monic integral polynomial as input to the nfinit function.

? K = nfinit(x^3-2);

Number fields do not print as nicely in PARI as in Magma:

? K
K
%12 = [x^3 - 2, [1, 1], -108, 1, [[1, 1.2599210498948731647672106072782283506,
 ... and tons more numbers! ...

Confusingly, elements of number fields can be represented in PARI in many different ways. I refer you to the documentation for PARI (§3.6). A simple way is as polymods:

? a = Mod(x, x^3-2)  \\ think of this as x in Q[x]/(x^3-2).
? a
Mod(x, x^3 - 2)
? a^3
Mod(2, x^3 - 2)

4.3.3 Rings of integers

To compute the ring of integers of a number field in PARI, use the nfbasis command.

? ?nfbasis
nfbasis(x,{flag=0},{p}): integral basis of the field Q[a], where a is
a root of the polynomial x, using the round 4 algorithm. Second and
third args are optional.   Binary digits of flag means:
   1: assume that no square of a prime>primelimit divides the
      discriminant of x,
   2: use round 2 algorithm instead.
If present, p provides the matrix of a partial factorization of the
discriminant of x, useful if one wants only an order maximal at
certain primes only.

For example, we compute the ring of integers of Q(\sqrt[3]{2}).

? nfbasis(x^3-2)
[1, x, x^2]
? nfbasis(2*x^2-3)
[1, 2*x]

Here are some more examples, which we’ve reformated for publication.

> nfbasis(x^2-5)
[1, 1/2*x + 1/2]
? nfbasis(x^3-17)
[1, x, 1/3*x^2 - 1/3*x + 1/3]
? nfbasis(polcyclo(7))
[1, x, x^2, x^3, x^4, x^5]
? d=10; f=sum(i=0,d,i*x^i+2*x+1); gettime; nfbasis(f); gettime/1000.0
0.011000000000000000000000000000000000000
? d=15; f=sum(i=0,d,i*x^i+2*x+1); gettime; nfbasis(f); gettime/1000.0
0.027000000000000000000000000000000000000
? d=20; f=sum(i=0,d,i*x^i+2*x+1); gettime; nfbasis(f); gettime/1000.0
1.6690000000000000000000000000000000000
? d=20; f=sum(i=0,d,i*x^i+2*x+1); gettime; nfbasis(f); gettime/1000.0
1.6640000000000000000000000000000000000
? d=21; f=sum(i=0,d,i*x^i+2*x+1); gettime; nfbasis(f); gettime/1000.0
0.080000000000000000000000000000000000000
? d=22; f=sum(i=0,d,i*x^i+2*x+1); gettime; nfbasis(f); gettime/1000.0
1.5000000000000000000000000000000000000
? d=23; f=sum(i=0,d,i*x^i+2*x+1); gettime; nfbasis(f); gettime/1000.0
12.288000000000000000000000000000000000

? d=24; f=sum(i=0,d,i*x^i+2*x+1); gettime; nfbasis(f); gettime/1000.0
1.6380000000000000000000000000000000000
? d=25; f=sum(i=0,d,i*x^i+2*x+1); gettime; nfbasis(f); gettime/1000.0
38.141000000000000000000000000000000000
? d=30; f=sum(i=0,d,i*x^i+2*x+1); gettime; nfbasis(f); gettime/1000.0
33.423000000000000000000000000000000000
? d=30; f=sum(i=0,d,i*x^i+2*x+1); gettime; nfbasis(f); gettime/1000.0
33.066000000000000000000000000000000000  \\ doesn't vary much

Lets find out how high of a degree PARI can easily deal with.

Recall that the timing in Magma for computing O_{K} for d = 30 was 136.740 seconds, which is four times as long as the 33 second timing of PARI.^{1} Thus for the fields considered above, computation of O_{K} in PARI is faster than in MAGMA. Sometimes one system is much better than another, and it is not clear a priori which will be better.

4.3.4 Ideals

In PARI ideals can be represented in several ways. For example, to construct a principal ideal, give the generator. There is no ideal data type, but you can give data that defines an ideal, e.g., an alement to define a principal ideal, to functions that take ideals as input.

The following examples illustrate basic arithmetic with ideals and factorization of ideals.

? a = Mod(x, x^2-5)
%41 = Mod(x, x^2 - 5)
? nf = nfinit(x^2-5);
? idealadd(nf, 5*a, 10*a)
%44 =
[25 15]
[ 0  5]

The output of idealadd is a 2-column matrix, whose columns represent elements of K on the integral basis for O_{K} output by nfbasis. These two elements generate the ideal as an O_{K}-module. We will prove later (see Prop. 6.3.2) that every ideal can be generated by 2 elements.

Note that fractional ideals are also allowed:

1I onced discussed timings of PARI versus Magma with John Cannon, who is the director of Magma. He commented that in some cases PARI implicitly assumes unproven conjectures, e.g., the Riemann Hypothesis, in order to get such fast algorithms, whereas the philosophy in Magma is to not assume conjectures unless one explicitly asks it to.

? idealadd(nf, a/5, 10*a)
%45 =
[1 3/5]
[0 1/5]

We can also factor an ideal as a product of prime ideals. The output is an arrays of pairs, a prime ideal and its exponent. These ideals are represented in yet another way, as a 5-tuple [p, a, e, f, b], where a is a vector of integers. Such a tuple corresponds to the ideal pO_{K} + αO_{K}, where α = ∑ a_{i}ω_{i}, and the ω_{i} are the basis output by nfbasis. Explaining e, f, b requires ideas that we have not yet introduced (ramification, inertia degrees, etc.) Here are some examples:

? nf = nfinit(x^2-5);
? idealfactor(nf, 7)
%46 =
[[7, [7, 0]~, 1, 2, [1, 0]~] 1]
? idealfactor(nf, 3)
%47 =
[[3, [3, 0]~, 1, 2, [1, 0]~] 1]
? idealfactor(nf, 5)
%48 =
[[5, [1, 2]~, 2, 1, [1, 2]~] 2]
? idealfactor(nf, 11)
%49 =
[[11, [-3, 2]~, 1, 1, [5, 2]~] 1]
[[11, [5, 2]~, 1, 1, [-3, 2]~] 1]

We can even factor fractional ideals:

? idealfactor(nf, 1/11)
%50 =
[[11, [-3, 2]~, 1, 1, [5, 2]~] -1]
[[11, [5, 2]~, 1, 1, [-3, 2]~] -1]

Factoring Primes

Let p be a prime and O_{K} the ring of integers of a number field. This chapter is about how to write pO_{K} as a product of prime ideals of O_{K}. Paradoxically, computing the explicit prime ideal factorization of pO_{K} is easier than computing O_{K}.

5.1 The Problem

A diagram from [LL93].

“The obvious mathematical breakthrough would be development of an easy way to factor large prime numbers.”

– Bill Gates, The Road Ahead, 1st ed., pg 265

Bill Gates meant^{1} factoring products of two primes, which would break the RSA cryptosystem (see e.g. [Ste, §3.2]). However, perhaps he really meant what he said: then we might imagine that he meant factorization of primes of Z in rings of integers of number fields. For example, 2^{16} + 1 = 65537 is a “large” prime, and in Z[i] we have (65537) = (65537, 2^{8} + i) · (65537, 2^{8} − i).

5.1.1 Geomtric Intuition

Let K = Q(α) be a number field, and let O_{K} be the ring of integers of K. To employ our geometric intuition, as the Lenstras did on the cover of [LL93], it is helpful to view O_{K} as a one-dimensional scheme

X = Spec(O_{K}) = { all prime ideals of O_{K} }

over

Y = Spec(Z) = {(0)} ∪ {pZ : p ∈ Z_{>0} is prime }.

There is a natural map π : X → Y that sends a prime ideal 𝔭 ∈ X to 𝔭 ∩ Z ∈ Y. For example, if

𝔭 = (65537, 2^{8} + i) ⊂ Z[i],

then 𝔭 ∩ Z = (65537). For more on this viewpoint, see [Har77] and [EH00, Ch. 2].

If p ∈ Z is a prime number, then the ideal pO_{K} of O_{K} factors uniquely as a product ∏ 𝔭_{i}^{e_{i}}, where the 𝔭_{i} are maximal ideals of O_{K}. We may imagine the decomposition of pO_{K} into prime ideals geometrically as the fiber π^{−1}(pZ), where the exponents e_{i} are the multiplicities of the fibers. Notice that the elements of π^{−1}(pZ) are the prime ideals of O_{K} that contain p, i.e., the primes that divide pO_{K}.

This chapter is about how to compute the 𝔭_{i} and e_{i}.

5.1.2 Examples

The following Magma session shows the commands needed to compute the factorization of pO_{K} in Magma for K the number field defined by a root of x^{5} + 7x^{4} + 3x^{2} − x + 1 and p = 2 and 5 (see Section 5.4 for PARI versions):

   > R<x> := PolynomialRing(RationalField());
   > K<a> := NumberField(x^5 + 7*x^4 + 3*x^2 - x + 1);
   > OK := RingOfIntegers(K);
   > [K!OK.i : i in [1..5]];

1This quote is on page 265 of the first edition. In the second edition, on page 303, this sentence is changed to “The obvious mathematical breakthrough that would defeat our public key encryption would be the development of an easy way to factor large numbers.” This is less nonsensical; however, fast factoring is not known to break all commonly used public-key cryptosystem. For example, there are cryptosystems based on the difficulty of computing discrete logarithms in F_{p}^{∗} and on elliptic curves over F_{p}, which (presumably) would not be broken even if one could factor large numbers quickly.

[ 1, a, a^2, a^3, a^4 ]
> I := 2*OK;
> Factorization(I);
[ <Principal Prime Ideal of OK
Generator: [2, 0, 0, 0, 0], 1>]
> J := 5*OK;
> Factorization(J);
[ <Prime Ideal of OK
Two element generators:
[5, 0, 0, 0, 0]
[2, 1, 0, 0, 0], 1>,
<Prime Ideal of OK
Two element generators:
[5, 0, 0, 0, 0]
[3, 1, 0, 0, 0], 2>,
<Prime Ideal of OK
Two element generators:
[5, 0, 0, 0, 0]
[2, 4, 1, 0, 0], 1>]

Thus 2O_{K} is already a prime ideal, and

5O_{K} = (5, 2 + a) · (5, 3 + a)^{2} · (5, 2 + 4a + a^{2}).

Notice that in this example O_{K} = Z[a]. (Warning: There are examples of O_{K} such that O_{K} ≠ Z[a] for any a ∈ O_{K}, as Example 5.3.2 below illustrates.) When O_{K} = Z[a] it is relatively easy to factor pO_{K}, at least assuming one can factor polynomials in F_{p}[x]. The following factorization gives a hint as to why:

x^{5} + 7x^{4} + 3x^{2} − x + 1 ≡ (x + 2) · (x + 3)^{2} · (x^{2} + 4x + 2) (mod 5).

The exponent 2 of (5, 3 + a)^{2} in the factorization of 5O_{K} above suggests “ramification”, in the sense that the cover X → Y has less points (counting their “size”, i.e., their residue class degree) in its fiber over 5 than it has generically:

PSfrag replacements

(5, 2 + 4a + a^{2}) (5, 3 + a)^{2} (5, 2 + a)

5Z 2O_{K}

2Z (0) 3Z 7Z 11Z

Diagram of Spec(O_{K}) → Spec(Z)

5.2 A Method for Factoring Primes that Often Works

Suppose a ∈ O_{K} is such that K = Q(a), and let f(x) ∈ Z[x] be the minimal polynomial of a. Then Z[a] ⊂ O_{K}, and we have a diagram of schemes

\xymatrix{⋃ Spec(O_{K}/𝔭_{i}^{e_{i}}) \ar@{^{(}->}[r] \ar[d] & Spec(O_{K}) \ar[d] \\ ⋃ Spec(F_{p}[x]/(\overline{f}_{i}^{e_{i}})) \ar@{^{(}->}[r] \ar[d] & Spec(Z[a]) \ar[d] \\ Spec(F_{p}) \ar@{^{(}->}[r] & Spec(Z)}

where \overline{f} = ∏_{i} \overline{f}_{i}^{e_{i}} is the factorization of the image of f in F_{p}[x], and pO_{K} = ∏ 𝔭_{i}^{e_{i}} is the factorization of pO_{K} in terms of prime ideals of O_{K}. On the level of rings, the bottom horizontal map is the quotient map Z → Z/pZ ≅ F_{p}. The middle horizontal map is induced by

Z[x] → ⨁_{i} F_{p}[x]/(\overline{f}_{i}^{e_{i}}),

and the top horizontal map is induced by

O_{K} → O_{K}/pO_{K} ≅ ⨁ O_{K}/𝔭_{i}^{e_{i}},

where the isomorphism is by the Chinese Remainder Theorem, which we will prove in Chapter 6. The left vertical maps come from the inclusions

F_{p} ↪ F_{p}[x]/(\overline{f}_{i}^{e_{i}}) ↪ O_{K}/𝔭_{i}^{e_{i}},

and the right from the inclusions Z ↪ Z[a] ↪ O_{K}.

The cover π : Spec(Z[a]) → Spec(Z) is easy to understand because it is defined by the single equation f(x), in the sense that Z[a] ≅ Z[x]/(f(x)). To give a maximal ideal 𝔭 of Z[a] such that π(𝔭) = pZ is the same as giving a homomorphism φ : Z[x]/(f) → \overline{F}_{p} up to automorphisms of the image, which is in turn the same as giving a root of f in \overline{F}_{p} up to automorphism, which is the same as giving an irreducible factor of the reduction of f modulo p.

Lemma 5.2.1. Suppose the index of Z[a] in O_{K} is coprime to p. Then the primes 𝔭_{i} in the factorization of pZ[a] do not decompose further going from Z[a] to O_{K}, so finding the prime ideals of Z[a] that contain p yields the primes that appear in the factorization of pO_{K}.

Proof. Fix a basis for O_{K} and for Z[a] as Z-modules. Form the matrix A whose columns express each basis element of Z[a] as a Z-linear combination of the basis for O_{K}. Then

det(A) = ±[O_{K} : Z[a]]

is coprime to p, by hypothesis. Thus the reduction of A modulo p is invertible, so it defines an isomorphism Z[a]/pZ[a] ≅ O_{K}/pO_{K}.

Let \overline{F}_{p} denote a fixed algebraic closure of F_{p}; thus \overline{F}_{p} is an algebraically closed field of characteristic p, over which all polynomials in F_{p}[x] factor into linear factors. Any homomorphism O_{K} → \overline{F}_{p} send p to 0, so is the composition of a homomorphism O_{K} → O_{K}/pO_{K} with a homomorphism O_{K}/pO_{K} → \overline{F}_{p}. Since O_{K}/pO_{K} ≅ Z[a]/pZ[a], the homomorphisms O_{K} → \overline{F}_{p} are in bijection with the homomorphisms Z[a] → \overline{F}_{p}. The homomorphisms Z[a] → \overline{F}_{p} are in bijection with the roots of the reduction modulo p of the minimal polynomial of a in \overline{F}_{p}.

Remark 5.2.2. Here is a “high-brow” proof of Lemma 5.2.1. By hypothesis we have an exact sequence of abelian groups

0 → Z[a] → O_{K} → H → 0,

where H is a finite abelian group of order coprime to p. Tensor product is right exact, and there is an exact sequence

Tor_{1}(H, F_{p}) → Z[a] ⊗ F_{p} → O_{K} ⊗ F_{p} → H ⊗ F_{p} → 0,

and Tor_{1}(H, F_{p}) = H ⊗ F_{p} = 0, so Z[a] ⊗ F_{p} ≅ O_{K} ⊗ F_{p}.

As suggested in the proof of the lemma, we find all homomorphisms O_{K} → \overline{F}_{p} by finding all homomorphism Z[a] → \overline{F}_{p}. In terms of ideals, if 𝔭 = (f(a), p)Z[a] is a maximal ideal of Z[a], then the ideal 𝔭′ = (f(a), p)O_{K} of O_{K} is also maximal, since

O_{K}/𝔭′ ≅ (O_{K}/pO_{K})/(f(ã)) ≅ (Z[a]/pZ[a])/(f(ã)) ⊂ \overline{F}_{p},

where ã denotes the image of a in O_{K}/pO_{K}.

We formalize the above discussion in the following theorem (note: we will not prove that the powers are e_{i} here):

Theorem 5.2.3. Let f ∈ Z[x] be the minimal polynomial of a over Z. Suppose that p ∤ [O_{K} : Z[a]] is a prime. Let

\overline{f} = ∏_{i=1}^{t} \overline{f}_{i}^{e_{i}} ∈ F_{p}[x]

where the \overline{f}_{i} are distinct monic irreducible polynomials. Let 𝔭_{i} = (p, f_{i}(a)) where f_{i} ∈ Z[x] is a lift of \overline{f}_{i} in F_{p}[X]. Then

pO_{K} = ∏_{i=1}^{t} 𝔭_{i}^{e_{i}}.

We return to the example from above, in which K = Q(a), where a is a root of f = x^{5} + 7x^{4} + 3x^{2} − x + 1. According to Magma, the ring of integers O_{K} has discriminant 2945785:

   > R<x> := PolynomialRing(RationalField());
   > K<a> := NumberField(x^5 + 7*x^4 + 3*x^2 - x + 1);
   > Discriminant(RingOfIntegers(K));
   2945785

The order Z[a] has the same discriminant as f(x), which is the same as the discriminant of O_{K}, so Z[a] = O_{K} and we can apply the above theorem. (Here we use that the index of Z[a] in O_{K} is the square of the quotient of their discriminants, a fact we will prove later in Section 7.2.)

   > Discriminant(x^5 + 7*x^4 + 3*x^2 - x + 1);
   2945785

We have

x^{5} + 7x^{4} + 3x^{2} − x + 1 ≡ (x + 2) · (x + 3)^{2} · (x^{2} + 4x + 2) (mod 5),

which yields the factorization of 5O_{K} given before the theorem.

If we replace a by b = 7a, then the index of Z[b] in O_{K} will be a power of 7, which is coprime to 5, so the above method will still work.

> f := MinimalPolynomial(7*a);
> f;
x^5 + 49*x^4 + 1029*x^2 - 2401*x + 16807
> Discriminant(f);
235050861175510968365785
> Discriminant(f)/Discriminant(RingOfIntegers(K));
79792266297612001    // coprime to 5
> S<t> := PolynomialRing(GF(5));
> Factorization(S!f);
[   <t + 1, 2>,
    <t + 4, 1>,
    <t^2 + 3*t + 3, 1>  ]

Thus 5 factors in O_{K} as

5O_{K} = (5, 7a + 1)^{2} · (5, 7a + 4) · (5, (7a)^{2} + 3(7a) + 3).

If we replace a by b = 5a and try the above algorithm with Z[b], then the method fails because the index of Z[b] in O_{K} is divisible by 5.

> f := MinimalPolynomial(5*a);
> f;
x^5 + 35*x^4 + 375*x^2 - 625*x + 3125
> Discriminant(f) / Discriminant(RingOfIntegers(K));
95367431640625    // divisible by 5
> Factorization(S!f);
[   <t, 5>   ]

5.3 A General Method

There are numbers fields K such that O_{K} is not of the form Z[a] for any a ∈ K. Even worse, Dedekind found a field K such that 2 | [O_{K} : Z[a]] for all a ∈ O_{K}, so there is no choice of a such that Theorem 5.2.3 can be used to factor 2 for K (see Example 5.3.2 below).

5.3.1 Essential Discriminant Divisors

Definition 5.3.1. A prime p is an essential discriminant divisor if p | [O_{K} : Z[a]] for every a ∈ O_{K}.

See Example 7.2.5 below for why is it called an essential “discriminant” instead of an essential “index divisor”.

Since [O_{K} : Z[a]]^{2} is the absolute value of Disc(f(x))/ Disc(O_{K}), where f(x) is the characteristic polynomial of f(x), an essential discriminant divisor divides the discriminant of the characteristic polynomial of any element of O_{K}. Example 5.3.2 (Dedekind). Let K = Q(a) be the cubic field defined by a root a of the polynomial f = x^{3} +x^{2} −2x+8. We will use Magma, which implements the algorithm described in the previous section, to show that 2 is an essential discriminant divisor for K.

   > K<a> := NumberField(x^3 + x^2 - 2*x + 8);
   > OK := RingOfIntegers(K);
   > Factorization(2*OK);
   [ <Prime Ideal of OK
     Basis:
     [2 0 0]
     [0 1 0]
     [0 0 1], 1>,
     <Prime Ideal of OK
     Basis:
     [1 0 1]
     [0 1 0]
     [0 0 2], 1>,
     <Prime Ideal of OK
     Basis:
     [1 0 1]
     [0 1 1]
     [0 0 2], 1>   ]

Thus 2O_{K} = 𝔭_{1}𝔭_{2}𝔭_{3}, with the 𝔭_{i} distinct, and one sees directly from the above expressions that O_{K}/𝔭_{i} ≅ F_{2}. If O_{K} = Z[a] for some a ∈ O_{K} with minimal polynomial f, then \overline{f}(x) ∈ F_{2}[x] must be a product of three distinct linear factors, which is impossible, since the only linear polynomials in F_{2}[x] are x and x + 1.

5.3.2 Remarks on Ideal Factorization in General

Recall (from Definition 2.3.10) that an order in O_{K} is a subring O of O_{K} that has finite index in O_{K}. For example, if O_{K} = Z[i], then O = Z + 5Z[i] is an order in O_{K}, and as an abelian group O_{K}/O is cyclic of order 5.

Most algebraic number theory books do not describe an algorithm for decomposing primes in the general case. Fortunately, Cohen’s book [Coh93, Ch. 6] does describe how to solve the general problem, in more than one way. The algorithms are nontrivial, and occupy a substantial part of Chapter 6 of Cohen’s book. Our goal for the rest of this section is to give a hint as to what goes into them.

The general solutions to prime ideal factorization are somewhat surprising, since the algorithms are much more sophisticated than the one suggested by Theorem 5.2.3. However, these complicated algorithms all run very quickly in practice, even without assuming the maximal order is already known. In fact, they avoid computing O_{K} altogether, and instead compute only an order O that is p-maximal, i.e., is such that p ∤ [O_{K} : O].

For simplicity we consider the following slightly easier problem whose solution illustrates the key ideas needed in the general case.

Problem 5.3.3. Let O be any order in O_{K} and let p be a prime of Z. Find the prime ideals of O that contain p.

Given a prime p that we wish to factor in O_{K}, we first find a p-maximal order O. We then use a solution to Problem 5.3.3 to find the prime ideals 𝔭 of O that contain p. Second, we find the exponents e such that 𝔭^{e} exactly divides pO. The resulting factorization in O completely determines the factorization of pO_{K}.

A p-maximal order can be found reasonably quickly in practice using algorithms called “round 2” and “round 4”. To compute O_{K}, given an order Z[α] ⊂ O_{K}, one takes a sum of p-maximal orders, one for every p such that p^{2} divides Disc(Z[α]). The time-consuming part of this computation is finding the primes p such that p^{2} | Disc(Z[α]), not finding the p-maximal orders. This example illustrates that a fast algorithm for factoring integers would not only break the RSA cryptosystems, but would massively speed up computation of the ring of integers of a number field. Remark 5.3.4. The MathSciNet review of [BL94] by J. Buhler contains the following:

A result of Chistov says that finding the ring of integers O_{K} in an algebraic number field K is equivalent, under certain polynomial time reductions, to the problem of finding the largest squarefree divisor of a positive integer. No feasible (i.e., polynomial time) algorithm is known for the latter problem, and it is possible that it is no easier than the more general problem of factoring integers.

Thus it appears that computing the ring O_{K} is quite hard.

5.3.3 Finding a p-Maximal Order

Before describing the general factorization algorithm, we sketch some of the theory behind the general algorithms for computing a p-maximal order O in O_{K}. The main input is the following theorem, whose proof can be found in [Coh93, §6.1.1].

Theorem 5.3.5 (Pohst-Zassenhaus). Let O be an order in the the ring of integers O_{K} of a number field, let p ∈ Z be a prime, and let

I_{p} = {x ∈ O : x^{m} ∈ pO for some m ≥ 1 } ⊂ O

be the radical of pO, which is an ideal of O. Let

O′ = {x ∈ K : xI_{p} ⊂ I_{p}}.

Then O′ is an order and either O′ = O, in which case O is p-maximal, or O ⊂ O′ and p divides [O′ : O].

After deciding on how to represent elements of K and orders and ideals in K, one can give an efficient algorithm to compute the O′ of the theorem. The algorithm mainly involves linear algebra over finite fields. It is complicated to describe, but efficient in practice, and is conceptually simple—just compute O′. The trick for reducing the computation of O′ to linear algebra is the following lemma:

Lemma 5.3.6. Define a homomorphism map ψ : O ↪ End(I_{p}/pI_{p}) given by sending α ∈ O to left multiplication by the reduction of α modulo p. Then

O′ = \frac{1}{p} Ker(ψ).

Note that to give an algorithm one must also figure out how to compute I_{p}/pI_{p} and the kernel of this map. This is all done in [Coh93, §6.1].

5.3.4 General Factorization Algorithm

We finally give an algorithm to factor pO_{K} in general.

Algorithm 5.3.7 (General Factorization). Let K = Q(a) be a number field given by an algebraic integer a as a root of its minimal monic polynomial f of degree n. We assume that an order O has been given by a basis w_{1}, …, w_{n} and that O that contains Z[a]. For any prime p ∈ Z, the following algorithm computes the set of maximal ideals of O that contain p.

1. [Check if easy] If p ∤ disc(Z[a])/ disc(O) (so p ∤ [O : Z[a]]), then using Theorem 5.2.3 we factor pO.

2. [Compute radical] Let I be the radical of pO, which is the ideal of elements x ∈ O such that x^{m} ∈ pO for some positive integer m. Note that pO ⊂ I, i.e., I | pO; also I is the product of the primes that divide p, without multiplicity. Using linear algebra over the finite field F_{p}, we compute a basis for I/pO, hence I, since pO ⊂ I.

3. [Compute quotient by radical] Compute an F_{p} basis for

A = O/I = (O/pO)/(I/pO).

The second equality comes from the fact that pO ⊂ I. Note that O/pO is obtained by simply reducing the basis w_{1}, …, w_{n} modulo p.

4. [Decompose quotient] The ring A decomposes as a product A ≅ ∏ F_{p}[x]/(g_{i}(x)) of fields. We can find such a decomposition explicitly using linear algebra.

5. [Compute the maximal ideals over p] Each maximal ideal 𝔭_{i} lying over p is the kernel of one of the compositions O → A → F_{p}[x]/(g_{i}(x)).

Algorithm 5.3.7 finds all primes of O that contain the radical I of pO. Every such prime clearly contains p, so to see that the algorithm is correct, we prove that the primes 𝔭 of O that contain p also contain I. If 𝔭 is a prime of O that contains p, then pO ⊂ 𝔭. If x ∈ I then x^{m} ∈ pO for some m, so x^{m} ∈ 𝔭 which implies that x ∈ 𝔭 by primality of 𝔭. Thus 𝔭 contains I, as required. Note that we do not find the powers of primes that divide p in Algorithm 5.3.7; that’s left to another algorithm that we will not discuss in this book.

Algorithm 5.3.7 was invented by J. Buchmann and H. W. Lenstra, though their paper seems to have never been published; however, the algorithm is described in detail in [Coh93, §6.2.5]. Incidentally, this chapter is based on Chapters 4 and 6 of [Coh93], which is highly recommended, and goes into much more detail about these algorithms.

5.4 Appendix: The Calculations in PARI

In this section we give PARI versions of all the Magma calculations in the rest of this chapter.

? K = nfinit(x^5 + 7*x^4 + 3*x^2 - x + 1);
? idealfactor(K, 2)
[[2, [2, 0, 0, 0, 0]~, 1, 5, [1, 0, 0, 0, 0]~] 1]
? idealfactor(K, 5)
[[5, [-3, 0, 0, 1, 0]~, 2, 1, [1, 0, 2, -2, -1]~] 2]
[[5, [1, 0, 0, 1, 0]~, 1, 1, [1, 0, -2, 2, -1]~] 1]
[[5, [10, 1, 0, -8, 1]~, 1, 2, [2, 1, 1, -1, 1]~] 1]
? K.disc
2945785
? poldisc(x^5 + 7*x^4 + 3*x^2 - x + 1)
2945785
? a = Mod(x, x^5 + 7*x^4 + 3*x^2 - x + 1);
? f = charpoly(7*a)
x^5 + 49*x^4 + 1029*x^2 - 2401*x + 16807
? poldisc(f)
235050861175510968365785
? poldisc(f)/K.disc
79792266297612001

? factormod(f,5)
[Mod(1, 5)*x + Mod(1, 5) 2]
[Mod(1, 5)*x + Mod(4, 5) 1]
[Mod(1, 5)*x^2 + Mod(3, 5)*x + Mod(3, 5) 1]
? f = charpoly(5*a)
? factormod(f,5)
[Mod(1, 5)*x 5]
? K = nfinit(x^3 + x^2 - 2*x + 8);
? idealfactor(K,2)
[[2, [1, 0, 1]~, 1, 1, [0, 0, -1]~] 1]
[[2, [1, 1, 0]~, 1, 1, [0, 1, 0]~] 1]
[[2, [2, 1, 1]~, 1, 1, [1, 1, 1]~] 1]

The Chinese Remainder Theorem

We prove the Chinese Remainder Theorem (CRT) for commutative rings and discuss how to compute with it explicitly in Magma and PARI. We also apply the Chinese Remainder Theorem to prove that every ideal in O_{K} is generated by two elements and determine the structure of 𝔭^{n}/𝔭^{n+1}, where 𝔭 is a nonzero prime ideal of O_{K}.

6.1 The Chinese Remainder Theorem

6.1.1 CRT in the Integers

The Chinese Remainder Theorem from elementary number theory asserts that if n_{1}, …, n_{r} are integers that are coprime in pairs, and a_{1}, …, a_{r} are integers, then there exists an integer a such that a ≡ a_{i} (mod n_{i}) for each i = 1, …, r. Here “coprime in pairs” means that gcd(n_{i}, n_{j}) = 1 whenever i ≠ j; it does not mean that gcd(n_{1}, …, n_{r}) = 1, though it implies this. In terms of rings, the Chinese Remainder Theorem (CRT) asserts that the natural map

Z/(n_{1} ⋯ n_{r})Z → (Z/n_{1}Z) ⊕ ⋯ ⊕ (Z/n_{r}Z)  (6.1.1)

that sends a ∈ Z to its reduction modulo each n_{i}, is an isomorphism.

This map is not an isomorphism if the n_{i} are not coprime. Indeed, the cardinality of the left hand side of (6.1.1) is lcm(n_{1}, …, n_{r}), whereas the cardinality of the right hand side is n_{1} ⋯ n_{r}.

The isomorphism (6.1.1) can alternatively be viewed as asserting that any system of linear congruences

x ≡ a_{1} (mod n_{1}), x ≡ a_{2} (mod n_{2}), ⋯, x ≡ a_{r} (mod n_{r})

with pairwise coprime moduli has a unique solution modulo n_{1} … n_{r}.

Before proving CRT in a general ring, we give a proof of (6.1.1). There is a natural map

ϕ : Z → (Z/n_{1}Z) ⊕ ⋯ ⊕ (Z/n_{r}Z)

given by projection onto each factor. It’s kernel is

n_{1}Z ∩ ⋯ ∩ n_{r}Z.

If n and m are integers, then nZ ∩ mZ is the set of multiples of both n and m, so nZ ∩ mZ = lcm(n, m)Z. Since the n_{i} are coprime,

n_{1}Z ∩ ⋯ ∩ n_{r}Z = n_{1} … n_{r}Z.

Thus we have proved there is an inclusion

i : Z/(n_{1} ⋯ n_{r})Z ↪ (Z/n_{1}Z) ⊕ ⋯ ⊕ (Z/n_{r}Z).  (6.1.2)

This is half of the CRT; the other half is to prove that this map is surjective. To prove the other half, note that since the n_{i} are coprime in pairs,

gcd(n_{1}, n_{2} … n_{r}) = 1,

so there exists integers x, y such that

xn_{1} + yn_{2} ⋯ n_{r} = 1.

To complete the proof, observe that yn_{2} ⋯ n_{r} = 1 − xn_{1} is congruent to 1 modulo n_{1} and 0 modulo n_{2} ⋯ n_{r}. Thus (1, 0, …, 0) is in the image of i. By a similar argument, we see that (0, 1, …, 0) and the other similar elements are all in the image of i, so i is surjective, which proves CRT. Remark 6.1.1. One could also prove surjectivity of i by noting that both sides of (6.1.2) are finite of order n_{1} … n_{r}.

6.1.2 CRT in an Arbitrary Ring

Recall that all rings in this book are commutative with unity.

Definition 6.1.2 (Coprime). Ideals I and J are coprime if I + J = (1).

If I and J are nonzero ideals in the ring of integers of a number field, then they are coprime precisely when the prime ideals that appear in their two (unique) factorizations are disjoint.

Lemma 6.1.3. If I and J are coprime ideals in a ring R, then I ∩ J = IJ.

Proof. Choose x ∈ I and y ∈ J such that x + y = 1. If c ∈ I ∩ J then

c = c · 1 = c · (x + y) = cx + cy ∈ IJ + IJ = IJ,

so I ∩ J ⊂ IJ. The other inclusion is obvious by definition of ideal.

Lemma 6.1.4. Suppose I_{1}, …, I_{s} are pairwise coprime ideals. Then I_{1} is coprime to the product I_{2} ⋯ I_{s}.

Proof. It suffices to prove the lemma in the case s = 3, since the general case then follows from induction. By assumption, there are x_{1} ∈ I_{1}, y_{1} ∈ I_{2} and x_{2} ∈ I_{1}, y_{2} ∈ I_{3} such

x_{1} + y_{1} = 1  and  x_{2} + y_{2} = 1.

Multiplying these two relations yields

x_{1}x_{2} + x_{1}y_{2} + y_{1}x_{2} + y_{1}y_{2} = 1 · 1 = 1.

The first three terms are in I_{1} and the last term is in I_{2} ∩ I_{3} = I_{2}I_{3}, so I_{1} is coprime to I_{2}I_{3}.

Next we prove the Chinese Remainder Theorem in a very general form. We will apply this result with R = O_{K} in the rest of this chapter.

Theorem 6.1.5 (Chinese Remainder Theorem). Suppose I_{1}, …, I_{r} are nonzero ideals of a ring R such I_{m} and I_{n} are coprime for any m ≠ n. Then the natural homomorphism R → ⨁_{n=1}^{r} R/I_{n} induces an isomorphism

ψ : R/ ∏_{n=1}^{r} I_{n} → ⨁_{n=1}^{r} R/I_{n}.

Thus given any a_{n} ∈ R, for n = 1, …, r, there exists some a ∈ R such that a ≡ a_{n} (mod I_{n}) for n = 1, …, r; moreover, a is unique modulo ∏_{n=1}^{r} I_{n}.

Proof. Let φ : R → ⨁_{n=1}^{r} R/I_{n} be the natural map induced by reduction modulo the I_{n}. An inductive application of Lemma 6.1.3 implies that the kernel ∩_{n=1}^{r}I_{n} of φ is equal to ∏_{n=1}^{r} I_{n}, so the map ψ of the theorem is injective.

Each projection R → R/I_{n} is surjective, so to prove that ψ is surjective, it suffices to show that (1, 0, …, 0) is in the image of φ, and similarly for the other factors. By Lemma 6.1.4, J = ∏_{n=2}^{r} I_{n} is coprime to I_{1}, there exists x ∈ I_{1} and y ∈ J such that x + y = 1. Then y = 1 − x maps to 1 in R/I_{1} and to 0 in R/J, hence to 0 in R/I_{n} for each n ≥ 2, since J ⊂ I_{n}.

6.2 Computing Using the CRT

In order to explicitly compute an a as given by the Theorem 6.1.5, usually one first precomputes elements v_{1}, …, v_{r} ∈ R such that v_{1} ↦ (1, 0, …, 0), v_{2} ↦ (0, 1, …, 0), etc. Then given any a_{n} ∈ R, for n = 1, …, r, we obtain an a ∈ R with a_{n} ≡ a (mod I_{n}) by taking

a = a_{1}v_{1} + ⋯ + a_{r}v_{r}.

How to compute the v_{i} depends on the ring R. It reduces to the following problem: Given coprimes ideals I, J ⊂ R, find x ∈ I and y ∈ J such that x + y = 1. If R is torsion free and of finite rank as a Z-module, so R ≈ Z^{n}, then I, J can be represented by giving a basis in terms of a basis for R, and finding x, y such that x+y = 1 can then be reduced to a problem in linear algebra over Z. More precisely, let A be the matrix whose columns are the concatenation of a basis for I with a basis for J. Suppose v ∈ Z^{n} corresponds to 1 ∈ Z^{n}. Then finding x, y such that x + y = 1 is equivalent to finding a solution z ∈ Z^{n} to the matrix equation Az = v. This latter linear algebra problem can be solved using Hermite normal form (see [Coh93, §4.7.1]), which is a generalization of Gauss elimination.

We next describe how to use Magma and PARI to do CRT computations.

6.2.1 Magma

The Magma command ChineseRemainderTheorem implements the algorithm suggested by Theorem 6.1.5. In the following example, we compute a prime over (3) and a prime over (5) of the ring of integers of Q(\sqrt[3]{2}), and find an element of O_{K} that is congruent to \sqrt[3]{2} modulo one prime and 1 modulo the other.

> R<x> := PolynomialRing(RationalField());
> K<a> := NumberField(x^3-2);
> OK := RingOfIntegers(K);
> I := Factorization(3*OK)[1][1];
> J := Factorization(5*OK)[1][1];
> I;
Prime Ideal of OK
Two element generators:
    [3, 0, 0]
    [4, 1, 0]
> J;
Prime Ideal of OK
Two element generators:
    [5, 0, 0]
    [7, 1, 0]
> b := ChineseRemainderTheorem(I, J, OK!a, OK!1);
> K!b;
-4
> b - a in I;
true
> b - 1 in J;
true

6.2.2 PARI

There is also a CRT algorithm for number fields in PARI, but it is more cumbersome to use. First we defined Q(\sqrt[3]{2}) and factor the ideals (3) and (5).

? f = x^3 - 2;
? k = nfinit(f);
? i = idealfactor(k,3);
? j = idealfactor(k,5);

Next we form matrix whose rows correspond to a product of two primes, one dividing 3 and one dividing 5:

? m = matrix(2,2);
? m[1,] = i[1,];
? m[1,2] = 1;
? m[2,] = j[1,];

Note that we set m[1,2] = 1, so the exponent is 1 instead of 3. We apply the CRT to obtain a lift in terms of the basis for O_{K}.

? ?idealchinese
idealchinese(nf,x,y): x being a prime ideal factorization and y
a vector of elements, gives an element b such that
v_p(b-y_p)>=v_p(x) for all prime ideals p dividing x,
and v_p(b)>=0 for all other p.
? idealchinese(k, m, [x,1])
[0, 0, -1]~
? nfbasis(f)
[1, x, x^2]

Thus PARI finds the lift −(\sqrt[3]{2})^{2}, and we finish by verifying that this lift is correct. I couldn’t figure out how to test for ideal membership in PARI, so here we just check that the prime ideal plus the element is not the unit ideal, which since the ideal is prime, implies membership.

? idealadd(k, i[1,1], -x^2 - x)
[3 1 2]
[0 1 0]
[0 0 1]
? idealadd(k, j[1,1], -x^2-1)
[5 2 1]
[0 1 0]
[0 0 1]

6.3 Structural Applications of the CRT

The next lemma is an application of the Chinese Remainder Theorem. We will use it to prove that every ideal of O_{K} can be generated by two elements. Suppose that I is a nonzero integral ideals of O_{K}. If a ∈ I, then (a) ⊂ I, so I divides (a) and the quotient (a)I^{−1} is an integral ideal. The following lemma asserts that (a) can be chosen so the quotient (a)I^{−1} is coprime to any given ideal.

Lemma 6.3.1. If I and J are nonzero integral ideals in O_{K}, then there exists an a ∈ I such that the integral ideal (a)I^{−1} is coprime to J.

Before we give the proof in general, note that the lemma is trivial when I is principal, since if I = (b), just take a = b, and then (a)I^{−1} = (a)(a^{−1}) = (1) is coprime to every ideal.

Proof. Let 𝔭_{1}, …, 𝔭_{r} be the prime divisors of J. For each n, let v_{n} be the largest power of 𝔭_{n} that divides I. Since 𝔭_{n}^{v_{n}} ≠ 𝔭_{n}^{v_{n}+1}, we can choose an element a_{n} ∈ 𝔭_{n}^{v_{n}} that is not in 𝔭_{n}^{v_{n}+1}. By Theorem 6.1.5 applied to the r + 1 coprime integral ideals

𝔭_{1}^{v_{1}+1}, …, 𝔭_{r}^{v_{r}+1}, I · (∏ 𝔭_{n}^{v_{n}})^{−1} ,

there exists a ∈ O_{K} such that

a ≡ a_{n} (mod 𝔭_{n}^{v_{n}+1})

for all n = 1, …, r and also

a ≡ 0 (mod I · (∏ 𝔭_{n}^{v_{n}})^{−1}).

To complete the proof we show that (a)I^{−1} is not divisible by any 𝔭_{n}, or equivalently, that each 𝔭_{n}^{v_{n}} exactly divides (a). Because a ≡ a_{n} (mod 𝔭_{n}^{v_{n}+1}), there is b ∈ 𝔭_{n}^{v_{n}+1} such that a = a_{n} + b. Since a_{n} ∈ 𝔭_{n}^{v_{n}}, it follows that a ∈ 𝔭_{n}^{v_{n}}, so 𝔭_{n}^{v_{n}} divides (a). If a ∈ 𝔭_{n}^{v_{n}+1}, then a_{n} = a−b ∈ 𝔭_{n}^{v_{n}+1}, a contradiction, since a_{n} ∉ 𝔭_{n}^{v_{n}+1}. We conclude that 𝔭_{n}^{v_{n}+1} does not divide (a), which completes the proof.

Suppose I is a nonzero ideal of O_{K}. As an abelian group O_{K} is free of rank equal to the degree [K : Q] of K, and I is of finite index in O_{K}, so I can be generated as an abelian group, hence as an ideal, by [K : Q] generators. The following proposition asserts something much better, namely that I can be generated as an ideal in O_{K} by at most two elements.

Proposition 6.3.2. Suppose I is a fractional ideal in the ring O_{K} of integers of a number field. Then there exist a, b ∈ K such that I = (a, b) = {αa+βb : α, β ∈ O_{K}}.

Proof. If I = (0), then I is generated by 1 element and we are done. If I is not an integral ideal, then there is x ∈ K such that xI is an integral ideal, and the number of generators of xI is the same as the number of generators of I, so we may assume that I is an integral ideal.

Let a be any nonzero element of the integral ideal I. We will show that there is some b ∈ I such that I = (a, b). Let J = (a). By Lemma 6.3.1, there exists b ∈ I such that (b)I^{−1} is coprime to (a). Since a, b ∈ I, we have I | (a) and I | (b), so I | (a, b). Suppose 𝔭^{n} | (a, b) with 𝔭 prime. Then 𝔭^{n} | (a) and 𝔭^{n} | (b), so 𝔭 ∤ (b)I^{−1}, since (b)I^{−1} is coprime to (a). We have 𝔭^{n} | (b) = I ·(b)I^{−1} and 𝔭 ∤ (b)I^{−1}, so 𝔭^{n} | I. Thus (a, b) | I, so I = (a, b), as claimed.

We can also use Theorem 6.1.5 to determine the O_{K}-module structure of 𝔭^{n}/𝔭^{n+1}.

Proposition 6.3.3. Let 𝔭 be a nonzero prime ideal of O_{K}, and let n ≥ 0 be an integer. Then 𝔭^{n}/𝔭^{n+1} ≅ O_{K}/𝔭 as O_{K}-modules.

Proof. ^{1} Since 𝔭^{n} ≠ 𝔭^{n+1}, by unique factorization, there is an element b ∈ 𝔭^{n} such that b ∉ 𝔭^{n+1}. Let φ : O_{K} → 𝔭^{n}/𝔭^{n+1} be the O_{K}-module morphism defined by φ(a) = ab. The kernel of φ is 𝔭 since clearly φ(𝔭) = 0 and if φ(a) = 0 then ab ∈ 𝔭^{n+1}, so 𝔭^{n+1} | (a)(b), so 𝔭 | (a), since 𝔭^{n+1} does not divide (b). Thus φ induces an injective O_{K}-module homomorphism O_{K}/𝔭 ↪ 𝔭^{n}/𝔭^{n+1}.

It remains to show that φ is surjective, and this is where we will use Theorem 6.1.5. Suppose c ∈ 𝔭^{n}. By Theorem 6.1.5 there exists d ∈ O_{K} such that

d ≡ c (mod 𝔭^{n+1})  and  d ≡ 0 (mod (b)/𝔭^{n}).

We have 𝔭^{n} | (d) since d ∈ 𝔭^{n} and (b)/𝔭^{n} | (d) by the second displayed condition, so since 𝔭 ∤ (b)/𝔭^{n}, we have (b) = 𝔭^{n} · (b)/𝔭^{n} | (d), hence d/b ∈ O_{K}. Finally

φ (\frac{d}{b}) = \frac{d}{b} · d (mod 𝔭^{n+1}) = b (mod p^{n+1}) = c (mod p^{n+1}),

so φ is surjective.

1Proof from [SD01, pg. 13].

70 CHAPTER 6. THE CHINESE REMAINDER THEOREM

Discrimants and Norms

In this chapter we give a geometric interpretation of the discriminant of an order in a number field. We also define norms of ideals and prove that the norm function is multiplicative. Discriminants of orders and norms of ideals will play a crucial roll in our proof of finiteness of the class group in the next chapter.

7.1 Field Embeddings

Let K be a number field of degree n. By the primitive element theorem, K = Q(α) for some α, so we can write K ≅ Q[x]/(f), where f ∈ Q[x] is the minimal polynomial of α. Because C is algebraically closed and f is irreducible, it has exactly n = [K : Q] complex roots. Each of these roots z ∈ C induces a homomorphism Q[x] → C given by x ↦ z, whose kernel is (f). Thus we obtain n embeddings of K ≅ Q[x]/(f) into C:

σ_{1}, …, σ_{n} : K ↪ C.

Let σ : K ↪ C^{n} be the map a ↦ (σ_{1}(a), …, σ_{n}(a)), and let V = Rσ(K) be the R-span of the image σ(K) of K inside C^{n}.

Lemma 7.1.1. Suppose L ⊂ R^{n} is a subgroup of the vector space R^{n}. Then the induced topology on L is discrete if and only if for every H > 0 the set

X_{H} = {v ∈ L : max{|v_{1}|, …, |v_{n}|} ≤ H}

is finite.

Proof. If L is not discrete, then there is a point x ∈ L such that for every ε > 0 there is y ∈ L such that 0 < |x − y| < ε. By choosing smaller and smaller ε, we find infinitely many elements x − y ∈ L all of whose coordinates are smaller than 1. The set X(1) is thus not finite. Thus if the sets X_{H} are all finite, L must be discrete.

Next assume that L is discrete and let H > 0 be any positive number. Then for every x ∈ X_{H} there is an open ball B_{x} that contains x but no other element of L. Since X_{H} is closed and bounded, it is compact, so the open covering ∪B_{x} of X_{H} has a finite subcover, which implies that X_{H} is finite, as claimed.

Lemma 7.1.2. If L if a free abelian group that is discrete in a finite-dimensional real vector space V and RL = V, then the rank of L equals the dimension of V.

Proof. If x_{1}, …, x_{m} ∈ L are a basis for RL, then M = Zx_{1} + ⋯ + Zx_{m} has finite index in L, since otherwise the quotient L/M would be infinite, so there would be infinitely many elements of L in a fundamental domain for M, which by Lemma 7.1.1 would contradict discreteness of L. Thus the rank of L is m = dim(RL), as claimed.

Proposition 7.1.3. The R-vector space V = Rσ(K) spanned by the image σ(K) has dimension n.

Proof. We prove this by showing that the image σ(O_{K}) is discrete. If σ(O_{K}) were not discrete it would contain elements all of whose coordinates are simultaneously arbitrarily small. The norm of an element a ∈ O_{K} is the product of the entries of σ(a), so the norms of nonzero elements of O_{K} would go to 0. This is a contradiction, since the norms of elements of O_{K} are integers.

Since σ(O_{K}) is discrete in C^{n}, Lemma 7.1.2 implies that dim(V) equals the rank of σ(O_{K}). Since σ is injective, dim(V) is the rank of O_{K}, which equals n by Proposition 2.4.4.

Since σ(O_{K}) is a lattice in V, the volume of V/σ(O_{K}) is finite. Suppose w_{1}, …, w_{n} is a basis for O_{K}. Then if A is the matrix whose ith row is σ(w_{i}), then | det(A)| is the volume of V/σ(O_{K}) (take this as the definition of volume).

Example 7.1.4. Let O_{K} = Z[i] be the ring of integers of K = Q(i). Then w_{1} = 1, w_{2} = i is a basis for O_{K}. The map σ : K → C^{2} is given by

σ(a + bi) = (a + bi, a − bi) ∈ C^{2}.

The image σ(O_{K}) is spanned by (1, 1) and (i, −i). The volume determinant is

|(\begin{matrix}1 & 1 \\ i & −i \end{matrix})| = | − 2i| = 2.

Let O_{K} = Z[\sqrt{2}] be the ring of integers of K = Q(\sqrt{2}). The map σ is

σ(a + b\sqrt{2}) = (a + b\sqrt{2}, a − b\sqrt{2}) ∈ R^{2},

and

A = (\begin{matrix}1 & 1 \\ \sqrt{2} & −\sqrt{2} \end{matrix}) ,

which has determinant −2\sqrt{2}, so the volume of V/σ(O_{K}) is 2\sqrt{2}.

As the above example illustrates, the volume V/σ(O_{K}) need not be an integer, and it loses sign information. If we consider det(A)^{2} instead, we obtain a welldefined integer.

7.2 Discriminants

Suppose w_{1}, …, w_{n} are a basis for O_{K} as a Z-module, which we view as a Qvector space. Let σ : K ↪ C^{n} be the embedding σ(a) = (σ_{1}(a), …, σ_{n}(a)), where σ_{1}, …, σ_{n} are the distinct embeddings of K into C. Let A be the matrix whose rows are σ(w_{1}), …, σ(w_{n}). The quantity det(A) depends on the ordering of the w_{i}, and need not be an integer.

If we consider det(A)^{2} instead, we obtain a number that is a well-defined integer. Note that

det(A)^{2} = det(AA) = det(A) det(A) = det(A) det(A^{t}) = det(AA^{t})

= det ( ∑_{k=1,...,n} σ_{k}(w_{i})σ_{k}(w_{j})) = det ( ∑_{k=1,...,n} σ_{k}(w_{i}w_{j}))

= det(Tr(w_{i}w_{j})_{1≤i,j≤n}),

so det(A)^{2} can be defined purely in terms of the trace without mentioning the embeddings σ_{i}. Also, changing the basis for O_{K} is the same as left multiplying A by an integer matrix U of determinant ±1, which does not change the squared determinant, since det(UA)^{2} = det(U)^{2} det(A)^{2} = det(A)^{2}. Thus det(A)^{2} is well defined, and does not depend on the choice of basis.

If we view K as a Q-vector space, then (x, y) ↦ Tr(xy) defines a bilinear pairing K × K → Q on K, which we call the trace pairing. The following lemma asserts that this pairing is nondegenerate, so det(Tr(w_{i}w_{j})) ≠ 0 hence det(A) ≠ 0.

Lemma 7.2.1. The trace pairing is nondegenerate.

Proof. If the trace pairing is degenerate, then there exists a ∈ K such that for every b ∈ K we have Tr(ab) = 0. In particularly, taking b = a^{−1} we see that 0 = Tr(aa^{−1}) = Tr(1) = [K : Q] > 0, which is absurd.

Definition 7.2.2 (Discriminant). Suppose a_{1}, …, a_{n} is any Q-basis of K. The discriminant of a_{1}, …, a_{n} is

Disc(a_{1}, …, a_{n}) = det(Tr(a_{i}a_{j})_{1≤i,j≤n}) ∈ Q.

The discriminant Disc(O) of an order O in O_{K} is the discriminant of any basis for O. The discriminant d_{K} = Disc(K) of the number field K is the discrimimant of O_{K}.

Note that the discriminants defined above are all nonzero by Lemma 7.2.1. If α ∈ O_{K} with Z[α] of finite index in O_{K}, and f is the minimal polynomial

of α, then Disc(f) = Disc(Z[α]). To see this, note that if we choose the basis 1, α, …, α^{n−1} for Z[α], then both discriminants are the square of the same Vandermonde determinant.

Remark 7.2.3. Warning: In Magma Disc(K) is defined to be the discriminant of the polynomial you happened to use to define K.

   > K := NumberField(x^2-5);
   > Discriminant(K);
   20
   > Discriminant(RingOfIntegers(K));
   5

In contrast, PARI does the right thing:

   ? k=nfinit(x^2-5);
   ? k.disc
   5

The following proposition asserts that the discriminant of an order O in O_{K} is bigger than disc(O_{K}) by a factor of the square of the index.

Proposition 7.2.4. Suppose O is an order in O_{K}. Then

Disc(O) = Disc(O_{K}) · [O_{K} : O]^{2}.

Proof. Let A be a matrix whose rows are the images via σ of a basis for O_{K}, and let B be a matrix whose rows are the images via σ of a basis for O. Since O ⊂ O_{K} has finite index, there is an integer matrix C such that CA = B, and | det(C)| = [O_{K} : O]. Then

Disc(O) = det(B)^{2} = det(CA)^{2} = det(C)^{2} det(A)^{2} = [O_{K} : O]^{2} · Disc(O_{K}).

Example 7.2.5. Let K be a number field and consider the quantity

D(K) = gcd{Disc(α) : α ∈ O_{K} and [O_{K} : Zα] < ∞}.

One might hope that D(K) is equal to the discriminant Disc(O_{K}) of K. However it’s not in general. Recall Example 5.3.2, of the field generated by a root of f = x^{3} + x^{2} − 2x + 8. In that example, the discriminant of O_{K} is coprime to 2, but for every α ∈ O_{K}, we have 2 | [O_{K} : Z[α]]. By Proposition 7.2.4, the discriminant of Z[α] is divisible by 4 for all α, so Disc(α) is also divisible by 4. This is the sense in which 2 is an “essential discriminant divisor”.

This result is enough to give an algorithm for computing O_{K}, albeit a potentially slow one. Given K, find some order O ⊂ K, and compute d = Disc(O). Factor d, and use the factorization to write d = s · f^{2}, where f^{2} is the largest square that divides d. Then the index of O in O_{K} is a divisor of f, and we (tediously) can enumerate all rings R with O ⊂ R ⊂ K and [R : O] | f, until we find the largest one all of whose elements are integral. A much better algorithm is to proceed exactly as just described, except use the ideas of Section 5.3.3 to find a p-maximal order for each prime divisor of f, then add these p-maximal orders together.

Example 7.2.6. Consider the ring O_{K} = Z[(1 + \sqrt{5})/2] of integers of K = Q(\sqrt{5}). The discriminant of the basis 1, a = (1 + \sqrt{5})/2 is

Disc(O_{K}) = |(\begin{matrix}2 & 1 \\ 1 & 3 \end{matrix})| = 5.

Let O = Z[\sqrt{5}] be the order generated by \sqrt{5}. Then O has basis 1, \sqrt{5}, so

Disc(O) = |(\begin{matrix}2 & 0 \\ 0 & 10 \end{matrix})| = 20 = [O_{K} : O]^{2} · 5,

hence O is not maximal. Example 7.2.7. Consider the cubic field K = Q(\sqrt[3]{2}), and let O be the order Z[\sqrt[3]{2}]. Relative to the base 1, \sqrt[3]{2}, (\sqrt[3]{2})^{2} for O, the matrix of the trace pairing is

A = (\begin{matrix}3 & 0 & 0 \\ 0 & 0 & 6 \\ 0 & 6 & 0 \end{matrix}) .

Thus

disc(O) = det(A) = 108 = 2^{2} · 3^{3}.

Suppose we do not know that the ring of integers O_{K} is equal to O. By Proposition 7.2.4, we have

Disc(O_{K}) · [O_{K} : O]^{2} = 2^{2} · 3^{3},

so 3 | disc(O_{K}), and [O_{K} : O] | 6. Thus to prove O = O_{K} it suffices to prove that O is 2-maximal and 3-maximal, which could be accomplished as described in Section 5.3.3.

7.3 Norms of Ideals

In this section we extend the notion of norm to ideals. This will be helpful in the next chapter, where we will prove that the group of fractional ideals modulo principal fractional ideals of a number field is finite by showing that every ideal is equivalent to an ideal with norm at most some bound. This is enough, because as we will see below there are only finitely many ideals of bounded norm.

Definition 7.3.1 (Lattice Index). If L and M are two lattices in a vector space V, then the lattice index [L : M] is by definition the absolute value of the determinant of any linear automorphism A of V such that A(L) = M.

For example, if L = 2Z and M = 10Z, then

[L : M] = [2Z : 10Z] = det([5]) = 5,

since 5 multiples 2Z onto 10Z.

The lattice index has the following properties:

• If M ⊂ L, then [L : M] = #(L/M).

• If M, L, N are any lattices in V, then

[L : N] = [L : M] · [M : N].

Definition 7.3.2 (Norm of Fractional Ideal). Suppose I is a fractional ideal of O_{K}. The norm of I is the lattice index

Norm(I) = [O_{K} : I] ∈ Q_{≥0},

or 0 if I = 0.

Note that if I is an integral ideal, then Norm(I) = #(O_{K}/I).

Lemma 7.3.3. Suppose a ∈ K and I is an integral ideal. Then

Norm(aI) = | Norm_{K/Q}(a)| Norm(I).

Proof. By properties of the lattice index mentioned above we have

[O_{K} : aI] = [O_{K} : I] · [I : aI] = Norm(I) · | Norm_{K/Q}(a)|.

Here we have used that [I : aI] = | Norm_{K/Q}(a)|, which is because left multiplication ℓ_{a} is an automorphism of K that sends I onto aI, so [I : aI] = | det(ℓ_{a})| = | Norm_{K/Q}(a)|.

Proposition 7.3.4. If I and J are fractional ideals, then

Norm(IJ) = Norm(I) · Norm(J).

Proof. By Lemma 7.3.3, it suffices to prove this when I and J are integral ideals. If I and J are coprime, then Theorem 6.1.5 (the Chinese Remainder Theorem) implies that Norm(IJ) = Norm(I) · Norm(J). Thus we reduce to the case when I = 𝔭^{m} and J = 𝔭^{k} for some prime ideal 𝔭 and integers m, k. By Proposition 6.3.3, which is a consequence of CRT, the filtration of O_{K}/𝔭^{n} given by powers of 𝔭 has successive quotients isomorphic to O_{K}/𝔭. Thus we see that #(O_{K}/𝔭^{n}) = #(O_{K}/𝔭)^{n}, which proves that Norm(𝔭^{n}) = Norm(𝔭)^{n}.

We will use the following proposition in the next chapter when we prove finiteness of class groups.

Proposition 7.3.5. Fix a number field K. Let B be a positive integer. There are only finitely many integral ideals I of O_{K} with norm at most B.

Proof. An integral ideal I is a subgroup of O_{K} of index equal to the norm of I. If G is any finitely generated abelian group, then there are only finitely many subgroups of G of index at most B, since the subgroups of index dividing an integer n are all subgroups of G that contain nG, and the group G/nG is finite.

Finiteness of the Class Group

Frequently O_{K} is not a principal ideal domain. This chapter is about a way to understand how badly O_{K} fails to be a principal ideal domain. The class group of O_{K} measures this failure. As one sees in a course on Class Field Theory, the class group and its generalizations also yield deep insight into the extensions of K that are Galois with abelian Galois group.

8.1 The Class Group

Definition 8.1.1 (Class Group). Let O_{K} be the ring of integers of a number field K. The class group C_{K} of K is the group of fractional ideals modulo the sugroup of principal fractional ideals (a), for a ∈ K.

Note that if we let Div(O_{K}) denote the group of fractional ideals, then we have an exact sequence

0 → O_{K}^{∗} → K^{∗} → Div(O_{K}) → C_{K} → 0.

That the class group C_{K} is finite follows from the first part of the following theorem and the fact that there are only finitely many ideals of norm less than a given integer (Proposition 7.3.5).

Theorem 8.1.2 (Finiteness of the Class Group). Let K be a number field. There is a constant C_{r,s} that depends only on the number r, s of real and pairs of complex conjugate embeddings of K such that every ideal class of O_{K} contains an integral ideal of norm at most C_{r,s}\sqrt{|d_{K}|}, where d_{K} = Disc(O_{K}). Thus by Proposition 7.3.5 the class group C_{K} of K is finite. One can choose C_{r,s} such that every ideal class in C_{K} contains an integral ideal of norm at most

\sqrt{|d_{K}|} · (\frac{4}{π} )^{s} \frac{n!}{n^{n}} .

The explicit bound in the theorem is called the Minkowski bound, and it is the best known general bound, which doesn’t depend on unproven conjectures.

The following two examples illustrate how to apply Theorem 8.1.2 to compute C_{K} in simple cases. Example 8.1.3. Let K = Q[i]. Then n = 2, s = 1, and |d_{K}| = 4, so the Minkowski bound is

\sqrt{4} · (\frac{4}{π} )^{1} \frac{2!}{2^{2}} = \frac{4}{π} < 2.

Thus every fractional ideal is equivalent to an ideal of norm 1. Since (1) is the only ideal of norm 1, every ideal is principal, so C_{K} is trivial. Example 8.1.4. Let K = Q(\sqrt{10}). We have O_{K} = Z[\sqrt{10}], so n = 2, s = 0, |d_{K}| = 40, and the Minkowski bound is

\sqrt{40} · (\frac{4}{π} )^{0} · \frac{2!}{2^{2}} = 2 · \sqrt{10} · \frac{1}{2} = \sqrt{10} = 3.162277 ….

Theorem 8.1.2 implies that every ideal class has a representative that is an integral ideal of norm 1, 2, or 3. The ideal 2O_{K} is ramified in O_{K}, so

2O_{K} = (2, \sqrt{10}).

If (2, \sqrt{10}) were principal, say (α), then α = a + b\sqrt{10} would have norm ±2. Then the equation

x^{2} − 10y^{2} = ±2,  (8.1.1)

would have an integer solution. But the squares mod 5 are 0, ±1, so (8.1.1) has no solutions. Thus (2, \sqrt{10}) defines a nontrivial element of the class group, and it has order 2 since its square is the principal ideal 2O_{K}. Thus 2 | #C_{K}.

To find the integral ideals of norm 3, we factor x^{2} − 10 modulo 3, and see that

3O_{K} = (3, 2 + \sqrt{10}) · (3, 4 + \sqrt{10}).

If either of the prime divisors of 3O_{K} were principal, then the equation x^{2} − 10y^{2} = ±3 would have an integer solution. Since it doesn’t even have one mod 5, the prime divisors of 3O_{K} are both nontrivial elements of the class group. Let

α = \frac{4 + \sqrt{10}}{2 + \sqrt{10}} = \frac{1}{3} · (1 + \sqrt{10}).

Then

(3, 2 + \sqrt{10}) · (α) = (3α, 4 + \sqrt{10}) = (1 + \sqrt{10}, 4 + \sqrt{10}) = (3, 4 + \sqrt{10}),

so the classes over 3 are equal.

In summary, we now know that every element of C_{K} is equivalent to one of

(1), (2, \sqrt{10}), or (3, 2 + \sqrt{10}).

Thus the class group is a group of order at most 3 that contains an element of order 2. Thus it must have order 2.

Before proving Theorem 8.1.2, we prove a few lemmas. The strategy of the proof is to start with any nonzero ideal I, and prove that there is some nonzero a ∈ K, with very small norm, such that aI is an integral ideal. Then Norm(aI) = Norm_{K/Q}(a) Norm(I) will be small, since Norm_{K/Q}(a) is small. The trick is to determine precisely how small an a we can choose subject to the condition that aI is an integral ideal, i.e., that a ∈ I^{−1}.

Let S be a subset of V = R^{n}. Then S is convex if whenever x, y ∈ S then the line connecting x and y lies entirely in S. We say that S is symmetric about the origin if whenever x ∈ S then −x ∈ S also. If L is a lattice in V, then the volume of V/L is the volume of the compact real manifold V/L, which is the same thing as the absolute value of the determinant of any matrix whose rows form a basis for L.

Lemma 8.1.5 (Blichfeld). Let L be a lattice in V = R^{n}, and let S be a bounded closed convex subset of V that is symmetric about the origin. Assume that Vol(S) ≥ 2^{n} Vol(V/L). Then S contains a nonzero element of L.

Proof. First assume that Vol(S) > 2^{n} · Vol(V/L). If the map π : \frac{1}{2}S → V/L is injective, then

\frac{1}{2^{n}} Vol(S) = Vol (\frac{1}{2}S) ≤ Vol(V/L),

a contradiction. Thus π is not injective, so there exist P_{1} ≠ P_{2} ∈ \frac{1}{2}S such that P_{1} − P_{2} ∈ L. By symmetry −P_{2} ∈ \frac{1}{2}S. By convexity, the average \frac{1}{2}(P_{1} − P_{2}) of P_{1} and −P_{2} is also in \frac{1}{2}S. Thus 0 ≠ P_{1} − P_{2} ∈ S ∩ L, as claimed.

Next assume that Vol(S) = 2^{n} · Vol(V/L). Then for all ε > 0 there is 0 ≠ Q_{ε} ∈ L ∩ (1 + ε)S, since Vol((1 + ε)S) > Vol(S) = 2^{n} · Vol(V/L). If ε < 1 then the Q_{ε} are all in L ∩ 2S, which is finite since 2S is bounded and L is discrete. Hence there exists nonzero Q = Q_{ε} ∈ L ∩ (1 + ε)S for arbitrarily small ε. Since S is closed, Q ∈ L ∩ S.

Lemma 8.1.6. If L_{1} and L_{2} are lattices in V, then

Vol(V/L_{2}) = Vol(V/L_{1}) · [L_{1} : L_{2}].

Proof. Let A be an automorphism of V such that A(L_{1}) = L_{2}. Then A defines an isomorphism of real manifolds V/L_{1} → V/L_{2} that changes volume by a factor of | det(A)| = [L_{1} : L_{2}]. The claimed formula then follows, since [L_{1} : L_{2}] = | det(A)|, by definition.

Fix a number field K with ring of integers O_{K}.

Let σ_{1}, …, σ_{r} are the real embeddings of K and σ_{r+1}, …, σ_{r+s} are half the complex embeddings of K, with one representative of each pair of complex conjugate embeddings. Let σ : K → V = R^{n} be the embedding

σ(x) = (σ_{1}(x), σ_{2}(x), …, σ_{r}(x),
Re(σ_{r+1}(x)), …, Re(σ_{r+s}(x)), Im(σ_{r+1}(x)), …, Im(σ_{r+s}(x))),

Note that this σ is not the same as the one at the beginning of Section 7.2.

Lemma 8.1.7.

Vol(V/σ(O_{K})) = 2^{−s}\sqrt{|d_{K}|}.

Proof. Let L = σ(O_{K}). From a basis w_{1}, …, w_{n} for O_{K} we obtain a matrix A whose ith row is

(σ_{1}(w_{i}), ⋯, σ_{r}(w_{i}), Re(σ_{r+1}(w_{i})), …, Re(σ_{r+s}(w_{i})), Im(σ_{r+1}(w_{i})), …, Im(σ_{r+s}(w_{i})))

and whose determinant has absolute value equal to the volume of V/L. By doing the following three column operations, we obtain a matrix whose rows are exactly the images of the w_{i} under all embeddings of K into C, which is the matrix that came up when we defined d_{K} = Disc(O_{K}) in Section 7.2.

1. Add i = \sqrt{−1} times each column with entries Im(σ_{r+j}(w_{i})) to the column with entries Re(σ_{r+j}(w_{i})).

2. Multiply all columns Im(σ_{r+j}(w_{i})) by −2i, thus changing the determinant by (−2i)^{s}.

3. Add each columns that now has entries Re(σ_{r+j}(w_{i})) + iIm(σ_{r+j}(w_{i})) to the the column with entries −2iIm(σ_{r+j}(w_{i})) to obtain columns Re(σ_{r+j}(w_{i})) − iIm(σ_{r+j}(w_{i})).

Recalling the definition of discriminant, we see that if B is the matrix constructed by the above three operations, then det(B)^{2} = d_{K}. Thus

Vol(V/L) = | det(A)| = |(−2i)^{−s} · det(B)| = 2^{−s}\sqrt{|d_{K}|}.

Lemma 8.1.8. If I is a fractional O_{K}-ideal, then σ(I) is a lattice in V, and

Vol(V/σ(I)) = 2^{−s}\sqrt{|d_{K}|} · Norm(I).

Proof. We know that [O_{K} : I] = Norm(I) is a nonzero rational number. Lemma 8.1.7 implies that σ(O_{K}) is a lattice in V, since σ(O_{K}) has rank n as abelian group and spans V, so σ(I) is also a lattice in V. For the volume formula, combine Lemmas 8.1.6–8.1.7 to get

Vol(V/σ(I)) = Vol(V/σ(O_{K})) · [O_{K} : I] = 2^{−s}\sqrt{|d_{K}|} Norm(I).

Proof of Theorem 8.1.2. Let K be a number field with ring of integers O_{K}, let σ : K ↪ V ≅ R^{n} be as above, and let f : V → R be the function defined by

f(x_{1}, …, x_{n}) = |x_{1} ⋯ x_{r} · (x_{r+1}^{2} + x_{(r+1)+s}^{2}) ⋯ (x_{r+s}^{2} + x_{n}^{2})|.

Notice that if x ∈ K then f(σ(x)) = | Norm_{K/Q}(x)|, and

f(ax_{1}, …, ax_{n}) = |a|^{n}f(x_{1}, …, x_{n}).

Let S ⊂ V be any closed, bounded, convex, subset with positive volume that is symmetric with respect to the origin and has positive volume. Since S is closed and bounded,

M = max{f(x) : x ∈ S}

exists.

Suppose I is any fractional ideal of O_{K}. Our goal is to prove that there is an integral ideal aI with small norm. We will do this by finding an appropriate a ∈ I^{−1}. By Lemma 8.1.8,

c = Vol(V/σ(I^{−1})) = 2^{−s}\sqrt{|d_{K}|} · Norm(I)^{−1} = \frac{2^{−s}\sqrt{|d_{K}|}}{Norm(I)}.

Let λ = 2 · (\frac{c}{v} )^{1/n}, where v = Vol(S). Then

Vol(λS) = λ^{n} Vol(S) = 2^{n} \frac{c}{v} · v = 2^{n} · c = 2^{n} Vol(V/I^{−1}),

so by Lemma 8.1.5 there exists 0 ≠ b ∈ σ(I^{−1}) ∩ λS. Let a ∈ I^{−1} be such that σ(a) = b. Since M is the largest norm of an element of S, the largest norm of an element of σ(I^{−1}) ∩ λS is at most λ^{n}M, so

| Norm_{K/Q}(a)| ≤ λ^{n}M.

Since a ∈ I^{−1}, we have aI ⊂ O_{K}, so aI is an integral ideal of O_{K} that is equivalent to I, and

Norm(aI) = | Norm_{K/Q}(a)| · Norm(I)

≤ λ^{n}M · Norm(I)

≤ 2^{n} \frac{c}{v} M · Norm(I)

= 2^{n} · 2^{−s}\sqrt{|d_{K}|} · M · v^{−1}

= 2^{r+s}\sqrt{|d_{K}|} · M · v^{−1}.

Notice that the right hand side is independent of I. It depends only on r, s, |d_{K}|, and our choice of S. This completes the proof of the theorem, except for the assertion that S can be chosen to give the claim at the end of the theorem, which we leave as an exercise.

Corollary 8.1.9. Suppose that K ≠ Q is a number field. Then |d_{K}| > 1.

Proof. Applying Theorem 8.1.2 to the unit ideal, we get the bound

1 ≤ \sqrt{|d_{K}|} · (\frac{4}{π} )^{s} \frac{n!}{n^{n}} .

Thus

\sqrt{|d_{K}|} ≥ (\frac{π}{4} )^{s} \frac{n^{n}}{n!} ,

and the right hand quantity is strictly bigger than 1 for any s ≤ n/2 and any n > 1 (exercise).

A prime p ramifies in O_{K} if and only if d | d_{K}, so the corollary implies that every extension of Q is ramified at some prime.

8.2 Class Number 1

The fields of class number 1 are exactly the fields for which O_{K} is a principal ideal domain. How many such number fields are there? We still don’t know.

Conjecture 8.2.1. There are infinitely many number fields K such that the class group of K has order 1.

For example, if we consider real quadratic fields K = Q(\sqrt{d}), with d positive and square free, many class numbers are probably 1, as suggested by the Magma output below. It looks like 1’s will keep appearing infinitely often, and indeed Cohen and Lenstra conjecture that they do ([CL84]).

   for d in [2..1000] do
       if IsFundamentalDiscriminant(d) then
           h := ClassNumber(NumberField(x^2-d));
           if h eq 1 then
               printf "%o, ", d;
           end if;
       end if;
   end for;
   5, 8, 12, 13, 17, 21, 24, 28, 29, 33, 37, 41, 44, 53, 56, 57, 61,
   69, 73, 76, 77, 88, 89, 92, 93, 97, 101, 109, 113, 124, 129, 133,
   137, 141, 149, 152, 157, 161, 172, 173, 177, 181, 184, 188, 193,
   197, 201, 209, 213, 217, 233, 236, 237, 241, 248, 249, 253, 268,
   269, 277, 281, 284, 293, 301, 309, 313, 317, 329, 332, 337, 341,
   344, 349, 353, 373, 376, 381, 389, 393, 397, 409, 412, 413, 417,
   421, 428, 433, 437, 449, 453, 457, 461, 472, 489, 497, 501, 508,
   509, 517, 521, 524, 536, 537, 541, 553, 556, 557, 569, 573, 581,
   589, 593, 597, 601, 604, 613, 617, 632, 633, 641, 649, 652, 653,
   661, 664, 668, 669, 673, 677, 681, 701, 709, 713, 716, 717, 721,
   737, 749, 753, 757, 764, 769, 773, 781, 789, 796, 797, 809, 813,

   821, 824, 829, 844, 849, 853, 856, 857, 869, 877, 881, 889, 893,
   908, 913, 917, 921, 929, 933, 937, 941, 953, 956, 973, 977, 989, 997

In contrast, if we look at class numbers of quadratic imaginary fields, only a few at the beginning have class number 1.

   for d in [-1000..-1] do
       if IsFundamentalDiscriminant(d) then
           h := ClassNumber(NumberField(x^2-d));
           if h eq 1 then
               printf "%o, ", d;
           end if;
       end if;
   end for;
   -163, -67, -43, -19, -11, -8, -7, -4, -3

It is a theorem that was proved independently and in different ways by Heegner, Stark, and Baker that the above list of 9 fields is the complete list with class number 1. More generally, it is possible (in theory), using deep work of Gross, Zagier, and Goldfeld involving zeta functions and elliptic curves, to enumerate all quadratic number fields with a given class number.

The function in PARI for computing the order of the class group of a quadratic field in PARI is called qfbclassno.

?qfbclassno
 qfbclassno(x,{flag=0}): class number of discriminant x using
 Shanks's method by default. If (optional) flag is set to 1,
 use Euler products.
? for(d=2,1000, if(isfundamental(d), h=qfbclassno(d);if(h==1,print1(d,", "))))
5, 8, 12, 13, 17, 21, 24, ... 977, 989, 997,
? for(d=-1000,-1,if(isfundamental(d), h=qfbclassno(d);if(h==1,print1(d,", "))))
-163, -67, -43, -19, -11, -8, -7, -4, -3

PARI does the above class number computations vastly faster than MAGMA. However, note the following ominous warning in the PARI manual, which has been there in some form since 1997:

Important warning. For D < 0, this function may give incorrect results when the class group has a low exponent (has many cyclic factors), because implementing Shank’s method in full generality slows it down immensely. It is therefore strongly recommended to double-check results using either the version with flag=1, the fucntion qfbhclassno(-D) or

     the function quadclassunit.

8.3 More About Computing Class Groups

If 𝔭 is a prime of O_{K}, then the intersection 𝔭 ∩ Z = pZ is a prime ideal of Z. We say that 𝔭 lies over p ∈ Z. Note 𝔭 lies over p ∈ Z if and only if 𝔭 is one of the prime factors in the factorization of the ideal pO_{K}. Geometrically, 𝔭 is a point of Spec(O_{K}) that lies over the point pZ of Spec(Z) under the map induced by the inclusion Z ↪ O_{K}.

Lemma 8.3.1. Let K be a number field with ring of integers O_{K}. Then the class group Cl(K) is generated by the prime ideals 𝔭 of O_{K} lying over primes p ∈ Z with p ≤ B_{K} = \sqrt{|d_{K}|} · (\frac{4}{π} )^{s} · \frac{n!}{n^{n}}, where s is the number of complex conjugate pairs of embeddings K ↪ C.

Proof. Theorem 8.1.2 asserts that every ideal class in Cl(K) is represented by an ideal I with Norm(I) ≤ B_{K}. Write I = ∏_{i=1}^{m} 𝔭_{i}^{e_{i}}, with each e_{i} ≥ 1. Then by multiplicativity of the norm, each 𝔭_{i} also satisfies Norm(𝔭_{i}) ≤ B_{K}. If 𝔭_{i} ∩ Z = pZ, then p | Norm(𝔭_{i}), since p is the residue characteristic of O_{K}/𝔭, so p ≤ B_{K}. Thus I is a product of primes 𝔭 that satisfies the norm bound of the lemma.

This is a sketch of how to compute Cl(K):

1. Use the algorithms of Chapter 5 to list all prime ideals 𝔭 of O_{K} that appear in the factorization of a prime p ∈ Z with p ≤ B_{K}.

2. Find the group generated by the ideal classes [𝔭], where the 𝔭 are the prime ideals found in step 1. (In general, this step can become fairly complicated.)

The following three examples illustrate computation of Cl(K) for K = Q(i), Q(\sqrt{5}) and Q(\sqrt{−6}).

Example 8.3.2. We compute the class group of K = Q(i). We have

n = 2, r = 0, s = 1, d_{K} = −4,

so

B_{K} = \sqrt{4} · (\frac{4}{π} )^{1} · (\frac{2!}{2^{2}} ) = \frac{8}{π} < 3.

Thus Cl(K) is generated by the prime divisors of 2. We have

2O_{K} = (1 + i)^{2},

so Cl(K) is generated by the principal prime ideal 𝔭 = (1 + i). Thus Cl(K) = 0 is trivial.

Example 8.3.3. We compute the class group of K = Q(\sqrt{5}). We have

n = 2, r = 2, s = 0, d_{K} = 5,

so

B = \sqrt{5} · (\frac{4}{π} )^{0} · (\frac{2!}{2^{2}} ) < 3.

Thus Cl(K) is generated by the primes that divide 2. We have O_{K} = Z[γ], where γ = \frac{1+\sqrt{5}}{2} satisfies x^{2} − x − 1. The polynomial x^{2} − x − 1 is irreducible mod 2, so 2O_{K} is prime. Since it is principal, we see that Cl(K) = 1 is trivial.

Example 8.3.4. In this example, we compute the class group of K = Q(\sqrt{−6}). We have

n = 2, r = 0, s = 1, d_{K} = −24,

so

B = \sqrt{24} · \frac{4}{π} · (\frac{2!}{2^{2}} ) ∼ 3.1.

Thus Cl(K) is generated by the prime ideals lying over 2 and 3. We have O_{K} = Z[\sqrt{−6}], and \sqrt{−6} satisfies x^{2} + 6 = 0. Factoring x^{2} + 6 modulo 2 and 3 we see that the class group is generated by the prime ideals

𝔭_{2} = (2, \sqrt{−6})  and  𝔭_{3} = (3, \sqrt{−6}).

Also, 𝔭_{2}^{2} = 2O_{K} and 𝔭_{3}^{2} = 3O_{K}, so 𝔭_{2} and 𝔭_{3} define elements of order dividing 2 in Cl(K).

Is either 𝔭_{2} or 𝔭_{3} principal? Fortunately, there is an easier norm trick that allows us to decide. Suppose 𝔭_{2} = (α), where α = a + b\sqrt{−6}. Then

2 = Norm(𝔭_{2}) = | Norm(α)| = (a + b\sqrt{−6})(a − b\sqrt{−6}) = a^{2} + 6b^{2}.

Trying the first few values of a, b ∈ Z, we see that this equation has no solutions, so 𝔭_{2} can not be principal. By a similar argument, we see that 𝔭_{3} is not principal either. Thus 𝔭_{2} and 𝔭_{3} define elements of order 2 in Cl(K).

Does the class of 𝔭_{2} equal the class of 𝔭_{3}? Since 𝔭_{2} and 𝔭_{3} define classes of order 2, we can decide this by finding the class of 𝔭_{2} · 𝔭_{3}. We have

𝔭_{2} · 𝔭_{3} = (2, \sqrt{−6}) · (3, \sqrt{−6}) = (6, 2\sqrt{−6}, 3\sqrt{−6}) ⊂ (\sqrt{−6}).

The ideals on both sides of the inclusion have norm 6, so by multiplicativity of the norm, they must be the same ideal. Thus 𝔭_{2} · 𝔭_{3} = (\sqrt{−6}) is principal, so 𝔭_{2} and 𝔭_{3} represent the same element of Cl(K). We conclude that

Cl(K) = ⟨𝔭_{2}⟩ = Z/2Z.

86 CHAPTER 8. FINITENESS OF THE CLASS GROUP

Dirichlet’s Unit Theorem

In this chapter we will prove Dirichlet’s unit theorem, which is a structure theorem for the group of units of the ring of integers of a number field. The answer is remarkably simple: if K has r real and s pairs of complex conjugate embeddings, then

O_{K}^{∗} ≈ Z^{r+s−1} × T,

where T is a finite cyclic group.

Many questions can be encoded as questions about the structure of the group of units. For example, Dirichlet’s unit theorem implies that the solutions to Pell’s equation x^{2} − dy^{2} = 1 form a free abelian group of rank 1.

9.1 The Group of Units

Definition 9.1.1 (Unit Group). The group of units U_{K} associated to a number field K is the group of elements of O_{K} that have an inverse in O_{K}.

Theorem 9.1.2 (Dirichlet). The group U_{K} is the product of a finite cyclic group of roots of unity with a free abelian group of rank r + s − 1, where r is the number of real embeddings of K and s is the number of complex conjugate pairs of embeddings.

(Note that we will prove a generalization of Theorem 9.1.2 in Section 13.1 below.) We prove the theorem by defining a map φ : U_{K} → R^{r+s}, and showing that the

kernel of φ is finite and the image of φ is a lattice in a hyperplane in R^{r+s}. The trickiest part of the proof is showing that the image of φ spans a hyperplane, and we do this by a clever application of Blichfeld’s Lemma 8.1.5. Remark 9.1.3. Theorem 9.1.2 is due to Dirichlet who lived 1805–1859. Thomas Hirst described Dirichlet thus:

He is a rather tall, lanky-looking man, with moustache and beard about to turn grey with a somewhat harsh voice and rather deaf. He was unwashed, with his cup of coffee and cigar. One of his failings is forgetting time, he pulls his watch out, finds it past three, and runs out without even finishing the sentence.

Koch wrote that:

... important parts of mathematics were influenced by Dirichlet. His proofs characteristically started with surprisingly simple observations, followed by extremely sharp analysis of the remaining problem.

I think Koch’s observation nicely describes the proof we will give of Theorem 9.1.2. Units have a simple characterization in terms of their norm.

Proposition 9.1.4. An element a ∈ O_{K} is a unit if and only if Norm_{K/Q}(a) = ±1.

Proof. Write Norm = Norm_{K/Q}. If a is a unit, then a^{−1} is also a unit, and 1 = Norm(a) Norm(a^{−1}). Since both Norm(a) and Norm(a^{−1}) are integers, it follows that Norm(a) = ±1. Conversely, if a ∈ O_{K} and Norm(a) = ±1, then the equation aa^{−1} = 1 = ± Norm(a) implies that a^{−1} = ± Norm(a)/a. But Norm(a) is the product of the images of a in C by all embeddings of K into C, so Norm(a)/a is also a product of images of a in C, hence a product of algebraic integers, hence an algebraic integer. Thus a^{−1} ∈ K ∩ \overline{Z} = O_{K}, which proves that a is a unit.

Let r be the number of real and s the number of complex conjugate embeddings of K into C, so n = [K : Q] = r + 2s. Define the log embedding

φ : U_{K} → R^{r+s}

by

φ(a) = (log |σ_{1}(a)|, …, log |σ_{r+s}(a)|).

(Here |z| is the usual absolute value of z = x + iy ∈ C, so |z| = \sqrt{x^{2} + y^{2}}.)

Lemma 9.1.5. The image of φ lies in the hyperplane

H = {(x_{1}, …, x_{r+s}) ∈ R^{r+s} : x_{1} + ⋯ + x_{r} + 2x_{r+1} + ⋯ + 2x_{r+s} = 0}. (9.1.1)

Proof. If a ∈ U_{K}, then by Proposition 9.1.4,

(∏_{i=1}^{r} |σ_{i}(a)|) · ( ∏_{i=r+1}^{r+s} |σ_{i}(a)|^{2}) = | Norm_{K/Q}(a)| = 1.

Taking logs of both sides proves the lemma.

Lemma 9.1.6. The kernel of φ is finite.

Proof. We have

Ker(φ) ⊂ {a ∈ O_{K} : |σ_{i}(a)| = 1 for i = 1, …, r + s}
⊂ σ(O_{K}) ∩ X,

where X is the bounded subset of R^{r+s} of elements all of whose coordinates have absolute value at most 1. Since σ(O_{K}) is a lattice (see Proposition 2.4.4), the intersection σ(O_{K}) ∩ X is finite, so Ker(φ) is finite.

Lemma 9.1.7. The kernel of φ is a finite cyclic group.

Proof. This follows from the general fact that any finite subgroup G of the multiplicative group K^{∗} of a field is cyclic. Indeed, if n is the exponent of G, then every element of G satisfies x^{n} − 1. A polynomial of degree n over a field has at most n roots, so G has order at most n, hence G is cyclic of order n.

To prove Theorem 9.1.2, it suffices to prove that Im(φ) is a lattice in the hyperplane H of (9.1.1), which we view as a vector space of dimension r + s − 1.

Define an embedding

σ : K ↪ R^{n}  (9.1.2)

given by σ(x) = (σ_{1}(x), …, σ_{r+s}(x)), where we view C ≅ R × R via a + bi ↦ (a, b). Thus this is the embedding

x ↦ (σ_{1}(x), σ_{2}(x), …, σ_{r}(x),
Re(σ_{r+1}(x)), Im(σ_{r+1}(x)), …, Re(σ_{r+s}(x)), Im(σ_{r+s}(x))).

Lemma 9.1.8. The image φ : U_{K} → R^{r+s} is discrete.

Proof. We will show that for any bounded subset X of R^{r+s}, the intersection φ(U_{K}) ∩ X is finite. If X is bounded, then for any u ∈ Y = φ^{−1}(X) ⊂ U_{K} the coordinates of σ(u) are bounded, since | log(x)| is bounded on bounded subsets of [1, ∞). Thus σ(Y) is a bounded subset of R^{n}. Since σ(Y) ⊂ σ(O_{K}), and σ(O_{K}) is a lattice in R^{n}, it follows that σ(Y) is finite; moreover, σ is injective, so Y is finite. Thus φ(U_{K}) ∩ X ⊂ φ(Y) ∩ X is finite.

We will use the following lemma in our proof of Theorem 9.1.2.

Lemma 9.1.9. Let n ≥ 2 be an integer, suppose w_{1}, …, w_{n} ∈ R are not all equal, and suppose A, B ∈ R are positive. Then there exist d_{1}, …, d_{n} ∈ R_{>0} such that

|w_{1} log(d_{1}) + ⋯ + w_{n} log(d_{n})| > B

and d_{1} ⋯ d_{n} = A.

Proof. Order the w_{i} so that w_{1} ≠ 0. By hypothesis there exists a w_{j} such that w_{j} ≠ w_{1}, and again re-ordering we may assume that j = 2. Set d_{3} = ⋯ = d_{r+s} = 1. Then d_{1}d_{2} = A and log(1) = 0, so

|∑_{i=1}^{r+s} w_{i} log(d_{i})| = |w_{1} log(d_{1}) + w_{2} log(d_{2})|
= |w_{1} log(d_{1}) + w_{2} log(A/d_{1})|
= |(w_{1} − w_{2}) log(d_{1}) + w_{2} log(A)|

Since w_{1} ≠ w_{2}, we have |(w_{1} − w_{2}) log(d_{1}) + w_{2} log(A)| → ∞ as d_{1} → ∞.

Proof of Theorem 9.1.2. By Lemma 9.1.8, the image φ(U_{K}) is discrete, so it remains to show that φ(U_{K}) spans H. Let W be the R-span of the image φ(U_{K}), and note that W is a subspace of H, by Lemma 9.1.5. We will show that W = H indirectly by showing that if v ∉ H^{⊥}, where ⊥ is the orthogonal complement with respect to the dot product on R^{r+s}, then v ∉ W^{⊥}. This will show that W^{⊥} ⊂ H^{⊥}, hence that H ⊂ W, as required.

Thus suppose z = (z_{1}, …, z_{r+s}) ∉ H^{⊥}. Define a function f : K^{∗} → R by

f(x) = z_{1} log |σ_{1}(x)| + ⋯ + z_{r+s} log |σ_{r+s}(x)|.  (9.1.3)

Note that f = 0 if and only if z ∈ W^{⊥}, so to show that z ∉ W^{⊥} we show that there exists some u ∈ U_{K} with f(u) ≠ 0.

Let

A = \sqrt{|d_{K}|} · (\frac{2}{π} )^{s} ∈ R_{>0}.

Choose any positive real numbers c_{1}, …, c_{r+s} ∈ R_{>0} such that

c_{1} ⋯ c_{r} · (c_{r+1} ⋯ c_{r+s})^{2} = A.

Let

S = {(x_{1}, …, x_{n}) ∈ R^{n} :
|x_{i}| ≤ c_{i} for 1 ≤ i ≤ r,
|x_{i}^{2} + x_{i+s}^{2}| ≤ c_{i}^{2} for r < i ≤ r + s} ⊂ R^{n}.

Then S is closed, bounded, convex, symmetric with respect to the origin, and of dimension r + 2s, since S is a product of r intervals and s discs, each of which has these properties. Viewing S as a product of intervals and discs, we see that the volume of S is

Vol(S) = ∏_{i=1}^{r}(2c_{i}) · ∏_{i=1}^{s}(πc_{i}^{2}) = 2^{r} · π^{s} · A.

Recall Blichfeldt’s Lemma 8.1.5, which asserts that if L is a lattice and S is closed, bounded, etc., and has volume at least 2^{n} · Vol(V/L), then S ∩ L contains a nonzero element. To apply this lemma, we take L = σ(O_{K}) ⊂ R^{n}, where σ is as in (9.1.2). By Lemma 8.1.7, we have Vol(R^{n}/L) = 2^{−s}\sqrt{|d_{K}|}. To check the hypothesis of Blichfeld’s lemma, note that

Vol(S) = 2^{r+s}\sqrt{|d_{K}|} = 2^{n}2^{−s}\sqrt{|d_{K}|} = 2^{n} Vol(R^{n}/L).

Thus there exists a nonzero element a in S ∩ σ(O_{K}), so there is a nonzero a ∈ O_{K} such that |σ_{i}(a)| ≤ c_{i} for 1 ≤ i ≤ r + s. We then have

| Norm_{K/Q}(a)| = | ∏_{i=1}^{r+2s} σ_{i}(a)|

= ∏_{i=1}^{r} |σ_{i}(a)| · ∏_{i=r+1}^{s} |σ_{i}(a)|^{2}

≤ c_{1} ⋯ c_{r} · (c_{r+1} ⋯ c_{r+s})^{2} = A.

Since a ∈ O_{K} is nonzero, we also have

| Norm_{K/Q}(a)| ≥ 1.

Moreover, if for any i ≤ r, we have |σ_{i}(a)| < \frac{c_{i}}{A}, then

1 ≤ | Norm_{K/Q}(a)| < c_{1} ⋯ \frac{c_{i}}{A} ⋯ c_{r} · (c_{r+1} ⋯ c_{r+s})^{2} = \frac{A}{A} = 1,

a contradiction, so |σ_{i}(a)| ≥ \frac{c_{i}}{A} for i = 1, …, r. Likewise, |σ_{i}(a)|^{2} ≥ \frac{c_{i}^{2}}{A}, for i = r + 1, …, r + s. Rewriting this we have

\frac{c_{i}}{|σ_{i}(a)|} ≥ A for i ≤ r and (\frac{c_{i}}{|σ_{i}(a)|})^{2} ≥ A for i = r + 1, …, r + s. (9.1.4)

Our overall strategy is to use an appropriately chosen a to construct a unit u ∈ U_{K} such f(u) ≠ 0. First, let b_{1}, …, b_{m} be representative generators for the finitely many nonzero principal ideals of O_{K} of norm at most A. Since | Norm_{K/Q}(a)| ≤ A, we have (a) = (b_{j}), for some j, so there is a unit u ∈ O_{K} such that a = ub_{j}.

Let

t = t(c_{1}, …, c_{r+s}) = z_{1} log(c_{1}) + ⋯ + z_{r+s} log(c_{r+s}),

and recall f : K^{∗} → R defined in (9.1.3) above. We first show that

|f(u) − t| ≤ B = |f(b_{j})| + log(A) · (∑_{i=1}^{r} |z_{i}| + \frac{1}{2} · ∑_{i=r+1}^{s} |z_{i}|) .  (9.1.5)

We have

|f(u) − t| = |f(a) − f(b_{j}) − t|

≤ |f(b_{j})| + |t − f(a)|

= |f(b_{j})| + |z_{1}(log(c_{1}) − log(|σ_{1}(a)|)) + ⋯ + z_{r+s}(log(c_{r+s}) − log(|σ_{r+s}(a)|))|

= |f(b_{j})| + |z_{1} · log(c_{1}/|σ_{1}(a)|) + ⋯ + \frac{z_{r+s}}{2} · log((c_{r+s}/|σ_{r+s}(a)|)^{2})|

≤ |f(b_{j})| + log(A) · (∑_{i=1}^{r} |z_{i}| + \frac{1}{2} · ∑_{i=r+1}^{s} |z_{i}|) .

In the last step we use (9.1.4).

A wonderful property of (9.1.5) is that the bound B on the right hand side does not depend on our choice of c_{i}. For example, if we can choose positive real numbers c_{i} such that

c_{1} ⋯ c_{r} · (c_{r+1} ⋯ c_{r+s})^{2} = A
|t(c_{1}, …, c_{r+s})| > B,

then |f(u) − t| ≤ B would imply that |f(u)| > 0, which is exactly what we aimed to prove. If r + s = 1, then we are trying to prove that φ(U_{K}) is a lattice in R^{0} = R^{r+s−1}, which is automatically true, so assume r + s > 1. It is possible to choose such c_{i} such that |f(u) − t| > B, using Lemma 9.1.9. Write

z_{1} log(c_{1}) + ⋯ + z_{r+s} log(c_{r+s}) =

z_{1} log(c_{1}) + ⋯ + z_{r} log(c_{r}) + \frac{1}{2} · z_{r+1} log(c_{r+1}^{2}) + ⋯ + \frac{1}{2} · z_{r+s} log(c_{r+s}^{2})

= w_{1} log(d_{1}) + ⋯ + w_{r} log(d_{r}) + w_{r+1} log(d_{r+1}) + ⋯ + ·w_{r+s} log(d_{r+s}),

where w_{i} = z_{i} and d_{i} = c_{i} for i ≤ r, and w_{i} = \frac{1}{2}z_{i} and d_{i} = c_{i}^{2} for r < i ≤ r + s, The condition that z ∉ H^{⊥} is that the w_{i} are not all the same, and in our new coordinates the lemma is equivalent to showing that | ∑_{i=1}^{r+s} w_{i} log(d_{i})| > B, subject to the condition that ∏_{i=1}^{r+s} d_{i} = A. But this is exactly what Lemma 9.1.9 shows. It is thus possible to find a unit u such that |f(u)| > 0. Thus z ∉ W^{⊥}, so W^{⊥} ⊂ Z^{⊥}, whence Z ⊂ W, which finishes the proof Theorem 9.1.2.

9.2 Examples with MAGMA

9.2.1 Pell’s Equation

The Pell’s equation problem is, given square-free d > 0, to find all positive integer solutions (x, y) to the equation x^{2} − dy^{2} = 1. Note that if x + y\sqrt{d} ∈ Q(\sqrt{d}), then

Norm(x + y\sqrt{d}) = (x + y\sqrt{d})(x − y\sqrt{d}) = x^{2} − dy^{2}.

The solutions to Pell’s equation thus form a finite-index subgroup of the group of units in the ring of integers of Q(\sqrt{d}). Dirichlet’s unit theorem implies that for any d the solutions to Pell’s equation form an infinite cyclic group, a fact that takes substantial work to prove using only elementary number theory (for example, using continued fractions).

We first solve Pell’s equation x^{2} − 5y^{2} = 1 with d = 5 by finding the units of a field using Magma:

   > R<x> := PolynomialRing(RationalField());
   > K<a> := NumberField(x^2-5);
   > G, phi := UnitGroup(K);
   > G;
   Abelian Group isomorphic to Z/2 + Z
   Defined on 2 generators
   Relations:
       2*G.1 = 0
   > K!phi(G.1);
   -1
   > u := K!phi(G.2); u;

1/2*(a + 1)
> u^2;
1/2*(a + 3)
> u^3;
a + 2
> Norm(u);
-1
> Norm(u^3);
-1
> Norm(u^6);
1
> fund := u^6;
> fund;
4*a + 9
> 9^2 - 5*4^2;
1
> fund^2;
72*a + 161
> fund^3;
1292*a + 2889
> fund^4;
23184*a + 51841
> fund^5;
416020*a + 930249

The MathSciNet review of [Len02] says: “This wonderful article begins with history and some elementary facts and proceeds to greater and greater depth about the existence of solutions to Pell equations and then later the algorithmic issues of finding those solutions. The cattle problem is discussed, as are modern smooth number methods for solving Pell equations and the algorithmic issues of representing very large solutions in a reasonable way.”

The simplest solutions to Pell’s equation can be huge, even when d is quite small. Read Lenstra’s paper for some examples from over two thousand years ago.

K<a> := NumberField(x^2-NextPrime(10^7));
> G, phi := UnitGroup(K);
> K!phi(G.2);
    1635802598803463282255922381210946254991426776931429155067472530\
    003400641003657678728904388162492712664239981750303094365756\
    106316392723776016806037958837914778176119741840754457028237\
    899759459100428895693238165048098039*a +
    517286692885814967470170672368346798303629034373575202975075\
    605058714958080893991274427903448098643836512878351227856269\
    086856679078304979321047765031073345259902622712059164969008\
    6336036036403311756634562204182936222240930

9.2.2 Examples with Various Signatures

In this section we give examples for various (r, s) pairs. First we consider K = Q(i).

> R<x> := PolynomialRing(RationalField());
> K<a> := NumberField(x^2+1);
> Signature(K);
0 1    // r=0, s=1
> G,phi := UnitGroup(K);
> G;
Abelian Group isomorphic to Z/4
Defined on 1 generator
Relations:
    4*G.1 = 0
> K!phi(G.1);
-a

The Signature command returns the number of real and complex conjugate embeddings of K into C. The command UnitGroup, which we used above, returns the unit group U_{K} as an abstract abelian group and a homomorphism U_{K} → O_{K}. Note that we have to bang (!) into K to get the units as elements of K.

Next we consider K = Q(\sqrt[3]{2}).

> K<a> := NumberField(x^3-2);
> Signature(K);
1 1
> G,phi := UnitGroup(K);
> G;
Abelian Group isomorphic to Z/2 + Z
Defined on 2 generators
Relations:
    2*G.1 = 0
> K!phi(G.2);
-a + 1

The Conjugates command returns the sequence (σ_{1}(x), …, σ_{r+2s}(x)) of all embeddings of x ∈ K into C. The Logs command returns the sequence

(log(|σ_{1}(x)|), …, log(|σ_{r+s}(x)|)).

Continuing the above example, we have

> Conjugates(K!phi(G.2));
[ -0.25992104989487316476721060727822835057025146470099999999995,
1.6299605249474365823836053036391141752851257323513843923104 -
1.09112363597172140356007261418980888132587333874018547370560*i,
1.6299605249474365823836053036391141752851257323513843923104 +

1.09112363597172140356007261418980888132587333874018547370560*i ]
> Logs(K!phi(G.2));   // image of infinite order unit -- generates a lattice
[ -1.34737734832938410091818789144565304628306227332099999999989\
, 0.6736886741646920504590939457228265231415311366603288999999 ]
> Logs(K!phi(G.1));   // image of -1
[ 0.E-57, 0.E-57 ]

Let’s try a field such that r + s − 1 = 2. First, one with r = 0 and s = 3:

> K<a> := NumberField(x^6+x+1);
> Signature(K);
0 3
> G, phi := UnitGroup(K);
> G;
Abelian Group isomorphic to Z/2 + Z + Z
Defined on 3 generators
Relations:
    2*G.1 = 0
> u1 := K!phi(G.2); u1;
a
> u2 := K!phi(G.3); u2;
-2*a^5 - a^3 + a^2 + a
> Logs(u1);
[ 0.11877157353322375762475480482285510811783185904379239999998,
0.048643909752673399635150940533329986148342128393119899999997,
-0.16741548328589715725990574535618509426617398743691229999999 ]
> Logs(u2);
[ 1.6502294567845884711894772749682228152154948421589999999997,
-2.09638539134527779532491660083370951943382108902299999999997,
0.44615593456068932413543932586548670421832624686433469999994 ]

Notice that the log image of u_{1} is clearly not a real multiple of the log image of u_{2} (e.g., the scalar would have to be positive because of the first coefficient, but negative because of the second). This illustrates the fact that the log images of u_{1} and u_{2} span a two-dimensional space.

Next we compute a field with r = 3 and s = 0. (A field with s = 0 is called totally real.)

> K<a> := NumberField(x^3 + x^2 - 5*x - 1);
> Signature(K);
3 0
> G, phi := UnitGroup(K);
> G;
Abelian Group isomorphic to Z/2 + Z + Z
Defined on 3 generators

Relations:
    2*G.1 = 0
> u1 := K!phi(G.2); u1;
1/2*(a^2 + 2*a - 1)
> u2 := K!phi(G.3); u2;
a
> Logs(u1);
[ 1.16761574692758757159598251863681302946987760474899999999995,
-0.39284872458139826129179862583435951875841422643044369999996,
-0.7747670223461893103041838928024535107114633783181766999998 ]
> Logs(u2);
[ 0.6435429462288618773851817227686467257757954024463081999999,
-1.6402241503223171469101505551700850575583464226669999999999,
0.9966812040934552695249688324014383317825510202205498999998 ]

A field with r = 0 is called totally complex. For example, the cyclotomic fields Q(ζ_{n}) are totally complex, where ζ_{n} is a primitive nth root of unity. The degree of Q(ζ_{n}) over Q is φ(n) and r = 0, so s = φ(n)/2 (assuming n > 2).

> K := CyclotomicField(11); K;
Cyclotomic Field of order 11 and degree 10
> G, phi := UnitGroup(K);
> G;
Abelian Group isomorphic to Z/22 + Z + Z + Z + Z
Defined on 5 generators
Relations:
    22*G.1 = 0
> u := K!phi(G.2); u;
zeta_11^9 + zeta_11^8 + zeta_11^7 + zeta_11^6 + zeta_11^5 +
    zeta_11^3 + zeta_11^2 + zeta_11 + 1
> Logs(u);
[ -1.25656632417872848745322215929976803991663080388899999999969,
0.6517968940331400079717923884685099182823284402303273999999,
-0.18533004655986214094922163920197221556431542171819269999999,
0.5202849820300749393306985734118507551388955065272236999998,
0.26981449467537568109995283662137958205972227885009159999993 ]
> K!phi(G.3);
zeta_11^9 + zeta_11^7 + zeta_11^6 + zeta_11^5 + zeta_11^4 +
    zeta_11^3 + zeta_11^2 + zeta_11 + 1
> K!phi(G.4);
zeta_11^9 + zeta_11^8 + zeta_11^7 + zeta_11^6 + zeta_11^5 +
    zeta_11^4 + zeta_11^3 + zeta_11^2 + zeta_11
> K!phi(G.5);
zeta_11^9 + zeta_11^8 + zeta_11^7 + zeta_11^6 + zeta_11^5 +
    zeta_11^4 + zeta_11^2 + zeta_11 + 1

How far can we go computing unit groups of cyclotomic fields directly with Magma?

> time G,phi := UnitGroup(CyclotomicField(13));
Time: 2.210
> time G,phi := UnitGroup(CyclotomicField(17));
Time: 8.600
> time G,phi := UnitGroup(CyclotomicField(23));
.... I waited over 10 minutes (usage of 300MB RAM) and gave up.

98 CHAPTER 9. DIRICHLET’S UNIT THEOREM

Decomposition and Inertia Groups

In this chapter we will study extra structure in the case when K is Galois over Q. We’ll learn about Frobenius elements, the Artin symbol, decomposition groups, and how the Galois group of K is related to Galois groups of residue class fields. These are the basic structures needed to attach L-function to representations of Gal(\overline{Q}/Q).

10.1 Galois Extensions

In this section we give a survey without proofs of the basic facts about Galois extensions of Q that will be needed in the rest of this chapter.

Suppose K ⊂ C is a number field. Then K is Galois if every field homomorphism K → C has image K, or equivalently, # Aut(K) = [K : Q]. More generally, we have the following definition.

Definition 10.1.1 (Galois). An extension K/L of number fields is Galois if # Aut(K/L) = [K : L], where Aut(K/L) is the group of automorphisms of K that fix L. We write Gal(K/L) = Aut(K/L).

For example, Q is Galois (over itself), any quadratic extension K/L is Galois, since it is of the form L(\sqrt{a}), for some a ∈ L, and the nontrivial embedding is induced by \sqrt{a} ↦ −\sqrt{a}, so there is always one nontrivial automorphism. If f ∈ L[x] is an irreducible cubic polynomial, and a is a root of f, then one proves in a course in Galois theory that L(a) is Galois over L if and only if the discriminant of f is a perfect square in L. “Random” number fields of degree bigger than 2 are rarely Galois.

If K ⊂ C is a number field, then the Galois closure K^{gc} of K is the field generated by all images of K under all embeddings in C (more generally, if K/L is an extension, the Galois closure of K over L is the field generated by images of embeddings K → C that are the identity map on L). If K = Q(a), then K^{gc} is the field generated by all of the conjugates of a, and is hence Galois over Q, since the image under an embedding of any polynomial in the conjugates of a is again a polynomial in conjugates of a.

How much bigger can the degree of K^{gc} be as compared to the degree of K = Q(a)? There is an embedding of Gal(K^{gc}/Q) into the group of permutations of the conjugates of a. If a has n conjugates, then this is an embedding Gal(K^{gc}/Q) ↪ S_{n}, where S_{n} is the symmetric group on n symbols, which has order n!. Thus the degree of the K^{gc} over Q is a divisor of n!. Also one can prove that the Galois group is a transitive subgroup of S_{n}, which constrains the possibilities further. When n = 2, we recover the fact that quadratic extensions are Galois. When n = 3, we see that the Galois closure of a cubic extension is either the cubic extension or a quadratic extension of the cubic extension.

One can show that the Galois closure of a cubic extension is obtained by adjoining the square root of the discriminant. For an extension K of degree 5, it is “frequently” the case that the Galois closure has degree 120, and in fact it is a difficult and interesting problem to find examples of degree 5 extension in which the Galois closure has degree smaller than 120 (according to Magma: the only possibilities for the order of a transitive proper subgroup of S_{5} are 5, 10, 20, and 60; there are five transitive subgroups of S_{5} out of the total of 19 subgroups of S_{5}).

Let n be a positive integer. Consider the field K = Q(ζ_{n}), where ζ_{n} = e^{2πi/n} is a primitive nth root of unity. If σ : K → C is an embedding, then σ(ζ_{n}) is also an nth root of unity, and the group of nth roots of unity is cyclic, so σ(ζ_{n}) = ζ_{n}^{m} for some m which is invertible modulo n. Thus K is Galois and Gal(K/Q) ↪ (Z/nZ)^{∗}. However, [K : Q] = φ(n), so this map is an isomorphism. (Remark: Taking a limit using the maps Gal(\overline{Q}/Q) → Gal(Q(ζ_{p^{r}})/Q), we obtain a homomorphism Gal(\overline{Q}/Q) → Z_{p}^{∗}, which is called the p-adic cyclotomic character.)

Compositums of Galois extensions are Galois. For example, the biquadratic field K = Q(\sqrt{5}, \sqrt{−1}) is a Galois extension of Q of degree 4.

Fix a number field K that is Galois over a subfield L. Then the Galois group G = Gal(K/L) acts on many of the object that we have associated to K, including:

• the integers O_{K},

• the units U_{K},

• the group of fractional ideals of O_{K},

• the class group Cl(K), and

• the set S_{𝔭} of prime ideals 𝔓 lying over a given prime 𝔭 of O_{L}.

In the next section we will be concerned with the action of Gal(K/L) on S_{𝔭}, though actions on each of the other objects, especially Cl(K), is also of great interest.

10.2. DECOMPOSITION OF PRIMES: EF G = N 101

10.2 Decomposition of Primes: efg = n

If I ⊂ O_{K} is any ideal in the ring of integers of a Galois extension K of Q and σ ∈ Gal(K/Q), then

σ(I) = {σ(x) : x ∈ I}

is also an ideal of O_{K}.

Fix a prime 𝔭 ⊂ O_{K} and write 𝔭O_{K} = 𝔓_{1}^{e_{1}} ⋯ 𝔓_{g}^{e_{g}}, so S_{𝔭} = {𝔓_{1}, …, 𝔓_{g}}.

Definition 10.2.1 (Residue class degree). Suppose 𝔓 is a prime of O_{K} lying over 𝔭. Then the residue class degree of 𝔓 is

f_{𝔓/𝔭} = [O_{K}/𝔓 : O_{L}/𝔭],

i.e., the degree of the extension of residue class fields.

If M/K/L is a tower of field extensions and 𝔮 is a prime of M over 𝔓, then

f_{𝔮/𝔭} = [O_{M}/𝔮 : O_{L}/𝔭] = [O_{M}/𝔮 : O_{K}/𝔓] · [O_{K}/𝔓 : O_{L}/𝔭] = f_{𝔮/𝔓} · f_{𝔓/𝔭},

so the residue class degree is multiplicative in towers.

Note that if σ ∈ Gal(K/L) and 𝔓 ∈ S_{p}, then σ induces an isomorphism of finite fields O_{K}/𝔓 → O_{K}/σ(𝔓) that fixes the common subfield O_{L}/𝔭. Thus the residue class degrees of 𝔓 and σ(𝔓) are the same. In fact, much more is true.

Theorem 10.2.2. Suppose K/L is a Galois extension of number fields, and let 𝔭 be a prime of O_{L}. Write 𝔭O_{K} = ∏_{i=1}^{g} 𝔓_{i}^{e_{i}}, and let f_{i} = f_{𝔓_{i}/𝔭}. Then G = Gal(K/L) acts transitively on the set S_{𝔭} of primes 𝔓_{i}. Moreover,

e_{1} = ⋯ = e_{g}, f_{1} = ⋯ = f_{g},

and efg = [K : L], where e is the common value of the e_{i} and f is the common value of the f_{i}.

Proof. For simplicity, we will give the proof only in the case L = Q, but the proof works in general. Suppose p ∈ Z and pO_{K} = 𝔭_{1}^{e_{1}} ⋯ 𝔭_{g}^{e_{g}}, and S = {𝔭_{1}, …, 𝔭_{g}}. We will first prove that G acts transitively on S. Let 𝔭 = 𝔭_{i} for some i. Recall that we proved long ago, using the Chinese Remainder Theorem (Theorem 6.1.5) that there exists a ∈ 𝔭 such that (a)/𝔭 is an integral ideal that is coprime to pO_{K}. The product

I = ∏_{σ∈G} σ((a)/𝔭) = ∏_{σ∈G} \frac{(σ(a))O_{K}}{σ(𝔭)} = \frac{(Norm_{K/Q}(a))O_{K}}{∏_{σ∈G} σ(𝔭)}  (10.2.1)

is a nonzero integral O_{K} ideal since it is a product of nonzero integral O_{K} ideals. Since a ∈ 𝔭 we have that Norm_{K/Q}(a) ∈ 𝔭 ∩ Z = pZ. Thus the numerator of the rightmost expression in (10.2.1) is divisible by pO_{K}. Also, because (a)/𝔭 is coprime to pO_{K}, each σ((a)/𝔭) is coprime to pO_{K} as well. Thus I is coprime to pO_{K}. Thus the denominator of the rightmost expression in (10.2.1) must also be divisibly by pO_{K} in order to cancel the pO_{K} in the numerator. Thus we have shown that for any i,

∏_{j=1}^{g} 𝔭_{j}^{e_{j}} = pO_{K} | ∏_{σ∈G} σ(𝔭_{i}).

By unique factorization, since every 𝔭_{j} appears in the left hand side, we must have that for each j there is a σ with σ(𝔭_{i}) = 𝔭_{j}.

Choose some j and suppose that k ≠ j is another index. Because G acts transitively, there exists σ ∈ G such that σ(𝔭_{k}) = 𝔭_{j}. Applying σ to the factorization pO_{K} = ∏_{i=1}^{g} 𝔭_{i}^{e_{i}}, we see that

∏_{i=1}^{g} 𝔭_{i}^{e_{i}} = ∏_{i=1}^{g} σ(𝔭_{i})^{e_{i}}.

Taking ord_{𝔭_{j}} on both sides and using unique factorization, we get e_{j} = e_{k}. Thus e_{1} = e_{2} = ⋯ = e_{g}.

As was mentioned right before the statement of the theorem, for any σ ∈ G we have O_{K}/𝔭_{i} ≅ O_{K}/σ(𝔭_{i}), so by transitivity f_{1} = f_{2} = ⋯ = f_{g}. Since O_{K} is a lattice in K, we have, upon apply CRT, that

[K : Q] = dim_{Z} O_{K} = dim_{F_{p}} O_{K}/pO_{K}

= dim_{F_{p}} (⨁_{i=1}^{g} O_{K}/𝔭_{i}^{e_{i}}) = ∑_{i=1}^{g} e_{i}f_{i} = efg,

which completes the proof.

The rest of this section illustrates the theorem for quadratic fields and a cubic field and its Galois closure.

10.2.1 Quadratic Extensions

Suppose K/Q is a quadratic field. Then K is Galois, so for each prime p ∈ Z we have 2 = efg. There are exactly three possibilities:

• Ramified: e = 2, f = g = 1: The prime p ramifies in O_{K}, so pO_{K} = 𝔭^{2}. There are only finitely many such primes, since if f(x) is the minimal polynomial of a generator for O_{K}, then p ramifies if and only if f(x) has a multiple root modulo p. However, f(x) has a multiple root modulo p if and only if p divides the discriminant of f(x), which is nonzero because f(x) is irreducible over Z. (This argument shows there are only finitely many ramified primes in any number field. In fact, the ramified primes are exactly the ones that divide the discriminant.)

• Inert: e = 1, f = 2, g = 1: The prime p is inert in O_{K}, so pO_{K} = 𝔭 is prime. It is a nontrivial theorem that this happens half of the time, as we will see illustrated below for a particular example.

• Split: e = f = 1, g = 2: The prime p splits in O_{K}, in the sense that pO_{K} = 𝔭_{1}𝔭_{2} with 𝔭_{1} ≠ 𝔭_{2}. This happens the other half of the time.

For example, let K = Q(\sqrt{5}), so O_{K} = Z[γ], where γ = (1 + \sqrt{5})/2. Then p = 5 is ramified, since 5O_{K} = (\sqrt{5})^{2}. More generally, the order Z[\sqrt{5}] has index 2 in O_{K}, so for any prime p ≠ 2 we can determine the factorization of p in O_{K} by finding the factorization of the polynomial x^{2} − 5 ∈ F_{p}[x]. The polynomial x^{2} − 5 splits as a product of two distinct factors in F_{p}[x] if and only if e = f = 1 and g = 2. For p ≠ 2, 5 this is the case if and only if 5 is a square in F_{p}, i.e., if (\frac{5}{p}) = 1, where (\frac{5}{p}) is +1 if 5 is a square mod p and −1 if 5 is not. By quadratic reciprocity,

(\frac{5}{p}) = (−1)^{\frac{5−1}{2} · \frac{p−1}{2}} · (\frac{p}{5}) = (\frac{p}{5}) = \begin{cases}+1 & if p ≡ ±1 (mod 5) \\ −1 & if p ≡ ±2 (mod 5). \end{cases}

Thus whether p splits or is inert in O_{K} is determined by the residue class of p modulo 5. It is a theorem of Dirichlet, which was massively generalized by Chebotarev, that p ≡ ±1 half the time and p ≡ ±2 the other half the time.

10.2.2 The Cube Root of Two

Suppose K/Q is not Galois. Then e_{i}, f_{i}, and g are defined for each prime p ∈ Z, but we need not have e_{1} = ⋯ = e_{g} or f_{1} = ⋯ = f_{g}. We do still have that ∑_{i=1}^{g} e_{i}f_{i} = n, by the Chinese Remainder Theorem.

For example, let K = Q(\sqrt[3]{2}). We know that O_{K} = Z[\sqrt[3]{2}]. Thus 2O_{K} = (\sqrt[3]{2})^{3}, so for 2 we have e = 3 and f = g = 1. Next, working modulo 5 we have

x^{3} − 2 = (x + 2)(x^{2} + 3x + 4) ∈ F_{5}[x],

and the quadratic factor is irreducible. Thus

5O_{K} = (5, \sqrt[3]{2} + 2) · (5, \sqrt[3]{2}^{2} + 3\sqrt[3]{2} + 4).

Thus here e_{1} = e_{2} = 1, f_{1} = 1, f_{2} = 2, and g = 2. Thus when K is not Galois we need not have that the f_{i} are all equal.

10.3 The Decomposition Group

Suppose K is a number field that is Galois over Q with group G = Gal(K/Q). Fix a prime 𝔭 ⊂ O_{K} lying over p ∈ Z.

Definition 10.3.1 (Decomposition group). The decomposition group of 𝔭 is the subgroup

D_{𝔭} = {σ ∈ G : σ(𝔭) = 𝔭} ⊂ G.

It also makes sense to define decomposition groups for relative extensions K/L, but for simplicity and to fix ideas in this section we only define decomposition groups for a Galois extension K/Q.

Let k_{𝔭} = O_{K}/𝔭 denote the residue class field of 𝔭. In this section we will prove that there is an exact sequence

1 → I_{𝔭} → D_{𝔭} → Gal(k_{𝔭}/F_{p}) → 1,

where I_{𝔭} is the inertia subgroup of D_{𝔭}, and #I_{𝔭} = e. The most interesting part of the proof is showing that the natural map D_{𝔭} → Gal(k_{𝔭}/F_{p}) is surjective.

We will also discuss the structure of D_{𝔭} and introduce Frobenius elements, which play a crucial roll in understanding Galois representations.

Recall from Theorem 10.2.2 that G acts transitively on the set of primes 𝔭 lying over p. Thus the decomposition group is the stabilizer in G of 𝔭. The orbit-stabilizer theorem implies that [G : D_{𝔭}] equals the cardinality of the orbit of 𝔭, which by Theorem 10.2.2 equals the number g of primes lying over p, so [G : D_{𝔭}] = g.

Lemma 10.3.2. The decomposition subgroups D_{𝔭} corresponding to primes 𝔭 lying over a given p are all conjugate as subgroups of G.

Proof. We have

τ^{−1}στ𝔭 = 𝔭 ⟺ στ𝔭 = τ𝔭,

so

σ ∈ D_{τ𝔭} ⟺ τ^{−1}στ ∈ D_{𝔭}.

Thus

σ ∈ D_{𝔭} ⟺ τστ^{−1} ∈ D_{τ𝔭}.

Thus τD_{𝔭}τ^{−1} = D_{τ𝔭}.

The decomposition group is useful because it allows us to see the extension K/Q as a tower of extensions, such that at each step in the tower we understand well the splitting behavior of the primes lying over p.

We characterize the fixed field of D = D_{𝔭} as follows.

Proposition 10.3.3. The fixed field

K^{D} = {a ∈ K : σ(a) = a for all σ ∈ D}

of D is the smallest subfield L ⊂ K such that 𝔭 ∩ O_{L} such that g(K/L) = 1.

Proof. First suppose L = K^{D}, and note that by Galois theory Gal(K/L) ≅ D, and by Theorem 10.2.2, the group D acts transitively on the primes of K lying over 𝔭 ∩ O_{L}. One of these primes is 𝔭, and D fixes 𝔭 by definition, so there is only one prime of K lying over 𝔭 ∩ O_{L}, i.e., g = 1. Conversely, if L ⊂ K is such that 𝔭 ∩ O_{L} has g = 1, then Gal(K/L) fixes 𝔭 (since it is the only prime over 𝔭 ∩ O_{L}), so Gal(K/L) ⊂ D, hence K^{D} ⊂ L.

Thus p does not split in going from K^{D} to K—it does some combination of ramifying and staying inert. To fill in more of the picture, the following proposition asserts that p splits completely and does not ramify in K^{D}/Q.

Proposition 10.3.4. Fix a Galois number field K of Q, let 𝔭 be a prime lying over p with decomposition group D, and set L = K^{D}. Let e = e(L/Q), f = f(L/Q), g = g(L/Q) be for L/Q and p. Then e = f = 1, g = [L : Q], e(K/Q) = e(K/L) and f(K/Q) = f(K/L).

Proof. As mentioned right after Definition 10.3.1, the orbit-stabilizer theorem implies that g(K/Q) = [G : D], and by Galois theory [G : D] = [L : Q]. Thus by Proposition 10.3.3 g(K/L) = 1, so by Theorem 10.2.2,

e(K/L) · f(K/L) = [K : L] = [K : Q]/[L : Q]

= \frac{e(K/Q) · f(K/Q) · g(K/Q)}{[L : Q]} = e(K/Q) · f(K/Q).

Now e(K/L) ≤ e(K/Q) and f(K/L) ≤ f(K/Q), so we must have e(K/L) = e(K/Q) and f(K/L) = f(K/Q). Since e(K/Q) = e(K/L) · e(L/Q) and f(K/Q) = f(K/L) · f(L/Q), it follows that f(L/Q) = f(L/Q) = 1.

10.3.1 Galois groups of finite fields

Each σ ∈ D = D_{𝔭} acts in a well-defined way on the finite field k_{𝔭} = O_{K}/𝔭, so we obtain a homomorphism

φ : D_{𝔭} → Gal(F_{𝔭}/F_{p}).

We pause for a moment and derive a few basic properties of Gal(F_{𝔭}/F_{p}), which are general properties of Galois groups for finite fields. Let f = [k_{𝔭} : F_{p}].

The group Aut(F_{𝔭}/F_{p}) contains the element Frob_{p} defined by

Frob_{p}(x) = x^{p},

because (xy)^{p} = x^{p}y^{p} and

(x + y)^{p} = x^{p} + px^{p−1}y + ⋯ + y^{p} ≡ x^{p} + y^{p} (mod p).

The group k_{𝔭}^{∗} is cyclic (see proof of Lemma 9.1.7), so there is an element a ∈ k_{𝔭}^{∗} of order p^{f} −1, and k_{𝔭} = F_{p}(a). Then Frob_{p}^{n}(a) = a^{p^{n}} = a if and only if (p^{f} −1) | p^{n}−1 which is the case preciselywhen f | n, so the order of Frob_{p} is f. Since the order of the automorphism group of a field extension is at most the degree of the extension, we conclude that Aut(F_{𝔭}/F_{p}) is generated by Frob_{p}. Also, since Aut(F_{𝔭}/F_{p}) has order equal to the degree, we conclude that k_{𝔭}/F_{p} is Galois, with group Gal(F_{𝔭}/F_{p}) cyclic of order f generated by Frob_{p}. (Another general fact: Up to isomorphism there is exactly one finite field of each degree. Indeed, if there were two of degree f, then both could be characterized as the set of roots in the compositum of x^{p^{f}} − 1, hence they would be equal.)

10.3.2 The Exact Sequence

Because D_{𝔭} preserves 𝔭, there is a natural reduction homomorphism

φ : D_{𝔭} → Gal(k_{𝔭}/F_{p}).

Theorem 10.3.5. The homomorphism φ is surjective.

Proof. Let ã ∈ k_{𝔭} be an element such that k_{𝔭} = F_{p}(a). Lift ã to an algebraic integer a ∈ O_{K}, and let f = ∏_{σ∈D_{p}}(x−σ(a)) ∈ K^{D}[x] be the characteristic polynomial of a over K^{D}. Using Proposition 10.3.4 we see that f reduces to the minimal polynomial f̃ = ∏(x − σ̃(a)) ∈ F_{p}[x] of ã (by the Proposition the coefficients of f̃ are in F_{p}, and ã satisfies f̃, and the degree of f̃ equals the degree of the minimal polynomial of ã). The roots of f̃ are of the form σ̃(a), and the element Frob_{p}(a) is also a root of f̃, so it is of the form σ̃(a). We conclude that the generator Frob_{p} of Gal(k_{𝔭}/F_{p}) is in the image of φ, which proves the theorem.

Definition 10.3.6 (Inertia Group). The inertia group is the kernel I_{𝔭} of D_{𝔭} → Gal(k_{𝔭}/F_{p}).

Combining everything so far, we find an exact sequence of groups

1 → I_{𝔭} → D_{𝔭} → Gal(k_{𝔭}/F_{p}) → 1.  (10.3.1)

The inertia group is a measure of how p ramifies in K.

Corollary 10.3.7. We have #I_{𝔭} = e(𝔭/p), where 𝔭 is a prime of K over p.

Proof. The sequence (10.3.1) implies that #I_{𝔭} = (#D_{𝔭})/f(K/Q). Applying Propositions 10.3.3–10.3.4, we have

#D_{𝔭} = [K : L] = \frac{[K : Q]}{g} = \frac{efg}{g} = ef.

Dividing both sides by f = f(K/Q) proves the corollary.

We have the following characterization of I_{𝔭}.

Proposition 10.3.8. Let K/Q be a Galois extension with group G, and let 𝔭 be a prime of O_{K} lying over a prime p. Then

I_{𝔭} = {σ ∈ G : σ(a) = a (mod 𝔭) for all a ∈ O_{K}}.

Proof. By definition I_{𝔭} = {σ ∈ D_{𝔭} : σ(a) = a (mod 𝔭) for all a ∈ O_{K}}, so it suffices to show that if σ ∉ D_{𝔭}, then there exists a ∈ O_{K} such that σ(a) ≢ a (mod 𝔭). If σ ∉ D_{𝔭}, then σ^{−1} ∉ D_{𝔭}, so σ^{−1}(𝔭) ≠ 𝔭. Since both are maximal ideals, there exists a ∈ 𝔭 with a ∉ σ^{−1}(𝔭), i.e., σ(a) ∉ 𝔭. Thus σ(a) ≢ a (mod 𝔭).

10.4 Frobenius Elements

Suppose that K/Q is a finite Galois extension with group G and p is a prime such that e = 1 (i.e., an unramified prime). Then I = I_{𝔭} = 1 for any 𝔭 | p, so the map φ of Theorem 10.3.5 is a canonical isomorphism D_{𝔭} ≅ Gal(k_{𝔭}/F_{p}). By Section 10.3.1, the group Gal(k_{𝔭}/F_{p}) is cyclic with canonical generator Frob_{p}. The Frobenius element corresponding to 𝔭 is Frob_{𝔭} ∈ D_{𝔭}. It is the unique element of G such that for all a ∈ O_{K} we have

Frob_{𝔭}(a) ≡ a^{p} (mod 𝔭).

(To see this argue as in the proof of Proposition 10.3.8.) Just as the primes 𝔭 and decomposition groups D_{𝔭} are all conjugate, the Frobenius elements corresponding to primes 𝔭 | p are all conjugate as elements of G.

Proposition 10.4.1. For each σ ∈ G, we have

Frob_{σ𝔭} = σ Frob_{𝔭} σ^{−1}.

In particular, the Frobenius elements lying over a given prime are all conjugate.

Proof. Fix σ ∈ G. For any a ∈ O_{K} we have Frob_{𝔭}(σ^{−1}(a)) − σ^{−1}(a)^{p} ∈ 𝔭. Applying σ to both sides, we see that σ Frob_{𝔭}(σ^{−1}(a)) − a^{p} ∈ σ𝔭, so σ Frob_{𝔭} σ^{−1} = Frob_{σ𝔭}.

Thus the conjugacy class of Frob_{𝔭} in G is a well-defined function of p. For example, if G is abelian, then Frob_{𝔭} does not depend on the choice of 𝔭 lying over p and we obtain a well defined symbol (\frac{K/Q}{p}) = Frob_{𝔭} ∈ G called the Artin symbol. It extends to a homomorphism from the free abelian group on unramified primes p to G. Class field theory (for Q) sets up a natural bijection between abelian Galois extensions of Q and certain maps from certain subgroups of the group of fractional ideals for Z. We have just described one direction of this bijection, which associates to an abelian extension the Artin symbol (which is a homomorphism). The Kronecker-Weber theorem asserts that the abelian extensions of Q are exactly the subfields of the fields Q(ζ_{n}), as n varies over all positive integers. By Galois theory there is a correspondence between the subfields of Q(ζ_{n}), which has Galois group (Z/nZ)^{∗}, and the subgroups of (Z/nZ)^{∗}, so giving an abelian extension K of Q is exactly the same as giving an integer n and a subgroup of H ⊂ (Z/nZ)^{∗}. The Artin reciprocity map p ↦ (\frac{K/Q}{p}) is then p ↦ [p] ∈ (Z/nZ)^{∗}/H.

10.5 Galois Representations, L-series and a Conjecture of Artin

The Galois group Gal(\overline{Q}/Q) is an object of central importance in number theory, and much of number theory is the study of this group. A good way to study a group is to study how it acts on various objects, that is, to study its representations.

Endow Gal(\overline{Q}/Q) with the topology which has as a basis of open neighborhoods of the origin the subgroups Gal(\overline{Q}/K), where K varies over finite Galois extensions of Q. (Note: This is not the topology got by taking as a basis of open neighborhoods the collection of finite-index normal subgroups of Gal(\overline{Q}/Q).) Fix a positive integer n and let GL_{n}(C) be the group of n × n invertible matrices over C with the discrete topology.

Definition 10.5.1. A complex n-dimensional representation of Gal(\overline{Q}/Q) is a continuous homomorphism

ρ : Gal(\overline{Q}/Q) → GL_{n}(C).

For ρ to be continuous means that if K is the fixed field of Ker(ρ), then K/Q is finite Galois. We have a diagram

\xymatrix{Gal(\overline{Q}/Q) \ar[rr]^{ρ} \ar[dr] &  & GL_{n}(C) \\  & Gal(K/Q) \ar[ur]_{ρ′}}

Remark 10.5.2. Continuous implies that the image of ρ is finite, but the converse is not true. Using Zorn’s lemma, one can show that there are homomorphisms Gal(\overline{Q}/Q) → \{±1\} with image of order 2 that are not continuous, since they do not factor through the Galois group of any finite Galois extension.

Fix a Galois representation ρ and let K be the fixed field of ker(ρ), so ρ factors through Gal(K/Q). For each prime p ∈ Z that is not ramified in K, there is an element Frob_{𝔭} ∈ Gal(K/Q) that is well-defined up to conjugation by elements of Gal(K/Q). This means that ρ′(Frob_{p}) ∈ GL_{n}(C) is well-defined up to conjugation. Thus the characteristic polynomial F_{p}(x) ∈ C[x] of ρ′(Frob_{p}) is a well-defined invariant of p and ρ. Let

R_{p}(x) = x^{deg(F_{p})} · F_{p}(1/x) = 1 + ⋯ + det(Frob_{p}) · x^{deg(F_{p})}

be the polynomial obtain by reversing the order of the coefficients of F_{p}. Following E. Artin [Art23, Art30], set

L(ρ, s) = ∏_{p unramified} \frac{1}{R_{p}(p^{−s})}.  (10.5.1)

We view L(ρ, s) as a function of a single complex variable s. One can prove that L(ρ, s) is holomorphic on some right half plane, and extends to a meromorphic function on all C.

Conjecture 10.5.3 (Artin). The L-function of any continuous representation

Gal(\overline{Q}/Q) → GL_{n}(C)

is an entire function on all C, except possibly at 1.

10.5. GALOIS REPRESENTATIONS, L-SERIES AND A CONJECTURE OF ARTIN109

This conjecture asserts that there is some way to analytically continue L(ρ, s) to the whole complex plane, except possibly at 1. (A standard fact from complex analysis is that this analytic continuation must be unique.) The simple pole at s = 1 corresponds to the trivial representation (the Riemann zeta function), and if n ≥ 2 and ρ is irreducible, then the conjecture is that ρ extends to a holomorphic function on all C.

The conjecture is known when n = 1. When n = 2 and the image of ρ in PGL_{2}(C) is a solvable group, the conjecture is known, and is a deep theorem of Langlands and others (see [Lan80]), which played a crucial roll in Wiles’s proof of Fermat’s Last Theorem. When n = 2 and the image of ρ in PGL_{2}(C) is not solvable, the only possibility is that the projective image is isomorphic to the alternating group A_{5}. Because A_{5} is the symmetry group of the icosahedron, these representations are called icosahedral. In this case, Joe Buhler’s Harvard Ph.D. thesis [Buh78] gave the first example in which ρ was shown to satisfy Conjecture 10.5.3. There is a book [Fre94], which proves Artin’s conjecture for 7 icosahedral representation (none of which are twists of each other). Kevin Buzzard and the author proved the conjecture for 8 more examples [BS02]. Subsequently, Richard Taylor, Kevin Buzzard, Nick Shepherd-Barron, and Mark Dickinson proved the conjecture for an infinite class of icosahedral Galois representations (disjoint from the examples) [BDSBT01]. The general problem for n = 2 is still open, but Taylor and others are making amazing progress toward it.

110 CHAPTER 10. DECOMPOSITION AND INERTIA GROUPS

Elliptic Curves, Galois Representations, and L-functions

The rest of this book is about elliptic curves and their interplay with algebraic number theory. Our approach will be less systematic and more a survey than the first part of this book. The goal is to take you to the forefront of research, but assuming many basic facts that can be found, e.g., in [Sil92].

11.1 Groups Attached to Elliptic Curves

Definition 11.1.1 (Elliptic Curve). An elliptic curve over a field K is a genus one curve E over K equipped with a point O ∈ E(K) defined over K.

We will not define genus in this book, except to note that a nonsingular curve over K has genus one if and only if over \overline{K} it can be realized as a nonsingular plane cubic curve. Moreover, one can show (using the Riemann-Roch formula) that a genus one curve with a rational point can always be defined by a projective cubic

Figure 11.1.1: The Elliptic Curve y^{2} = x^{3} + x over Z/7Z

112CHAPTER 11. ELLIPTIC CURVES, GALOIS REPRESENTATIONS, AND L-FUNCTIONS

y  x

Figure 11.1.2: The Elliptic Curve y^{2} = x^{3} + x over R

equation of the form

Y^{2}Z + a_{1}XY Z + a_{3}Y Z^{2} = X^{3} + a_{2}X^{2}Z + a_{4}XZ^{2} + a_{6}Z^{3}.

In affine coordinates this becomes

y^{2} + a_{1}xy + a_{3}y = x^{3} + a_{2}x^{2} + a_{4}x + a_{6}.  (11.1.1)

Thus one presents an elliptic curve by giving a Weierstrass equation (11.1.1).

Figure 11.1.1 contains the graph of an elliptic curve over F_{7}, and Figure 11.1.2 contains a graph of the real points on an elliptic curve defined over Q.

11.1.1 Abelian Groups Attached to Elliptic Curves

If E is an elliptic curve over K, then we give the set E(K) of all K-rational points on E the structure of abelian group with identity element O. If we embed E in the projective plane, then this group is determined by the condition that three points sum to the zero element O if and only if they lie on a common line. See Figure 11.1.3 for an example, in which (0, 2) and (1, 0) add to (3, 4) in the group law.

That the above condition defines an abelian group structure on E(K) is not obvious (the trickiest part is seeing that the operation is associative). The best way to understand the group operation on E(K) is to view E(K) as a class group, very similar to class groups of number fields. Let Div(E/K) be the free abelian group on the points of E, which is analogous to the group of fractional ideals of a number

x y L  L′ (1, 0) (0, 2)  (3, −4) (3, 4)

Figure 11.1.3: The Group Law: (1, 0) + (0, 2) = (3, 4) on y^{2} = x^{3} − 5x + 4

field. We call the elements of Div(E/K) divisors. Let Pic(E/K) be the quotient of Div(E/K) by the principal divisors, i.e., the divisors associted to rational functions f ∈ K(E)^{∗} via

f ↦ (f) = ∑_{P} ord_{P} (f)[P].

Note that the principal divisor associated to f is analogous to the principal fractional ideal associated to a nonzero element of a number field. The definition of ord_{P} (f) is analogous to the “power of P that divides the principal ideal generated by f”. Define the class group Pic(E/K) to be the quotient of the divisors by the principal divisors, so we have an exact sequence:

0 → K(E)^{∗}/K^{∗} → Div(E/K) → Pic(E/K) → 0.

A key difference between elliptic curves and algebraic number fields is that the principal divisors in the context of elliptic curves all have degree 0, i.e., the sum of the coefficients of the divisor (f) is always 0. This might be a familiar fact to you: the number of zeros of a nonzero rational function on a projective curve equals the number of poles, counted with multiplicity. If we let Div^{0}(E/K) denote the subgroup of divisors of degree 0, then we have an exact sequence

0 → K(E)^{∗}/K^{∗} → Div^{0}(E/K) → Pic^{0}(E/K) → 0.

To connect this with the group law on E(K), note that there is a natural map

E(K) → Pic^{0}(E/K), P ↦ [P − O].

Using the Riemann-Roch theorem, one can prove that this map is a bijection, which is moreover an isomorphism of abelian groups. Thus really when we discuss the group of K-rational points on an E, we are talking about the class group Pic^{0}(E/K).

Recall that we proved (Theorem 8.1.2) that the class group Cl(O_{K}) of a number field is finite. The group Pic^{0}(E/K) = E(K) of an elliptic curve can be either finite (e.g., for y^{2} + y = x^{3} − x + 1) or infinite (e.g., for y^{2} + y = x^{3} − x), and determining which is the case for any particular curve is one of the central unsolved problems in number theory.

Also, if L/K is an arbitrary extension of fields, and E is an elliptic curve over K, then there is a natural inclusion homomorphism E(K) ↪ E(L). Thus instead of just obtaining one group attached to an elliptic curve, we obtain a whole collection, one for each extension of L. Even more generally, if S/K is an arbitrary scheme, then E(S) is a group, and the association S ↦ E(S) defines a functor from the category of schemes to the category of groups.

11.1.2 A Formula for Adding Points

We close this section with an explicit formula for adding two points in E(K). If E is an elliptic curve over a field K, given by an equation y^{2} = x^{3} + ax + b, then we can compute the group addition using the following algorithm.

Algorithm 11.1.2 (Elliptic Curve Group Law). Given P_{1}, P_{2} ∈ E(K), this algorithm computes the sum R = P_{1} + P_{2} ∈ E(K).

1. [One Point O] If P_{1} = O set R = P_{2} or if P_{2} = O set R = P_{1} and terminate. Otherwise write P_{i} = (x_{i}, y_{i}).

2. [Negatives] If x_{1} = x_{2} and y_{1} = −y_{2}, set R = O and terminate.

3. [Compute λ] Set λ = \begin{cases}(3x_{1}^{2} + a)/(2y_{1}) & if P_{1} = P_{2}, \\ (y_{1} − y_{2})/(x_{1} − x_{2}) & otherwise. \end{cases}

Note: If y_{1} = 0 and P_{1} = P_{2}, output O and terminate.

4. [Compute Sum] Then R = (λ^{2} − x_{1} − x_{2}, −λx_{3} − ν), where ν = y_{1}−λx_{1} and x_{3} is the x coordinate of R.

11.1.3 Other Groups

There are other abelian groups attached to elliptic curves, such as the torsion subgroup E(K)_{tor} of elements of E(K) of finite order. When K is a number field, there is a mysterious group called the Shafarevich-Tate group � (E/K) attached to E. It’s definition involves Galois cohomology, so we wait until Chapter 12 to define it. There are also component groups attached to E, one for each prime of O_{K}. These groups all come together in the Birch and Swinnerton-Dyer conjecture (see Conjecture ??).

11.2. GALOIS REPRESENTATIONS ATTACHED TO ELLIPTIC CURVES 115

11.2 Galois Representations Attached to Elliptic Curves

Let E be an elliptic curve over a number field K. In this section we attach representations of G_{K} = Gal(\overline{K}/K) to E, and use them to define the L-function L(E, s).

Fix an integer n. The group structure on E is defined by algebraic formulas with coefficients that are elements of K, so the subgroup

E[n] = \{R ∈ E(\overline{K}) : nR = O\}

is invariant under the action of G_{K}. We thus obtain a homomorphism

\overline{ρ}_{E,n} : G_{K} → Aut(E[n]).

It is a fact, which we will not prove in this book, that for any positive integer n, the group E[n] is isomorphic as an abstract abelian group to (Z/nZ)^{2}. There are various related ways to see why this is true. One is to use the Weierstrass ℘-theory to parametrize E(C) by the the complex numbers, i.e., to find an isomorphism C/Λ ≅ E(C), where Λ is a lattice in C and the isomorphism is given by z ↦ (℘(z), ℘′(z)) with respect to an appropriate choice of coordinates on E(C). It is then an easy exercise to verify that (C/Λ)[n] ≅ (Z/nZ)^{2}.

Another way to understand E[n] is to use that E(C)_{tor} is isomorphic to the quotient

H_{1}(E(C), Q)/ H_{1}(E(C), Z)

of homology groups and that the homology of a curve of genus g is isomorphic to Z^{2g}. Then

E[n] ≅ (Q/Z)^{2}[n] = (Z/nZ)^{2}.

If n = p is a prime, then upon chosing a basis for the two-dimensional F_{p}-vector space E[p], we obtain an isomorphism Aut(E[p]) ≅ GL_{2}(F_{p}). We thus obtain a two-dimensional representation

\overline{ρ}_{E,p} : G_{K} → GL_{2}(F_{p}),

which is continuous if GL_{2}(F_{p}) has the discrete topology, because the field

K(E[p]) = {x, y : (x, y) ∈ E[p]}

is a Galois extension of K of finite degree.

In order to attach an L-function to E, one could try to embed GL_{2}(F_{p}) into GL_{2}(C) and use the construction of Artin L-functions from Section 10.5, but this approach depends on the choice of p, and does not “capture the essence” of E, in that there can be many elliptic curves with exactly the same mod p representation (though I think for p ≥ 23 there are conjecturally only finitely many). Instead, we pass to a p-adic limit as follows. For each power p^{n} of p, we have a Galois representation ρ_{E,p^{n}}. The inverse limit of these representations is a continuous homomorphism

ρ_{E,p} : G_{K} → Aut(\underleftarrow{lim} E[p^{n}]) ≅ GL_{2}(Z_{p}),

where Z_{p} is the ring of p-adic integers. The composition of this homomorphism with the reduction map GL_{2}(Z_{p}) → GL_{2}(F_{p}) is the representation \overline{ρ}_{E,p}, which we defined above, which is why we denoted it by \overline{ρ}_{E,p}. We next try to mimic the construction of L(ρ, s) from Section 10.5 in the context of a p-adic Galois representation ρ_{E,p}.

Definition 11.2.1 (Tate module). The p-adic Tate module of E is

T_{p}(E) = \underleftarrow{lim} E[p^{n}].

Let M be the fixed field of ker(ρ_{E,p}). The image of ρ_{E,p} is infinite, so M is an infinite extension of K. Fortunately, one can prove that M is ramified at only finitely many primes (the primes of bad reduction for E and p). If ℓ is a prime of K, let D_{ℓ} be a choice of decomposition group for some prime 𝔭 of M lying over ℓ, and let I_{ℓ} be the inertia group. We haven’t defined inertia and decomposition groups for infinite Galois extensions, but the definitions are almost the same: choose a prime of O_{M} over ℓ, and let D_{ℓ} be the subgroup of Gal(M/K) that leaves 𝔭 invariant. Then the submodule T_{p}(E)^{I_{ℓ}} of inertia invariants is a module for D_{ℓ} and the characteristic polynomial F_{ℓ}(x) of Frob_{ℓ} on T_{p}(E)^{I_{ℓ}} is well defined (since inertia acts trivially). Let R_{ℓ}(x) be the polynomial obtained by reversing the coefficients of F_{ℓ}(x). One can prove that R_{ℓ}(x) ∈ Z[x] and that R_{ℓ}(x), for ℓ ≠ p does not depend on the choice of p. Define R_{ℓ}(x) for ℓ = p using a different prime q ≠ p, so the definition of R_{ℓ}(x) does not depend on the choice of p.

Definition 11.2.2. The L-series of E is

L(E, s) = ∏_{ℓ} \frac{1}{R_{ℓ}(ℓ^{−s})}.

A prime 𝔭 of O_{K} is a prime of good reduction for E if there is an equation for E such that E mod 𝔭 is an elliptic curve over O_{K}/𝔭.

If K = Q and ℓ is a prime of good reduction for E, then one can show that that R_{ℓ}(ℓ^{−s}) = 1 − a_{ℓ}ℓ^{−s} + ℓ^{1−2s}, where a_{ℓ} = ℓ + 1 − #Ẽ(F_{ℓ}) and Ẽ is the reduction of a local minimal model for E modulo ℓ. (There is a similar statement for K ≠ Q.)

One can prove using fairly general techniques that the product expression for L(E, s) defines a holomorphic function in some right half plane of C, i.e., the product converges for all s with Re(s) > α, for some real number α.

Conjecture 11.2.3. The function L(E, s) extends to a holomorphic function on all C.

11.2.1 Modularity of Elliptic Curves over Q

Fix an elliptic curve E over Q. In this section we will explain what it means for E to be modular, and note the connection with Conjecture 11.2.3 from the previous section.

First, we give the general definition of modular form (of weight 2). The complex upper half plane is 𝔥 = {z ∈ C : Im(z) > 0}. A cuspidal modular form f of level N (of weight 2) is a holomorphic function f : 𝔥 → C such that lim_{z→i∞} f(z) = 0 and for every integer matrix ( \begin{matrix}a & b \\ c & d \end{matrix} ) with determinant 1 and c ≡ 0 (mod N), we have

f (\frac{az + b}{cz + d}) = (cz + d)^{−2}f(z).

For each prime number ℓ of good reduction, let a_{ℓ} = ℓ + 1 − #Ẽ(F_{ℓ}). If ℓ is a prime of bad reduction let a_{ℓ} = 0, 1, −1, depending on how singular the reduction Ẽ of E is over F_{ℓ}. If Ẽ has a cusp, then a_{ℓ} = 0, and a_{ℓ} = 1 or −1 if Ẽ has a node; in particular, let a_{ℓ} = 1 if and only if the tangents at the cusp are defined over F_{ℓ}.

Extend the definition of the a_{ℓ} to a_{n} for all positive integers n as follows. If gcd(n, m) = 1 let a_{nm} = a_{n} · a_{m}. If p^{r} is a power of a prime p of good reduction, let

a_{p^{r}} = a_{p^{r−1}} · a_{p} − p · a_{p^{r−2}}.

If p is a prime of bad reduction let a_{p^{r}} = (a_{p})^{r}.

Attach to E the function

f_{E}(z) = ∑_{n=1}^{∞} a_{n}e^{2πiz}.

It is an extremely deep theorem that f_{E}(z) is actually a cuspidal modular form, and not just some random function.

The following theorem is called the modularity theorem for elliptic curves over Q. Before it was proved it was known as the Taniyama-Shimura-Weil conjecture.

Theorem 11.2.4 (Wiles, Brueil, Conrad, Diamond, Taylor). Every elliptic curve over Q is modular, i.e, the function f_{E}(z) is a cuspidal modular form.

Corollary 11.2.5 (Hecke). If E is an elliptic curve over Q, then the L-function L(E, s) has an analytic continuous to the whole complex plane.

118CHAPTER 11. ELLIPTIC CURVES, GALOIS REPRESENTATIONS, AND L-FUNCTIONS

Galois Cohomology

12.1 Group Cohomology

12.1.1 Group Rings

Let G be a finite group. The group ring Z[G] of G is the free abelian group on the elements of G equipped with multiplication given by the group structure on G. Note that Z[G] is a commutative ring if and only if G is commutative.

For example, the group ring of the cyclic group C_{n} = ⟨a⟩ of order n is the free Z-module on 1, a, …, a^{n−1}, and the multiplication is induced by a^{i}a^{j} = a^{i+j} = a^{i+j (mod n)} extended linearly. For example, in Z[C_{3}] we have

(1 + 2a)(1 − a^{2}) = 1 − a^{2} + 2a − 2a^{3} = 1 + 2a − a^{2} − 2 = −1 + 2a − a^{2}.

You might think that Z[C_{3}] is isomorphic to the ring Z[ζ_{3}] of integers of Q(ζ_{3}), but you would be wrong, since the ring of integers is isomorphic to Z^{2} as abelian group, but Z[C_{3}] is isomorphic to Z^{3} as abelian group. (Note that Q(ζ_{3}) is a quadratic extension of Q.)

12.2 Modules and Group Cohomology

Let A be a G module. This means that A is an abelian group equipped with a left action of G, i.e., a group homomorphism G → Aut(A), where Aut(A) denotes the group of bijections A → A that preserve the group structure on A. Alternatively, A is a module over the ring Z[G] in the usual sense of module. For example, Z with the trivial action is a module over any group G, as is Z/mZ for any positive integer m. Another example is G = (Z/nZ)^{∗}, which acts via multiplication on Z/nZ.

For each integer n ≥ 0 there is an abelian group H^{n}(G, A) called the nth cohomology group of G acting on A. The general definition is somewhat complicated, but the definition for n ≤ 1 is fairly concrete. For example, the 0th cohomology group

H^{0}(G, A) = {x ∈ A : σx = x for all σ ∈ G} = G^{A}

is the subgroup of elements of A that are fixed by every element of G.

The first cohomology group

H^{1}(G, A) = C^{1}(G, A)/B^{1}(G, A)

is the group of 1-cocycles modulo 1-coboundaries, where

C^{1}(G, A) = {f : G → A such that f(στ) = f(σ) + σf(τ)}

and if we let f_{a} : G → A denote the set-theoretic map f_{a}(σ) = σ(a) − a, then

B^{1}(G, A) = {f_{a} : a ∈ A}.

There are also explicit, and increasingly complicated, definitions of H^{n}(G, A) for each n ≥ 2 in terms of certain maps G × ⋯ × G → A modulo a subgroup, but we will not need this.

For example, if A has the trivial action, then B^{1}(G, A) = 0, since σa − a = a − a = 0 for any a ∈ A. Also, C^{1}(G, A) = Hom(G, A). If A = Z, then since G is finite there are no nonzero homomorphisms G → Z, so H^{1}(G, Z) = 0.

If X is any abelian group, then

A = Hom(Z[G], X)

is a G-module. We call a module constructed in this way co-induced.

The following theorem gives three properties of group cohomology, which uniquely determine group cohomology.

Theorem 12.2.1. Suppose G is a finite group. Then

1. We have H^{0}(G, A) = A^{G}.

2. If A is a co-induced G-module, then H^{n}(G, A) = 0 for all n ≥ 1.

3. If 0 → A → B → C → 0 is any exact sequence of G-modules, then there is a long exact sequence

0 → H^{0}(G, A) → H^{0}(G, B) → H^{0}(G, C) → H^{1}(G, A) → ⋯
⋯ → H^{n}(G, A) → H^{n}(G, B) → H^{n}(G, C) → H^{n+1}(G, A) → ⋯

Moreover, the functor H^{n}(G, −) is uniquely determined by these three properties.

We will not prove this theorem. For proofs see [Cp86, Atiyah-Wall] and [Ser79, Ch. 7]. The properties of the theorem uniquely determine group cohomology, so one should in theory be able to use them to deduce anything that can be deduced about cohomology groups. Indeed, in practice one frequently proves results about higher cohomology groups H^{n}(G, A) by writing down appropriate exact sequences, using explicit knowledge of H^{0}, and chasing diagrams.

Remark 12.2.2. Alternatively, we could view the defining properties of the theorem as the definition of group cohomology, and could state a theorem that asserts that group cohomology exists.

Remark 12.2.3. For those familiar with commutative and homological algebra, we have

H^{n}(G, A) = Ext_{Z[G]}^{n}(Z, A),

where Z is the trivial G-module.

Remark 12.2.4. One can interpret H^{2}(G, A) as the group of equivalence classes of extensions of G by A, where an extension is an exact sequence

0 → A → M → G → 1

such that the induced conjugation action of G on A is the given action of G on A. (Note that G acts by conjugation, as A is a normal subgroup since it is the kernel of a homomorphism.)

12.2.1 Example Application of the Theorem

For example, let’s see what we get from the exact sequence

0 → Z ⟶^{m} Z → Z/mZ → 0,

where m is a positive integer, and Z has the structure of trivial G module. By definition we have H^{0}(G, Z) = Z and H^{0}(G, Z/mZ) = Z/mZ. The long exact sequence begins

0 → Z ⟶^{m} Z → Z/mZ → H^{1}(G, Z) ⟶^{m} H^{1}(G, Z) → H^{1}(G, Z/mZ) → H^{2}(G, Z) ⟶^{m} H^{2}(G, Z) → ⋯

From the first few terms of the sequence and the fact that Z surjects onto Z/mZ, we see that [m] on H^{1}(G, Z) is injective. This is consistent with our observation above that H^{1}(G, Z) = 0. Using this vanishing and the right side of the exact sequence we obtain an isomorphism

H^{1}(G, Z/mZ) ≅ H^{2}(G, Z)[m].

As we observed above, when a group acts trivially the H^{1} is Hom, so

H^{2}(G, Z)[m] ≅ Hom(G, Z/mZ).  (12.2.1)

One can prove that for any n > 0 and any module A that the group H^{n}(G, A) has exponent dividing #G (see Remark 12.3.4). Thus (12.2.1) allows us to understand H^{2}(G, Z), and this comprehension arose naturally from the properties that determine H^{n}.

12.3 Inflation and Restriction

Suppose H is a subgroup of a finite group G and A is a G-module. For each n ≥ 0, there is a natural map

res_{H} : H^{n}(G, A) → H^{n}(H, A)

called restriction. Elements of H^{n}(G, A) can be viewed as classes of n-cocycles, which are certain maps G × ⋯ × G → A, and the restriction maps restricts these cocycles to H × ⋯ × H.

If H is a normal subgroup of G, there is also an inflation map

inf_{H} : H^{n}(G/H, A^{H}) → H^{n}(G, A),

given by taking a cocycle f : G/H × ⋯ × G/H → A^{H} and precomposing with the quotient map G → G/H to obtain a cocycle for G.

Proposition 12.3.1. Suppose H is a normal subgroup of G. Then there is an exact sequence

0 → H^{1}(G/H, A^{H}) ⟶^{inf_{H}} H^{1}(G, A) ⟶^{res_{H}} H^{1}(H, A).

Proof. Our proof follows [Ser79, pg. 117] closely.

We see that res ∘ inf = 0 by looking at cochains. It remains to prove that inf_{H} is injective and that the image of inf_{H} is the kernel of res_{H}.

1. That inf_{H} is injective: Suppose f : G/H → A^{H} is a cocycle whose image in H^{1}(G, A) is equivalent to 0 modulo coboundaries. Then there is an a ∈ A such that f(σ) = σa − a, where we identify f with the map G → A that is constant on the costs of H. But f depends only on the costs of σ modulo H, so σa − a = στa − a for all τ ∈ H, i.e., τa = a (as we see by adding a to both sides and multiplying by σ^{−1}).Thus a ∈ A^{H}, so f is equivalent to 0 in H^{1}(H, A^{H}).

2. The image of inf_{H} contains the kernel of res_{H}: Suppose f : G → A is a cocycle whose restriction to H is a coboundary, i.e., there is a ∈ A such that f(τ) = τa − a for all τ ∈ H. Subtracting the coboundary g(σ) = σa − a for σ ∈ G from f, we may assume f(τ) = 0 for all τ ∈ H. Examing the equation f(στ) = f(σ)+σf(τ) with τ ∈ H shows that f is constant on the cosets of H. Again using this formula, but with σ ∈ H and τ ∈ G, we see that

f(τ) = f(στ) = f(σ) + σf(τ) = σf(τ),

so the image of f is contained in A^{H}. Thus f defines a cocycle G/H → A^{H}, i.e., is in the image of inf_{H}.

This proposition will be useful when proving the weak Mordell-Weil theorem.

Example 12.3.2. The sequence of Proposition 12.3.1 need not be surjective on the right. For example, suppose H = A_{3} ⊂ S_{3}, and let S_{3} act trivially on the cyclic group C = Z/3Z. Using the Hom interpretation of H^{1}, we see that H^{1}(S_{3}/A_{3}, C) = H^{1}(S_{3}, C) = 0, but H^{1}(A_{3}, C) has order 3.

Remark 12.3.3. On generalization of Proposition 12.3.1 is to a more complicated exact sequence involving the “transgression map” tr:

0 → H^{1}(G/H, A^{H}) ⟶^{inf_{H}} H^{1}(G, A) ⟶^{res_{H}} H^{1}(H, A)^{G/H} ⟶^{tr} H^{2}(G/H, A^{H}) → H^{2}(G, A).

Another generalization of Proposition 12.3.1 is that if H^{m}(H, A) = 0 for 1 ≤ m < n, then there is an exact sequence

0 → H^{n}(G/H, A^{H}) ⟶^{inf_{H}} H^{n}(G, A) ⟶^{res_{H}} H^{n}(H, A).

Remark 12.3.4. If H is a not-necessarily-normal subgroup of G, there are also maps

cores_{H} : H^{n}(H, A) → H^{n}(G, A)

for each n. For n = 0 this is the trace map a ↦ ∑_{σ∈G/H} σa, but the definition for n ≥ 1 is more involved. One has cores_{H} ∘ res_{H} = [#(G/H)]. Taking H = 1 we see that for each n ≥ 1 the group H^{n}(G, A) is annihilated by #G.

12.4 Galois Cohomology

Suppose L/K is a finite Galois extension of fields, and A is a module for Gal(L/K). Put

H^{n}(L/K, A) = H^{n}(Gal(L/K), A).

Next suppose A is a module for the group Gal(K^{sep}/K) and for any extension L of K, let

A(L) = {x ∈ A : σ(x) = x all σ ∈ Gal(K^{sep}/L)}.

We think of A(L) as the group of elements of A that are “defined over L”. For each n ≥ 0, put

H^{n}(L/K, A) = H^{n}(Gal(L/K), A(L)).

Also, put

H^{n}(K, A) = \underrightarrow{lim}_{L/K} H^{n}(L/K, A(L)),

where L varies over all finite Galois extensions of K. (Recall: Galois means normal and separable.)

Example 12.4.1. The following are examples of Gal(\overline{Q}/Q)-modules:

\overline{Q}, \overline{Q}^{∗}, \overline{Z}, \overline{Z}^{∗}, E(\overline{Q}), E(\overline{Q})[n], Tate_{ℓ}(E),

where E is an elliptic curve over Q.

124 CHAPTER 12. GALOIS COHOMOLOGY Theorem 12.4.2 (Hilbert 90). We have H^{1}(K, \overline{K}^{∗}) = 0. Proof. See [Ser79]. The main input to the proof is linear independence of automorphism and a clever little calculation.

The Weak Mordell-Weil Theorem

13.1 Kummer Theory of Number Fields

Suppose K is a number field and fix a positive integer n. Consider the exact sequence

1 → μ_{n} → \overline{K}^{∗} ⟶^{n} \overline{K}^{∗} → 1.

The long exact sequence is

1 → μ_{n}(K) → K^{∗} ⟶^{n} K^{∗} → H^{1}(K, μ_{n}) → H^{1}(K, \overline{K}^{∗}) = 0,

where H^{1}(K, \overline{K}^{∗}) = 0 by Theorem 12.4.2.

Assume now that the group μ_{n} of nth roots of unity is contained in K. Using Galois cohomology we obtain a relatively simple classification of all abelian extensions of K with Galois group cyclic of order dividing n. Moreover, since the action of Gal(\overline{K}/K) on μ_{n} is trivial, by our hypothesis that μ_{n} ⊂ K, we see that

H^{1}(K, μ_{n}) = Hom(Gal(\overline{K}/K), μ_{n}).

Thus we obtain an exact sequence

1 → μ_{n} → K^{∗} ⟶^{n} K^{∗} → Hom(Gal(\overline{K}/K), μ_{n}) → 1,

or equivalently, an isomorphism

K^{∗}/(K^{∗})^{n} ≅ Hom(Gal(\overline{K}/K), μ_{n}),

By Galois theory, homomorphisms Gal(\overline{K}/K) → μ_{n} (up to automorphisms of μ_{n}) correspond to cyclic abelian extensions of K with Galois group a subgroup of the cyclic group μ_{n} of order n. Unwinding the definitions, what this says is that every cyclic abelian extension of K of degree dividing n is of the form K(a^{1/n}) for some element a ∈ K.

One can prove via calculations with discriminants, etc. that K(a^{1/n}) is unramified outside n and and the primes that divide Norm(a). Moreover, and this is a much bigger result, one can combine this with facts about class groups and unit groups to prove the following theorem:

Theorem 13.1.1. Suppose K is a number field with μ_{n} ⊂ K, where n is a positive integer. Then the maximal abelian exponent n extension L of K unramified outside a finite set S of primes is of finite degree.

Sketch of Proof. We may enlarge S, because if an extension is unramified outside a set larger than S, then it is unramified outside S.

We first argue that we can enlarge S so that the ring

O_{K,S} = {a ∈ K^{∗} : ord_{𝔭}(aO_{K}) ≥ 0 all 𝔭 ∉ S} ∪ {0}

is a principal ideal domain. Note that for any S, the ring O_{K,S} is a Dedekind domain. Also, the condition ord_{𝔭}(aO_{K}) ≥ 0 means that in the prime ideal factorization of the fractional ideal aO_{K}, we have that 𝔭 occurs to a nonnegative power. Thus we are allowing denominators at the primes in S. Since the class group of O_{K} is finite, there are primes 𝔭_{1}, …, 𝔭_{r} that generate the class group as a group (for example, take all primes with norm up to the Minkowski bound). Enlarge S to contain the primes 𝔭_{i}. Note that the ideal 𝔭_{i}O_{K,S} is the unit ideal (we have 𝔭_{i}^{m} = (α) for some m ≥ 1; then 1/α ∈ O_{K,S}, so (𝔭_{i}O_{K,S})^{m} is the unit ideal, hence 𝔭_{i}O_{K,S} is the unit ideal by unique factorization in the Dedekind domain O_{K,S}.) Then O_{K,S} is a principal ideal domain, since every ideal of O_{K,S} is equivalent modulo a principal ideal to a product of ideals 𝔭_{i}O_{K,S}. Note that we have used that the class group of O_{K} is finite.

Next enlarge S so that all primes over nO_{K} are in S. Note that O_{K,S} is still a PID. Let

K(S, n) = {a ∈ K^{∗}/(K^{∗})^{n} : n | ord_{𝔭}(a) all 𝔭 ∉ S}.

Then a refinement of the arguments at the beginning of this section show that L is generated by all nth roots of the elements of K(S, n). It thus sufficies to prove that K(S, n) is finite.

There is a natural map

ϕ : O_{K,S}^{∗} → K(S, n).

Suppose a ∈ K^{∗} is a representative of an element in K(S, n). The ideal aO_{K,S} has factorization which is a product of nth powers, so it is an nth power of an ideal. Since O_{K,S} is a PID, there is b ∈ O_{K,S} and u ∈ O_{K,S}^{∗} such that

a = b^{n} · u.

Thus u ∈ O_{K,S}^{∗} maps to [a] ∈ K(S, n). Thus ϕ is surjective.

Recall that we proved Dirichlet’s unit theorem (see Theorem 9.1.2), which asserts that the group O_{K}^{∗} is a finitely generated abelian group of rank r + s − 1. More generally, we now show that O_{K,S}^{∗} is a finitely generated abelian group of rank r + s + #S − 1. Once we have shown this, then since K(S, n) is torsion group that is a quotient of a finitely generated group, we will conclude that K(S, n) is finite, which will prove the theorem.

Thus it remains to prove that O_{K,S}^{∗} has rank r + s − 1 + #S. Let 𝔭_{1}, …, 𝔭_{n} be the primes in S. Define a map ϕ : O_{K,S}^{∗} → Z^{n} by

ϕ(u) = (ord_{𝔭_{1}}(u), …, ord_{𝔭_{n}}(u)).

First we show that Ker(ϕ) = O_{K}^{∗}. We have that u ∈ Ker(ϕ) if and only if u ∈ O_{K,S}^{∗} and ord_{𝔭_{i}}(u) = 0 for all i; but the latter condition implies that u is a unit at each prime in S, so u ∈ O_{K}^{∗}. Thus we have an exact sequence

1 → O_{K}^{∗} → O_{K,S}^{∗} ⟶^{ϕ} Z^{n}.

Next we show that the image of ϕ has finite index in Z^{n}. Let h be the class number of O_{K}. For each i there exists α_{i} ∈ O_{K} such that 𝔭_{i}^{h} = (α_{i}). But α_{i} ∈ O_{K,S}^{∗} since ord_{𝔭}(α_{i}) = 0 for all 𝔭 ∉ S (by unique factorization). Then

ϕ(α_{i}) = (0, …, 0, h, 0, …, 0).

It follows that (hZ)^{n} ⊂ Im(ϕ), so the image of ϕ has finite index in Z^{n}. It follows that O_{K,S}^{∗} has rank equal to r + s − 1 + #S.

13.2 Proof of the Weak Mordell-Weil Theorem

Suppose E is an elliptic curve over a number field K, and fix a positive integer n. Just as with number fields, we have an exact sequence

0 → E[n] → E ⟶^{n} E → 0.

Then we have an exact sequence

0 → E[n](K) → E(K) ⟶^{n} E(K) → H^{1}(K, E[n]) → H^{1}(K, E)[n] → 0.

From this we obtain a short exact sequence

0 → E(K)/nE(K) → H^{1}(K, E[n]) → H^{1}(K, E)[n] → 0.  (13.2.1)

Now assume, in analogy with Section 13.1, that E[n] ⊂ E(K), i.e., all n-torsion points are defined over K. Then

H^{1}(K, E[n]) = Hom(Gal(\overline{K}/K), (Z/nZ)^{2}),

and the sequence (13.2.1) induces an inclusion

E(K)/nE(K) ↪ Hom(Gal(\overline{K}/K), (Z/nZ)^{2}).  (13.2.2)

Explicitly, this homomorphism sends a point P to the homomorphism defined as follows: Choose Q ∈ E(\overline{K}) such that nQ = P; then send each σ ∈ Gal(\overline{K}/K) to σ(Q)−Q ∈ E[n] ≅ (Z/nZ)^{2}. Given a point P ∈ E(K), we obtain a homomorphism φ : Gal(\overline{K}/K) → (Z/nZ)^{2}, whose kernel defines an abelian extension L of K that has exponent n. The amazing fact is that L can be ramified at most at the primes of bad reduction for E and the primes that divide n. Thus we can apply theorem 13.1.1 to see that there are only finitely many such L.

Theorem 13.2.1. If P ∈ E(K) is a point, then the field L obtained by adjoining to K all coordinates of all choices of Q = \frac{1}{n}P is unramified outside n and the primes of bad reduction for E.

Sketch of Proof. First one proves that if 𝔭 ∤ n is a prime of good reduction for E, then the natural reduction map π : E(K)[n] → Ẽ(O_{K}/𝔭) is injective. The argument that π is injective uses “formal groups”, whose development is outside the scope of this course. Next, as above, σ(Q) − Q ∈ E(K)[n] for all σ ∈ Gal(\overline{K}/K). Let I_{𝔭} ⊂ Gal(L/K) be the inertia group at 𝔭. Then by definition of interia group, I_{𝔭} acts trivially on Ẽ(O_{K}/𝔭). Thus for each σ ∈ I_{𝔭} we have

π(σ(Q) − Q) = σ(π(Q)) − π(Q) = π(Q) − π(Q) = 0.

Since π is injective, it follows that σ(Q) = Q for σ ∈ I_{𝔭}, i.e., that Q is fixed under all I_{𝔭}. This means that the subfield of L generated by the coordinates of Q is unramified at 𝔭. Repeating this argument with all choices of Q implies that L is unramified at 𝔭.

Theorem 13.2.2 (Weak Mordell-Weil). Let E be an elliptic curve over a number field K, and let n be any positive integer. Then E(K)/nE(K) is finitely generated.

Proof. First suppose all elements of E[n] have coordinates in K. Then the homomorphism (13.2.2) provides an injection of E(K)/nE(K) into

Hom(Gal(\overline{K}/K), (Z/nZ)^{2}).

By Theorem 13.2.1, the image consists of homomorphisms whose kernels cut out an abelian extension of K unramified outside n and primes of bad reduction for E. Since this is a finite set of primes, Theorem 13.1.1 implies that the homomorphisms all factor through a finite quotient Gal(L/K) of Gal(\overline{Q}/K). Thus there can be only finitely many such homomorphisms, so the image of E(K)/nE(K) is finite. Thus E(K)/nE(K) itself is finite, which proves the theorem in this case.

Next suppose E is an elliptic curve over a number field, but do not make the hypothesis that the elements of E[n] have coordinates in K. Since the group E[n](C) is finite and its elements are defined over \overline{Q}, the extension L of K got by adjoining to K all coordinates of elements of E[n](C) is a finite extension. It is also Galois, as we saw when constructing Galois representations attached to elliptic curves. By Proposition 12.3.1, we have an exact sequence

0 → H^{1}(L/K, E[n](L)) → H^{1}(K, E[n]) → H^{1}(L, E[n]).

The kernel of the restriction map H^{1}(K, E[n]) → H^{1}(L, E[n]) is finite, since it is isomorphic to the finite group cohomology group H^{1}(L/K, E[n](L)). By the argument of the previous paragraph, the image of E(K)/nE(K) in H^{1}(L, E[n]) under

E(K)/nE(K) ↪ H^{1}(K, E[n]) ⟶^{res} H^{1}(L, E[n])

is finite, since it is contained in the image of E(L)/nE(L). Thus E(K)/nE(K) is finite, since we just proved the kernel of res is finite.

130 CHAPTER 13. THE WEAK MORDELL-WEIL THEOREM

Exercises

1. Let A = (\begin{matrix}1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9 \end{matrix}).

(a) Find the Smith normal form of A.

(b) Prove that the cokernel of the map Z^{3} → Z^{3} given by multiplication

by A is isomorphic to Z/3Z ⊕ Z.

2. Show that the minimal polynomial of an algebraic number α ∈ \overline{Q} is unique.

3. Which of the following rings have infinitely many prime ideals?

(a) The integers Z.

(b) The ring Z[x] of polynomials over Z.

(c) The quotient ring C[x]/(x^{2005} − 1).

(d) The ring (Z/6Z)[x] of polynomials over the ring Z/6Z.

(e) The quotient ring Z/nZ, for a fixed positive integer n.

(f) The rational numbers Q.

(g) The polynomial ring Q[x, y, z] in three variables.

4. Which of the following numbers are algebraic integers?

(a) The number (1 + \sqrt{5})/2.

(b) The number (2 + \sqrt{5})/2.

(c) The value of the infinite sum ∑_{n=1}^{∞} 1/n^{2}.

(d) The number α/3, where α is a root of x^{4} + 54x + 243.

5. Prove that \overline{Z} is not noetherian.

6. Prove that the ring \overline{Z} is not noetherian, but it is integrally closed in its field of fraction, and every nonzero prime ideal is maximal. Thus \overline{Z} is not a Dedekind domain.

7. Let K be a field.

(a) Prove that the polynomial ring K[x] is a Dedekind domain.

(b) Is Z[x] a Dedekind domain?

8. Let O_{K} be the ring of integers of a number field. Let F_{K} denote the abelian group of fractional ideals of O_{K}.

(a) Prove that F_{K} is torsion free.

(b) Prove that F_{K} is not finitely generated.

(c) Prove that F_{K} is countable.

(d) Conclude that if K and L are number fields, then there exists an isomorphism of groups F_{K} ≈ F_{L}.

9. From basic definitions, find the rings of integers of the fields Q(\sqrt{11}) and Q(\sqrt{13}).

10. Factor the ideal (10) as a product of primes in the ring of integers of Q(\sqrt{11}). You’re allowed to use a computer, as long as you show the commands you use.

11. Let O_{K} be the ring of integers of a number field K, and let p ∈ Z be a prime number. What is the cardinality of O_{K}/(p) in terms of p and [K : Q], where (p) is the ideal of O_{K} generated by p?

12. Give an example of each of the following, with proof:

(a) A non-principal ideal in a ring.

(b) A module that is not finitely generated.

(c) The ring of integers of a number field of degree 3.

(d) An order in the ring of integers of a number field of degree 5.

(e) The matrix on K of left multiplication by an element of K, where K is a degree 3 number field.

(f) An integral domain that is not integrally closed in its field of fractions.

(g) A Dedekind domain with finite cardinality.

(h) A fractional ideal of the ring of integers of a number field that is not an integral ideal.

13. Let φ : R → S be a homomorphism of (commutative) rings.

(a) Prove that if I ⊂ S is an ideal, then φ^{−1}(I) is an ideal of R.

(b) Prove moreover that if I is prime, then φ^{−1}(I) is also prime.

14. Let O_{K} be the ring of integers of a number field. The Zariski topology on the set X = Spec(O_{K}) of all prime ideals of O_{K} has closed sets the sets of the form

V (I) = {𝔭 ∈ X : 𝔭 | I},

where I varies through all ideals of O_{K}, and 𝔭 | I means that I ⊂ 𝔭.

(a) Prove that the collection of closed sets of the form V (I) is a topology on X.

(b) Let Y be the subset of nonzero prime ideals of O_{K}, with the induced topology. Use unique factorization of ideals to prove that the closed subsets of Y are exactly the finite subsets of Y along with the set Y.

(c) Prove that the conclusion of (a) is still true if O_{K} is replaced by an order in O_{K}, i.e., a subring that has finite index in O_{K} as a Z-module.

15. Explicitly factor the ideals generated by each of 2, 3, and 5 in the ring of integers of Q(\sqrt[3]{2}). (Thus you’ll factor 3 separate ideals as products of prime ideals.) You may assume that the ring of integers of Q(\sqrt[3]{2}) is Z[\sqrt[3]{2}], but do not simply use a computer command to do the factorizations.

16. Let K = Q(ζ_{13}),where ζ_{13} is a primitive 13th root of unity. Note that K has ring of integers O_{K} = Z[ζ_{13}].

(a) Factor 2, 3, 5, 7, 11, and 13 in the ring of integers O_{K}. You may use a computer.

(b) For p ≠ 13, find a conjectural relationship between the number of prime ideal factors of pO_{K} and the order of the reduction of p in (Z/13Z)^{∗}.

(c) Compute the minimal polynomial f(x) ∈ Z[x] of ζ_{13}. Reinterpret your conjecture as a conjecture that relates the degrees of the irreducible factors of f(x) (mod p) to the order of p modulo 13. Does your conjecture remind you of quadratic reciprocity?

17. (a) Find by hand and with proof the ring of integers of each of the following

two fields: Q(\sqrt{5}), Q(i).

(b) Find the ring of integers of Q(x^{5} + 7x + 1) using a computer.

18. Let p be a prime. Let O_{K} be the ring of integers of a number field K, and suppose a ∈ O_{K} is such that [O_{K} : Z[a]] is finite and coprime to p. Let f(x) be the minimal polynomial of a. We proved in class that if the reduction \overline{f} ∈ F_{p}[x] of f factors as

\overline{f} = ∏ g_{i}^{e_{i}},

where the g_{i} are distinct irreducible polynomials in F_{p}[x], then the primes appearing in the factorization of pO_{K} are the ideals (p, g_{i}(a)). In class, we did not prove that the exponents of these primes in the factorization of pO_{K} are the e_{i}. Prove this.

19. Let a_{1} = 1 + i, a_{2} = 3 + 2i, and a_{3} = 3 + 4i as elements of Z[i].

(a) Prove that the ideals I_{1} = (a_{1}), I_{2} = (a_{2}), and I_{3} = (a_{3}) are coprime in pairs.

(b) Compute #Z[i]/(I_{1}I_{2}I_{3}).

(c) Find a single element in Z[i] that is congruent to n modulo I_{n}, for each n ≤ 3.

20. Find an example of a field K of degree at least 4 such that the ring O_{K} of integers of K is not of the form Z[a] for any a ∈ O_{K}.

21. Let 𝔭 be a prime ideal of O_{K}, and suppose that O_{K}/𝔭 is a finite field of characteristic p ∈ Z. Prove that there is an element α ∈ O_{K} such that 𝔭 = (p, α). This justifies why PARI can represent prime ideals of O_{K} as pairs (p, α). (More generally, if I is an ideal of O_{K}, we can choose one of the elements of I to be any nonzero element of I.)

22. (*) Give an example of an order O in the ring of integers of a number field and an ideal I such that I cannot be generated by 2 elements as an ideal. Does the Chinese Remainder Theorem hold in O? [The (*) means that this problem is more difficult than usual.]

23. For each of the following three fields, determining if there is an order of discriminant 20 contained in its ring of integers:

K = Q(\sqrt{5}), K = Q(\sqrt[3]{2}), and …

K any extension of Q of degree 2005. [Hint: for the last one, apply the exact form of our theorem about finiteness of class groups to the unit ideal to show that the discriminant of a degree 2005 field must be large.]

24. Prove that the quantity C_{r,s} in our theorem about finiteness of the class group can be taken to be (\frac{4}{π} )^{s} \frac{n!}{n^{n}}, as follows (adapted from [SD01, pg. 19]): Let S be the set of elements (x_{1}, …, x_{n}) ∈ R^{n} such that

|x_{1}| + ⋯ |x_{r}| + 2 ∑_{v=r+1}^{r+s} \sqrt{x_{v}^{2} + x_{v+s}^{2}} ≤ 1.

(a) Prove that S is convex and that M = n^{−n}, where

M = max{|x_{1} ⋯ x_{r} ·(x_{r+1}^{2} +x_{(r+1)+s}^{2}) ⋯ (x_{r+s}^{2} +x_{n}^{2})| : (x_{1}, …, x_{n}) ∈ S}.

[Hint: For convexity, use the triangle inequality and that for 0 ≤ λ ≤ 1, we have

λ\sqrt{x_{1}^{2} + y_{1}^{2}} + (1 − λ)\sqrt{x_{2}^{2} + y_{2}^{2}}
≥ \sqrt{(λx_{1} + (1 − λ)x_{2})^{2} + (λy_{1} + (1 − λ)y_{2})^{2}}

for 0 ≤ λ ≤ 1. In polar coordinates this last inequality is

λr_{1} + (1 − λ)r_{2} ≥ \sqrt{λ^{2}r_{1}^{2} + 2λ(1 − λ)r_{1}r_{2} cos(θ_{1} − θ_{2}) + (1 − λ)^{2}r_{2}^{2}},

which is trivial. That M ≤ n^{−n} follows from the inequality between the arithmetic and geometric means.

(b) Transforming pairs x_{v}, x_{v+s} from Cartesian to polar coordinates, show also that v = 2^{r}(2π)^{s}D_{r,s}(1), where

D_{ℓ,m}(t) = ∫ ⋯ ∫_{R_{ℓ,m}(t)} y_{1} ⋯ y_{m}dx_{1} ⋯ dx_{ℓ}dy_{1} ⋯ dy_{m}

and R_{ℓ,⇕}(t) is given by x_{ρ} ≥ 0 (1 ≤ ρ ≤ ℓ), y_{ρ} ≥ 0 (1 ≤ ρ ≤ m) and

x_{1} + ⋯ + x_{ℓ} + 2(y_{1} + ⋯ + y_{m}) ≤ t.

(c) Prove that

D_{ℓ,m}(t) = ∫_{0}^{t} D_{ℓ−1,m}(t − x)dx = ∫_{0}^{t/2} D_{ℓ,m−1}(t − 2y)ydy

and deduce by induction that

D_{ℓ,m}(t) = \frac{4^{−m}t^{ℓ+2m}}{(ℓ + 2m)!}

25. Let K vary through all number fields. What torsion subgroups (U_{K})_{tor} actually occur?

26. If U_{K} ≈ Z^{n} × (U_{K})_{tor}, we say that U_{K} has rank n. Let K vary through all number fields. What ranks actually occur?

27. Let K vary through all number fields such that the group U_{K} of units of K is a finite group. What finite groups U_{K} actually occur?

28. Let K = Q(ζ_{5}).

(a) Show that r = 0 and s = 2.

(b) Find explicit generators for the group of units of U_{K}.

(c) Draw an illustration of the log map φ : U_{K} → R^{2}, including the hyperplane x_{1} +x_{2} = 0 and the lattice in the hyperplane spanned by the image of U_{K}.

29. Let K be a number field. Prove that p | d_{K} if and only if p ramifies in K. (Note: This fact is proved in many books.)

30. Using Zorn’s lemma, one can show that there are homomorphisms Gal(\overline{Q}/Q) → {±1} with finite image that are not continuous, since they do not factor through the Galois group of any finite Galois extension. [Hint: The extension Q(\sqrt{d}, d ∈ Q^{∗}/(Q^{∗})^{2}) is an extension of Q with Galois group X ≈ ∏ F_{2}. The index-two open subgroups of X correspond to the quadratic extensions of Q. However, Zorn’s lemma implies that X contains many index-two subgroups that do not correspond to quadratic extensions of Q.]

31. (a) Give an example of a finite nontrivial Galois extension K of Q and a

prime ideal 𝔭 such that D_{𝔭} = Gal(K/Q).

(b) Give an example of a finite nontrivial Galois extension K of Q and a prime ideal 𝔭 such that D_{𝔭} has order 1.

(c) Give an example of a finite Galois extension K of Q and a prime ideal 𝔭 such that D_{𝔭} is not a normal subgroup of Gal(K/Q).

(d) Give an example of a finite Galois extension K of Q and a prime ideal 𝔭 such that I_{𝔭} is not a normal subgroup of Gal(K/Q).

32. Let S_{3} by the symmetric group on three symbols, which has order 6.

(a) Observe that S_{3} ≅ D_{3}, where D_{3} is the dihedral group of order 6, which is the group of symmetries of an equilateral triangle.

(b) Use (32a) to write down an explicit embedding S_{3} ↪ GL_{2}(C).

(c) Let K be the number field Q(\sqrt[3]{2}, ω), where ω^{3} = 1 is a nontrivial cube root of unity. Show that K is a Galois extension with Galois group isomorphic to S_{3}.

(d) We thus obtain a 2-dimensional irreducible complex Galois representation

ρ : Gal(\overline{Q}/Q) → Gal(K/Q) ≅ S_{3} ⊂ GL_{2}(C).

Compute a representative matrix of Frob_{p} and the characteristic polynomial of Frob_{p} for p = 5, 7, 11, 13.

33. Look up the Riemann-Roch theorem in a book on algebraic curves.

(a) Write it down in your own words.

(b) Let E be an elliptic curve over a field K. Use the Riemann-Roch theorem to deduce that the natural map

E(K) → Pic^{0}(E/K)

is an isomorphism.

34. Suppose G is a finite group and A is a finite G-module. Prove that for any q, the group H^{q}(G, A) is a torsion abelian group of exponent dividing the order #A of A.

35. Let K = Q(\sqrt{5}) and let A = U_{K} be the group of units of K, which is a module over the group G = Gal(K/Q). Compute the cohomology groups H^{0}(G, A) and H^{1}(G, A). (You shouldn’t use a computer, except maybe to determine U_{K}.)

36. Let K = Q(\sqrt{−23}) and let C be the class group of Q(\sqrt{−23}), which is a module over the Galois group G = Gal(K/Q). Determine H^{0}(G, C) and H^{1}(G, C).

37. Let E be the elliptic curve y^{2} = x^{3} + x + 1. Let E[2] be the group of points of order dividing 2 on E. Let

\overline{ρ}_{E,2} : Gal(\overline{Q}/Q) → Aut(E[2])

be the mod 2 Galois representation associated to E.

(a) Find the fixed field K of ker(\overline{ρ}_{E,2}).

(b) Is \overline{ρ}_{E,2} surjective?

(c) Find the group Gal(K/Q).

(d) Which primes are ramified in K?

(e) Let I be an inertia group above 2, which is one of the ramified primes. Determine E[2]^{I} explicitly for your choice of I. What is the characteristic polynomial of Frob_{2} acting on E[2]^{I}.

(f) What is the characteristic polynomial of Frob_{3} acting on E[2]?

(g) Let K be a number field. Prove that there is a finite set S of primes of K such that

O_{K,S} = {a ∈ K^{∗} : ord_{𝔭}(aO_{K}) ≥ 0 all 𝔭 ∉ S} ∪ {0}

is a prinicipal ideal domain. The condition ord_{𝔭}(aO_{K}) ≥ 0 means that in the prime ideal factorization of the fractional ideal aO_{K}, we have that 𝔭 occurs to a nonnegative power.

(h) Let a ∈ K and n a positive integer. Prove that L = K(a^{1/n}) is unramified outside the primes that divide n and the norm of a. This means that if 𝔭 is a prime of O_{K}, and 𝔭 is coprime to n Norm_{L/K}(a)O_{K}, then the prime factorization of 𝔭O_{L} involves no primes with exponent bigger than 1.

(i) Write down a proof of Hilbert’s Theorem 90, formulated as the statement that for any number field K, we have

H^{1}(K, \overline{K}^{∗}) = 0.

138 CHAPTER 14. EXERCISES

Bibliography

[ABC^{+}] B. Allombert, K. Belabas, H. Cohen, X. Roblot, and I. Zakhare-

vitch, PARI/GP, http://pari.math.u-bordeaux.fr/.

[Art23] E. Artin, Über eine neue Art von L-reihen, Abh. Math. Sem. Univ. Hamburg 3 (1923), 89–108.

[Art30] E Artin, Zur Theorie der L-Reihen mit allgemeinen Gruppencharakteren, Abh. math. Semin. Univ. Hamburg 8 (1930), 292– 306.

[Art91] M. Artin, Algebra, Prentice Hall Inc., Englewood Cliffs, NJ, 1991. MR 92g:00001

[BCP97] W. Bosma, J. Cannon, and C. Playoust, The Magma algebra system. I. The user language, J. Symbolic Comput. 24 (1997), no. 3– 4, 235–265, Computational algebra and number theory (London, 1993). MR 1 484 478

[BDSBT01] Kevin Buzzard, Mark Dickinson, Nick Shepherd-Barron, and Richard Taylor, On icosahedral Artin representations, Duke Math. J. 109 (2001), no. 2, 283–318. MR MR1845181 (2002k:11078)

[BL94] J. A. Buchmann and H. W. Lenstra, Jr., Approximating rings of integers in number fields, J. Théor. Nombres Bordeaux 6 (1994), no. 2, 221–260. MR MR1360644 (96m:11092)

[BS02] K. Buzzard and W. A. Stein, A mod five approach to modularity of icosahedral Galois representations, Pacific J. Math. 203 (2002), no. 2, 265–282. MR 2003c:11052

[Buh78] J. P. Buhler, Icosahedral Galois representations, Springer-Verlag, Berlin, 1978, Lecture Notes in Mathematics, Vol. 654.

[Cas67] J. W. S. Cassels, Global fields, Algebraic Number Theory (Proc. Instructional Conf., Brighton, 1965), Thompson, Washington, D.C., 1967, pp. 42–84.

[CL84] H. Cohen and H. W. Lenstra, Jr., Heuristics on class groups of number fields, Number theory, Noordwijkerhout 1983 (Noordwijkerhout, 1983), Lecture Notes in Math., vol. 1068, Springer, Berlin, 1984, pp. 33–62. MR MR756082 (85j:11144)

[Coh93] H. Cohen, A course in computational algebraic number theory, Springer-Verlag, Berlin, 1993. MR 94i:11105

[Cp86] J. W. S. Cassels and A. Fröhlich (eds.), Algebraic number theory, London, Academic Press Inc. [Harcourt Brace Jovanovich Publishers], 1986, Reprint of the 1967 original.

[EH00] D. Eisenbud and J. Harris, The geometry of schemes, Springer-Verlag, New York, 2000. MR 2001d:14002

[Fre94] G. Frey (ed.), On Artin’s conjecture for odd 2-dimensional representations, Springer-Verlag, Berlin, 1994, 1585. MR 95i:11001

[Har77] R. Hartshorne, Algebraic Geometry, Springer-Verlag, New York, 1977, Graduate Texts in Mathematics, No. 52.

[Lan80] R. P. Langlands, Base change for GL(2), Princeton University Press, Princeton, N.J., 1980.

[Len02] H. W. Lenstra, Jr., Solving the Pell equation, Notices Amer. Math. Soc. 49 (2002), no. 2, 182–192. MR 2002i:11028

[LL93] A. K. Lenstra and H. W. Lenstra, Jr. (eds.), The development of the number field sieve, Springer-Verlag, Berlin, 1993. MR 96m:11116

[SD01] H. P. F. Swinnerton-Dyer, A brief guide to algebraic number theory, London Mathematical Society Student Texts, vol. 50, Cambridge University Press, Cambridge, 2001. MR 2002a:11117

[Ser79] J-P. Serre, Local fields, Springer-Verlag, New York, 1979, Translated from the French by Marvin Jay Greenberg.

[Sil92] J. H. Silverman, The arithmetic of elliptic curves, Springer-Verlag, New York, 1992, Corrected reprint of the 1986 original.

[Ste] W. A. Stein, Elementary Number Theory,

http://modular.fas.harvard.edu/ent/.