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