This post will assume you read the previous one.

You might have noticed a hole in the arguments in my previous post, which is that I never defined the addition of algebraic numbers. I’ll assume you know what real numbers are, and because algebraic numbers are a subset of the reals, addition and multiplication carry over from there.

Algebraic numbers are closed under multiplication for essentially the same reason they are closed under addition. Consider a long list of vectors . Using the same trick as last time, I can take things like and break it down into a sum of smaller powers of and . So the space spanned by that list is another subspace of . Taking large enough, we get a list longer than the dimension of the space, and so the list must be linearly dependent and we can find a polynomial with solution .

Because is algebraic, so is , where is any algebraic number. That means an additive inverse exists for all algebraic numbers.

Suppose we start with an algebraic number and then find a real number such that

.

Then by taking both sides to the power

or

.

Now take the fact that is algebraic,

and substitute in the new expression for .

.

Multiply both sides by to obtain

,

which shows that is algebraic. Therefore all algebraic numbers have an algebraic multiplicative inverse.

Zero and one are clearly algebraic. They are solutions to and respectively.

That about covers everything. The algebraic numbers form a field.

An interesting result is that they are countable. Any algebraic number can be represented by a list of integers. The first entries on the list are the integer coefficients from the equation

.

The list of the specifies the polynomial. The polynomial could have up to roots, though, so we need one more integer between and to specify which root we want, and therefore specify the algebraic number.

If we can find a bijection between the integers and all lists of integers, then the algebraic numbers are countable.

One way to do this is to start by looking at all lists of integers of length one and using integers with absolute value less than one. That only gives {0}.

Then look at all lists of length one or two, using integers with absolute value less than two. That gives

{-1}, {0}, {1}, {-1,-1}, {-1,0}, {-1,1}, {0,-1}, {0,0}, {0,1}, {1,-1}, {1,0}, {1,1}.

Continue on, at each step looking at all lists up to length using integers with absolute value less than . There’s a lot of repetition, because each new value of reiterates all the lists from while adding some new lists. If you want, you can just skip the ones you’ve already done.

Eventually, you’ll get any list of integers using this procedure. Take a look at an arbitrary list. If its length is bigger than the biggest absolute value of an integer on the list, you’ll get to that list when . Otherwise, if the list has some big integer on it, you’ll get to that list later, when . So the algebraic numbers are countable.

Another interesting factoid I read in Ian Stewart’s *Concepts of Modern Mathematics* is that you can form subfields of algebraic numbers by considering, for example, all numbers of the form

with and rational. Define

and

.

With these definitions, it’s not difficult to check that these new numbers form a field, and that the mysterious symbol acts just like in the same sort of way that acts as in complex arithmetic.

March 19, 2009 at 9:55 pm

Did you know that the computer language Mathematica has built in routines for doing exact computations with algebraic numbers?

Before vector space theory was well developed the fact that the numbers formed a field was proved by showing how a polynomial with root a+b could be constructed from a polynomial with root a and a polynomial with root b. Similarly for the product a*b and so on. This is how Mathematica does arithmetic with algebraic numbers.

You need to know that an algebraic number can be the root of many polynomials but a unique polynomial of lowest degree having the algebraic number as a root may be singled out. This polynomial is called the minimal polynomial of the algebraic number.

An algebraic number in Mathematica is represented by a pair, (x^2 +1, 2) say, where the first element of the pair is the minimal polynomial and the second element of the pair is an index indicating just which root of the first element is meant. The pair in the previous sentence is one of the two square roots of negative 1.

Put an addition or multiplication sign between two such representations and and Mathematica will return the pair representing the sum or product.

March 19, 2009 at 10:03 pm

Hi Garry,

I use Mathematica sometimes, but I didn’t know it could handle algebraic numbers like that. (I’m not surprised, though!) It seems like learning about the way Mathematica handles all sorts of computations could teach you a lot about number theory and especially algorithms. If only it didn’t cost the majority of my life savings….

March 23, 2009 at 11:17 am

Hi Garry,

Which version of Mathematica and what function?

September 17, 2009 at 3:15 am

[…] Many Real Numbers Are There? By Mark Eichenlaub Previously, I discussed how the algebraic numbers are countable, meaning there are equally as many of them as natural numbers, in the technical sense that you can […]

January 17, 2012 at 10:13 am

A picky note: not all algebraic numbers have multiplicative inverses, just nonzero ones. ;) Terrific explanation otherwise. Most proofs I’ve seen that the algebraics are a field are much more complicated.

January 24, 2012 at 4:46 am

Thanks for the note! Good point.

February 2, 2012 at 1:07 am

Algebraic numbers are NOT a subset the reals.

The solutions of x^2+1=0 are algebraic, and yet clearly not real.

February 7, 2012 at 10:55 am

Good catch, thanks. Fortunately the main content of the post is not affected.