I am looking for a C++-compatible package that can do arithmetic with algebraic numbers. (Note: an algebraic number means a number that is a root of a polynomial with integer coefficients, so it is not given as a decimal or rational expression).
Mathematica handles algebraic numbers as "root objects", which are represented by polynomials with a choice of root. Then two such root objects can be added, multiplied, etc, and then reduced, to get a new root object.
Is there some software that does the same thing in C++? I have seen some fancy number theory packages that do various things with number field extensions, but I would prefer something simple than can just do basic arithmetic with algebraic numbers, i.e. addition, subtraction, multipication, division, reducing, testing for equality. .