Say you want to represent the rational numbers in a computer. This is quite easy, you can think of them as pairs of integers. It is also easy to develop algorithms for adding, subtracting, multiplying and dividing rational numbers. Can something similar be done for algebraic numbers?
To be specific this is what I'm looking for:
For each algebraic number there should be at least 1 way to represent it using a finite list of symbols. It is fine if there are multiple ways to represent a given algebraic so long as there is at least 1. This is similar to how there are many ways to represent the rational number 1/3. it could also be written 2/6 or 3/9.
There should exist an algorithm A1 such that for any 2 algebraic numbers a and b, A1(a,b) returns true if a=b or false if a≠b. This would be analogous to determining if 2 rational numbers are equal by multiplying each numerator by the others denominator and comparing the results.
There should exist an algorithm A2 such that for any 2 algebraic numbers a and b, A2(a,b) returns a representation of their sum. Similarly for multiplication. Also there should exist an algorithm that given an algebraic number, it returns its additive inverse and another that returns its multiplicative inverse (assuming its not 0 or equivalent to 0).
Also, given a polynomial with algebraic coefficients there should exist an algorithm that returns a list of roots of the polynomial.
Finally, I'm not too concerned about the time-complexity of the algorithms, naturally a faster set of algorithms would be better however I'm really just interested in seeing if this is at all possible as I have been unable to come up with any way of doing this myself.
Thanks