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 of a number field is noetherian.

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

An algebraic integer is an element of .

Definition 2.3.1 (Algebraic Integer)   An element is an algebraic integer if it is a root of some monic polynomial with coefficients in  .

For example, is an algebraic integer, since it is a root of , but one can prove is not an algebraic integer, since one can show that it is not the root of any monic polynomial over  . Also and are not algebraic numbers (they are transcendental).

Example 2.3.2   We compute some minimal polynomials in SAGE. The minimal polynomial of :
sage: (1/2).minpoly()
x - 1/2

We construct a root of and compute its minimal polynomial:
sage: k.<a> = NumberField(x^2 - 2)
sage: a^2 - 2
0
sage: a.charpoly()
x^2 - 2

Finally we compute the minimal polynomial of , which is not integral:
sage: (a/2 + 3).charpoly()
x^2 - 6*x + 17/2


The only elements of that are algebraic integers are the usual integers . However, there are elements of that have denominators when written down, but are still algebraic integers. For example,

is an algebraic integer, since it is a root of the monic polynomial . We verify this using SAGE below, though of course this is easy to do by hand (you should try much more complicated examples in SAGE).
sage: k.<a> = QuadraticField(5)
sage: a^2
5
sage: alpha = (1 + a)/2
sage: alpha.charpoly()
x^2 - x - 1
sage: alpha.is_integral()
True


Definition 2.3.3 (Minimal Polynomial)   The minimal polynomial of is the monic polynomial of least positive degree such that .

It is a consequence of Lemma 2.3.5 that the minimal polynomial  is unique. The minimal polynomial of is , and the minimal polynomial of is .

Example 2.3.4   We compute the minimal polynomial of a number expressed in terms of :
sage: k.<a> = NumberField(x^4 - 2)
sage: a^4
2
sage: (a^2 + 3).minpoly()
x^2 - 6*x + 7


Lemma 2.3.5   Suppose . Then the minimal polynomial of  divides any polynomial  such that .

Proof. Let  be a minimal polynomial of . If , use the division algorithm to write , where . We have

so is a root of . However,  is the monic polynomial of least positive degree with root , so .

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

Proof. Suppose is the minimal polynomial of . Since is an algebraic integer, there is a polynomial that is monic such that . By Lemma 2.3.5, we have , for some monic . If , then some prime  divides the denominator of some coefficient of . Let be the largest power of  that divides some denominator of some coefficient , and likewise let be the largest power of  that divides some denominator of a coefficient of . Then , and if we reduce both sides modulo , then the left hand side is 0 but the right hand side is a product of two nonzero polynomials in , hence nonzero, a contradiction.

Proposition 2.3.7   An element is integral if and only if is finitely generated as a -module.

Proof. Suppose  is integral and let be the monic minimal polynomial of  (that is Lemma 2.3.6). Then is generated by , where  is the degree of . Conversely, suppose is such that is finitely generated, say by elements . Let  be any integer bigger than the degrees of all . Then there exist integers such that , hence  satisfies the monic polynomial , so  is integral.

Example 2.3.8   The rational number is not integral. Note that is not a finitely generated -module, since  is infinite and . (You can see that implies that is not finitely generated, by assuming that is finitely generated, using the structure theorem to write as a product of cyclic groups, and noting that has nontrivial -torsion.)

Proposition 2.3.9   The set of all algebraic integers is a ring, i.e., the sum and product of two algebraic integers is again an algebraic integer.

Proof. Suppose , and let be the degrees of the minimal polynomials of , respectively. Then span and span as -module. Thus the elements for span . Since is a submodule of the finitely-generated module , it is finitely generated, so is integral. Likewise, is a submodule of , so it is also finitely generated and is integral.

Example 2.3.10   We illustrate an example of a sum and product of two algebraic integers being an algebraic integer. We first make the relative number field obtained by adjoining a root of to the field :
sage: k.<a, b> = NumberField([x^2 - 2, x^3 - 5])
sage: k
Number Field in a with defining polynomial x^2 + -2 over its base field


Here and are roots of and , respectively.

sage: a^2
2
sage: b^3
5


