Take the 2-minute tour ×
Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. It's 100% free, no registration required.

I'm a math newbie, so an intuitive explanation is the most helpful for me, but don't pull your punches with the formulas, if you feel like it.

We can construct the rational numbers using the division operation. Take integers a and non-zero b and we can have any rational with the formula a/b.

Similarly, we can define a set of numbers using the root operation. Take positive rationals a and b, and we can have any - let's call them "root numbers", since I don't know any better term for them - a√b, (ath root of b)

Now, most of the root numbers are certainly irrational, but they are countable and algebraic. Also, I think that root numbers are a superset of rationals, since you can write any rational r using 1√r. My questions are:

  1. Is the root operation with all the four basic operations enough to express any algebraic number? Or do you need something else too, like the exponentiation operation? Is a^b with any rationals b and positive a definable without using the exponentiation?
  2. Any rational number can be expressed using only one division. If we define root numbers to be expressed using only one root operation, am I right if I say that even if the question 1. is true, using this limited format, we can't express all the algebraic numbers? (Since you could have something like (a√b)√c, and since we originally defined the root numbers with rationals and that is using the root operation with root numbers itself so the result isn't maybe contained in the root numbers?)

The reason which got me into this, is that you can express a limited set of numbers, like rationals or the root numbers using a fixed formula, and that's convenient if you'd need to define some number exactly when programming with a computer using a limited "structure" of storing the number - but I started wondering if there were any such a "fixed" formula for the whole set of algebraic numbers.

share|improve this question
2  
As a note to your question 2: if by $(a\sqrt{b})\sqrt{c}$ you mean $a$ times a root of $b$ times a root of $c$, then there's always a way of expressing that as a single root. On the other hand, if you mean the $(a\sqrt{b})$'th root of $c$, then that number isn't guaranteed to be algebraic - it's known that the $\sqrt{2}$'th root of $2$ (that is, $2^{1/\sqrt{2}}$) isn't an algebraic number. For an easier choice, you can use something like $\sqrt{2}+\sqrt{3}$. It can be shown that there's no way of expressing this number with a single square root operation on a rational. –  Steven Stadnicki Apr 19 at 15:28

2 Answers 2

up vote 11 down vote accepted

Not just rational number and number constructed using $+,-,\times,\div,\sqrt[n]{}$ form algebraic numbers. For instance, the roots of $x^5+x^2+1$ cannot be constructed using rationals and $\sqrt[n]{}$, but all the five roots of the above polynomial are algebraic numbers. There is no fixed set of formulas to generate all algebraic numbers.

A number $\alpha$ is an algebraic number if there exists a polynomial with integer coefficients, say $p(x)$, such that $p(\alpha) = 0$.


Also, when representing a number on a computer the best and the right way is to store the $17$ digits after the decimal (assuming the machine epsilon is $1$e$-16$). For instance, if you want to store $\sqrt2$ in your program if you need it repeatedly, the best and the right way to store it, is as follows:

const double SQRT2 = 1.4142135623730950488;

This holds for any number not just algebraic number on a computer.

const double PI = 3.14159265358979324;
share|improve this answer
5  
To complement, the answer is positive for roots of polynomials of degree $4$ or less. The development of Galois theory led to negative answers for general polynomials of degree $5$ or higher. Beyond roots, additional "operations" have been suggested for finding the roots of these high degree polynomials. –  Andres Caicedo Apr 19 at 15:12
    
user141421: Thanks for the answer! Yeah, as a programmer, I'm aware that floating points are the way to go in practice. But that was only the starting point, I got interested in the theoretical sense too, and that's why I asked the question. –  GolDDranks Apr 19 at 15:34
    
Andres Caicedo: Thanks for the link! That's interesting. –  GolDDranks Apr 19 at 15:34
2  
I don't agree that no fixed set of formulas generates all algebraic numbers. There is no conventional notation that will encompass them all, but one could easily be invented. Order the complex numbers totally, and introduce a notation for "root number $k$ (in this order) of (rational monic) polynomial $P$". It would not be very practical, and the same algebraic number would get many names, but it would name every one of them. –  Marc van Leeuwen Apr 19 at 16:06
1  
@GolDDranks the theoretical aspects here are very useful, but since you mention programming, it's important to be aware that floating point brings in a fascinating variety of new problems. I'd recommend reading up on it just out of interest if you are going to deal with numbers other than integers from a programming perspective, but either way always bear in mind that floating point introduces very unexpected inaccuracies. Mathematical software generally includes completely different methods of storing numbers to avoid these floating point problems. –  githubphagocyte Apr 19 at 21:08

Representing algebraic numbers in a computer is both extremely difficult to do and very impractical. I know since I have been trying to do this for a while, the only way I have found so far that can do this, is storing the coefficients of a polynomial with that root, however this gives a number representing all the roots of the polynomial, so you would have to find a way to identify which root you're talking about. This might seem easy, but the identification of the roots is actually a very difficult problem, if you want to be doing any calculations with the numbers.

For example if we wanted to represent $\sqrt[3]{2} + \sqrt[9]{8}$, you can make a polynomial with that number as a root, these numbers only have 1 real root so if you only consider real roots these are perfectly fine numbers.
If you want to find a polynomial containing the sum of them, you need to solve a system of linear equations (very similar to this, even though that's multiplication)
In this case the result is: $$x^{24} - 20x^{21} + 184x^{18} - 1064x^{15} - 3344x^{12} - 146528x^9 + -304064x^6 - 25472x^3 - 2048$$ And this number does have the desired root $\sqrt[3]{2} + \sqrt[9]{8}$. Succes! Or is it? Because this polynomial has another real root, dispite us never using any operations with more than 1 real result.

Sources: own attempts at implementing algebraic numbers and this blog

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.