Algebraic Number Objects
Mathematica 5 brings high-performance algebraic number
arithmetic within specified algebraic
number fields. Mathematica has been providing
representation of algebraic numbers as Root
objects since Version 3. A Root object contains the minimal
polynomial of the algebraic number and the root number--an integer
indicating which of the roots of the minimal polynomial
the Root object represents. This allows for unique
representation of arbitrary complex algebraic numbers.
A disadvantage is that performing arithmetic operations in this
representation is costly. If we restrict ourselves to computations
within a fixed finite algebraic extension, , of rationals, we can use a
more convenient representation of elements of , namely as polynomials in
. Within a fixed algebraic
number field, the algebraic number arithmetic in the Algebraic object representation is much
faster than in the Root object
representation. Mathematica 5 contains extensive functionality
related to algebraic number fields, available through the package NumberTheory`AlgebraicNumberFields`.
Suppose we have the following algebraic numbers:
And want to compute values of .
A direct computation of the value using RootReduce takes a rather long time.
A faster alternative is to first find a common algebraic number field containing
{a, b, c}, which takes only a fraction of a
second.
Arithmetic within the common number field is much faster.
|