|
An algebraically closed field is based on an
affine algebra (or quotient ring of a multivariate polynomial ring
by an ideal of "relation" polynomials). The defining polynomials
of this affine algebra are not necessarily irreducible -- the system
avoids factorization over an algebraic number field when possible, and
automatically splits the defining polynomials of the affine algebra
when factors are found during computations with the field. These
factors often arise automatically because of the structure of the
algorithm which is computing over the field.
Many technical optimizations have been designed to make the
system practical. For example, the most expensive arithmetic operation
by far in the whole system is, quite surprisingly, the testing of
whether an element of the field is zero or not (which is utterly
trivial for most other rings, of course)! To allow for the parallelism
amongst conjugates to work, Magma performs a recursive GCD computation
with the element, considered as a polynomial in its highest variable,
and the appropriate defining polynomial, to determine the result. If
the GCD is non-trivial, then this forces a splitting of the defining
polynomial, all elements of the field are reduced, and the original
element may now be zero.
More details concerning the internal design of the system can
be found in [Ste10].
Care must be taken with the interpretation of the roots of a polynomial
in this system. The roots of polynomials are only defined
algebraically, and the user may wish to identify them with some
particular elements of the complex field, for example, but one cannot
assume that the system will follow the embedding one wishes. An
example will demonstrate. Suppose that α is a root of x2 - 2,
β is a root of x2 - 3, and γ is a root of x2 - 6. Does
γ = α.β or does γ = - α.β? The system
will have to make a choice between the two possibilities if the
situation arises, but the choice which it will make cannot be predicted
beforehand. That is, even if we might like to interpret things as
α=√2, β=√3 and γ=√6 (referring to
the positive real roots in each case), it cannot be assumed that
this will hold in the particular algebraically closed field,
since the roots are only defined algebraically.
In the following descriptions, the adjective invariable, applied
to a value, means
that the mathematical value of a function will not change, despite
simplifications, etc. which may occur after the function is called.
That is, the value returned by the function may be considered
constant with respect to the eq operator. A value may
print differently later (because of simplifications of the field),
but the mathematical value will never change.
In contrast, the adjective variable means that the mathematical value
of a function may change (as a result of simplifications). This is
usually only a property of access-like functions like Degree(A, v)
(see below).
But the fact that most functions below have invariable return values
enables the illusion of a true field to be sustained.
Separate algebraic fields should be created for separate problems which
involve root taking (if the roots of the different problems are unrelated).
Otherwise it may be unnecessarily expensive to compute in the field
with roots of unrelated polynomials.
Currently, the base field of an algebraic closure may be a finite field,
the rational field Q, or a rational function field over a finite
field or Q.
[Next][Prev] [Right] [Left] [Up] [Index] [Root]
|