We compute the minimal polynomial of the sum and product of and . The command absolute_minpoly gives the minimal polynomial of the element over the rational numbers.

sage: (a+b).absolute_minpoly()
x^6 - 6*x^4 - 10*x^3 + 12*x^2 - 60*x + 17
sage: (a*b).absolute_minpoly()
x^6 - 200

Of course the minimal polynomial of the product is is trivial to compute by hand. The minimal polynomial of could be computed by hand by computing the determinant of the matrix given by left multiplication of on this basis:

The following is an alternative more symbolic way to compute the minimal polynomials above, though it is not provably correct. We compute to 100 bits precision (via the n command), then use the LLL algorithm (via the algdep command) to heuristically find a linear relation between the first powers of .

sage: a = 5^(1/3); b = sqrt(2)
sage: c = a+b; c
5^(1/3) + sqrt(2)
sage: (a+b).n(100).algdep(6)
x^6 - 6*x^4 - 10*x^3 + 12*x^2 - 60*x + 17
sage: (a*b).n(100).algdep(6)
x^6 - 200


Definition 2.3.11 (Number field)   A number field is a field  that contains the rational numbers such that the degree is finite.

If is a number field, then by the primitive element theorem there is an so that . Let be the minimal polynomial of . For any fixed choice of , there is some such that . The map that sends to defines an embedding . Thus any number field can be embedded (in possible ways) in any fixed choice of an algebraic closure of .

Definition 2.3.12 (Ring of Integers)   The ring of integers of a number field  is the ring

$x$ satisfies a monic polynomial with integer coefficients

Note that is a ring, because if we fix an embedding of into , then

The field of rational numbers is a number field of degree , and the ring of integers of is . The field of Gaussian integers has degree and . The field has ring of integers . Note that the Golden ratio satisfies . The ring of integers of is , where .

Definition 2.3.13 (Order)   An order in is any subring of such that the quotient of abelian groups is finite. (Note that must contain because it is a ring, and for us every ring has a .)

As noted above, is the ring of integers of . For every nonzero integer , the subring of is an order. The subring of is not an order, because does not have finite index in . Also the subgroup of is not an order because it is not a ring.

We define the number field and compute its ring of integers, which has discriminant .

sage: K.<i> = NumberField(x^2 + 1)
sage: OK = K.ring_of_integers(); OK
Order with module basis 1, i in Number Field in i with
defining polynomial x^2 + 1
sage: OK.discriminant()
-4


Next we compute the order .

sage: O3 = K.order(3*i); O3
Order with module basis 1, 3*i in Number Field in i with
defining polynomial x^2 + 1
sage: O3.gens()
[1, 3*i]


Notice that the distriminant is :

sage: O3.discriminant()
-36


We test whether certain elements are in the order.

sage: 5 + 9*i in O3
True
sage: 1 + 2*i in O3
False


We will frequently consider orders because they are often much easier to write down explicitly than . For example, if and is an algebraic integer, then is an order in , but frequently .

Example 2.3.14   In this example . First we define the number field where is a root of , then we compute the order generated by .
sage: K.<a> = NumberField(x^3 - 15*x^2 - 94*x - 3674)
sage: Oa = K.order(a); Oa
Order with module basis 1, a, a^2 in Number Field in a with defining
polynomial x^3 - 15*x^2 - 94*x - 3674


Next we compute the maximal order of with a basis, and compute that the index of in is .

sage: OK = K.maximal_order()
sage: OK.basis()
[25/169*a^2 + 10/169*a + 1/169, 5/13*a^2 + 1/13*a, a^2]
sage: Oa.index_in(OK)
2197


Lemma 2.3.15   Let be the ring of integers of a number field. Then and .

Proof. Suppose with in lowest terms and . Since is integral, is finitely generated as a module, so (see Example 2.3.8).

To prove that , suppose , and let be the minimal monic polynomial of . For any positive integer , the minimal monic polynomial of is , i.e., the polynomial obtained from by multiplying the coefficient of by , multiplying the coefficient of by , multiplying the coefficient of by , etc. If  is the least common multiple of the denominators of the coefficients of , then the minimal monic polynomial of has integer coefficients, so is integral and . This proves that .

William Stein 2012-09-24