|
This section lists the basic arithmetic operations available for
elements of an algebraically closed field.
Elements are always kept in normal form with respect to the defining
relations of the field.
Computing the inverse of an element may cause a simplification
of the field to be performed.
+ a : FldACElt -> FldACElt
- a : FldACElt -> FldACElt
a + b : FldACElt, FldACElt -> FldACElt
a - b : FldACElt, FldACElt -> FldACElt
a * b : FldACElt, FldACElt -> FldACElt
a / b : FldACElt, FldACElt -> FldACElt
a ^ k : FldACElt, RngIntElt -> FldACElt
a +:= b : FldACElt, FldACElt -> FldACElt
a -:= b : FldACElt, FldACElt -> FldACElt
a *:= b : FldACElt, FldACElt -> FldACElt
Parent(a) : FldACElt -> AC
Category(a) : FldACElt -> Cat
a ne b : FldACElt, FldACElt -> BoolElt
a in A : FldACElt, Rng -> BoolElt
a notin A : FldACElt, Rng -> BoolElt
IsNilpotent(a) : FldACElt -> BoolElt
IsIdempotent(a) : FldACElt -> BoolElt
IsUnit(a) : FldACElt -> BoolElt
IsZeroDivisor(a) : FldACElt -> BoolElt
IsRegular(a) : FldAC -> BoolElt
IsIrreducible(a) : FldACElt -> BoolElt
IsPrime(a) : FldACElt -> BoolElt
IsZero(a) : FldACElt -> BoolElt
Return whether a is the zero element of its field.
This is the most difficult of all arithmetic
functions for algebraically closed fields!
To determine whether a is zero, Magma computes the recursive GCD of a,
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 deemed to be zero (it may not be zero because
the cofactor of the GCD may be used to perform the simplification).
Despite the fact that simplifications may occur,
the return value of this function is invariable, and this fact is the most
important feature of the whole system, enabling the illusion of
a true field to be achieved!
Return whether a is one in its field, which is determined by testing whether
(a - 1) is zero.
Consequently, a simplification of the field may occur,
but the return value is invariable.
Return whether a is minus one in its field, which is determined by
testing whether (a + 1) is zero.
Consequently, a simplification of the field may occur,
but the return value is invariable.
Return whether a = b, which is determined by testing whether (a - b)
is zero.
Consequently, a simplification of the field may occur,
but the return value is invariable.
Return the minimal polynomial of the element a of the field
A, relative to the base field of A.
This is the unique minimal-degree irreducible monic polynomial with
coefficients in the base field, having a as a root.
This function works as follows. First the minimal polynomial M of a
in the affine algebra corresponding to A is computed.
M may be reducible in general, so M is factored,
and for each irreducible factor F of M, F(a) is evaluated
and it is tested whether this evaluation is zero (using the
IsZero
algorithm). If M is not irreducible, some of these evaluations
will cause simplifications of the field, but
exactly one of the evaluations will be zero
and the corresponding irreducible F is the minimal polynomial
of a.
Consequently, after F is returned, F(a) will be
identically zero so the return value of this function is invariable.
Thus the illusion of a true field is sustained by forcing the minimal
polynomial of a to be irreducible, by first performing whatever
simplifications of A are necessary for this. (In fact, computing
minimal polynomials in this way is one method of achieving
simplifications.)
Given an element a from an algebraically closed field A,
return the absolute norm of a to the base field of A.
This is simply computed as ( - 1)^(Degree(M)) times the constant
coefficient of M, where M is the irreducible minimal polynomial
of a returned by MinimalPolynomial(a).
Consequently, a simplification of the field may occur,
but the return value is invariable.
Given an element a from an algebraically closed field A,
return the absolute trace of a to the base field of A.
This is simply computed as the negation of the coefficient of xn - 1
in M, where M is the irreducible minimal polynomial of a returned
by MinimalPolynomial(a) and
n=Degree(M). Consequently, a simplification of the
field may occur, but the return value is invariable.
Given an element a from an algebraically closed field A,
return the conjugates of a as a sequence of elements.
The conjugates of a are defined to be the roots in A
of the minimal polynomial of a, and a is always included.
This function is thus simply equivalent to:
([t[1] : t in Roots(MinimalPolynomial(a), A)]).
(No multiplicities are returned as in the Roots function since
the minimal polynomial is always squarefree, of course.)
As this function first computes the minimal polynomials of a,
a simplification of the field may occur, but the return value is invariable.
We create two elements of an algebraically closed field
and note that they are conjugate.
> A := AlgebraicClosure();
> x := Sqrt(A!2) + Sqrt(A!-3);
> y := Sqrt(A ! (-1 + 2*Sqrt(A!-6)));
> A;
Algebraically closed field with 4 variables
Defining relations:
[
r4^2 - 2*r3 + 1,
r3^2 + 6,
r2^2 + 3,
r1^2 - 2
]
> x;
r2 + r1
> y;
r4
> x eq y; // depends on choice of square roots
false
> Conjugates(x);
[
r4,
-r4,
r5,
r6
]
> y in Conjugates(x);
true
Of course, x and y are conjugate if and only if they have the
same minimal polynomial, which is the case here:
> P<z> := PolynomialRing(RationalField());
> MinimalPolynomial(x);
z^4 + 2*z^2 + 25
> MinimalPolynomial(y);
z^4 + 2*z^2 + 25
[Next][Prev] [Right] [Left] [Up] [Index] [Root]
|