
| Current Path : /usr/share/gap/doc/ref/ |
Linux ift1.ift-informatik.de 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 |
| Current File : //usr/share/gap/doc/ref/chap58.txt |
[1X58 [33X[0;0YFields and Division Rings[133X[101X
[33X[0;0YA [13Xdivision ring[113X is a ring (see Chapter [14X56[114X) in which every non-zero element
has an inverse. The most important class of division rings are the
commutative ones, which are called [13Xfields[113X.[133X
[33X[0;0Y[5XGAP[105X supports finite fields (see Chapter [14X59[114X) and abelian number fields (see
Chapter [14X60[114X), in particular the field of rationals (see Chapter [14X17[114X).[133X
[33X[0;0YThis chapter describes the general [5XGAP[105X functions for fields and division
rings.[133X
[33X[0;0YIf a field [3XF[103X is a subfield of a commutative ring [3XC[103X, [3XC[103X can be considered as a
vector space over the (left) acting domain [3XF[103X (see Chapter [14X61[114X). In this
situation, we call [3XF[103X the [13Xfield of definition[113X of [3XC[103X.[133X
[33X[0;0YEach field in [5XGAP[105X is represented as a vector space over a subfield
(see [2XIsField[102X ([14X58.1-2[114X)), thus each field is in fact a field extension in a
natural way, which is used by functions such as [2XNorm[102X ([14X58.3-4[114X) and [2XTrace[102X
([14X58.3-5[114X) (see [14X58.3[114X).[133X
[1X58.1 [33X[0;0YGenerating Fields[133X[101X
[1X58.1-1 IsDivisionRing[101X
[33X[1;0Y[29X[2XIsDivisionRing[102X( [3XD[103X ) [32X Category[133X
[33X[0;0YA [13Xdivision ring[113X in [5XGAP[105X is a nontrivial associative algebra [3XD[103X with a
multiplicative inverse for each nonzero element. In [5XGAP[105X every division ring
is a vector space over a division ring (possibly over itself). Note that
being a division ring is thus not a property that a ring can get, because a
ring is usually not represented as a vector space.[133X
[33X[0;0YThe field of coefficients is stored as the value of the attribute
[2XLeftActingDomain[102X ([14X57.1-11[114X) of [3XD[103X.[133X
[1X58.1-2 IsField[101X
[33X[1;0Y[29X[2XIsField[102X( [3XD[103X ) [32X filter[133X
[33X[0;0YA [13Xfield[113X is a commutative division ring (see [2XIsDivisionRing[102X ([14X58.1-1[114X)
and [2XIsCommutative[102X ([14X35.4-9[114X)).[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27XIsField( GaloisField(16) ); # the field with 16 elements[127X[104X
[4X[28Xtrue[128X[104X
[4X[25Xgap>[125X [27XIsField( Rationals ); # the field of rationals[127X[104X
[4X[28Xtrue[128X[104X
[4X[25Xgap>[125X [27Xq:= QuaternionAlgebra( Rationals );; # noncommutative division ring[127X[104X
[4X[25Xgap>[125X [27XIsField( q ); IsDivisionRing( q );[127X[104X
[4X[28Xfalse[128X[104X
[4X[28Xtrue[128X[104X
[4X[25Xgap>[125X [27Xmat:= [ [ 1 ] ];; a:= Algebra( Rationals, [ mat ] );;[127X[104X
[4X[25Xgap>[125X [27XIsDivisionRing( a ); # algebra not constructed as a division ring[127X[104X
[4X[28Xfalse[128X[104X
[4X[32X[104X
[1X58.1-3 Field[101X
[33X[1;0Y[29X[2XField[102X( [3Xz[103X, [3X...[103X ) [32X function[133X
[33X[1;0Y[29X[2XField[102X( [[3XF[103X, ][3Xlist[103X ) [32X function[133X
[33X[0;0Y[2XField[102X returns the smallest field [22XK[122X that contains all the elements [22X[3Xz[103X, ...[122X, or
the smallest field [22XK[122X that contains all elements in the list [3Xlist[103X. If no
subfield [3XF[103X is given, [22XK[122X is constructed as a field over itself, i.e. the left
acting domain of [22XK[122X is [22XK[122X. Called with a field [3XF[103X and a list [3Xlist[103X, [2XField[102X
constructs the field generated by [3XF[103X and the elements in [3Xlist[103X, as a vector
space over [3XF[103X.[133X
[1X58.1-4 DefaultField[101X
[33X[1;0Y[29X[2XDefaultField[102X( [3Xz[103X, [3X...[103X ) [32X function[133X
[33X[1;0Y[29X[2XDefaultField[102X( [3Xlist[103X ) [32X function[133X
[33X[0;0Y[2XDefaultField[102X returns a field [22XK[122X that contains all the elements [22X[3Xz[103X, ...[122X, or a
field [22XK[122X that contains all elements in the list [3Xlist[103X.[133X
[33X[0;0YThis field need not be the smallest field in which the elements lie,
cf. [2XField[102X ([14X58.1-3[114X). For example, for elements from cyclotomic fields
[2XDefaultField[102X returns the smallest cyclotomic field in which the elements
lie, but the elements may lie in a smaller number field which is not a
cyclotomic field.[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27XField( Z(4) ); Field( [ Z(4), Z(8) ] ); # finite fields[127X[104X
[4X[28XGF(2^2)[128X[104X
[4X[28XGF(2^6)[128X[104X
[4X[25Xgap>[125X [27XField( E(9) ); Field( CF(4), [ E(9) ] ); # abelian number fields[127X[104X
[4X[28XCF(9)[128X[104X
[4X[28XAsField( GaussianRationals, CF(36) )[128X[104X
[4X[25Xgap>[125X [27Xf1:= Field( EB(5) ); f2:= DefaultField( EB(5) );[127X[104X
[4X[28XNF(5,[ 1, 4 ])[128X[104X
[4X[28XCF(5)[128X[104X
[4X[25Xgap>[125X [27Xf1 = f2; IsSubset( f2, f1 );[127X[104X
[4X[28Xfalse[128X[104X
[4X[28Xtrue[128X[104X
[4X[32X[104X
[1X58.1-5 DefaultFieldByGenerators[101X
[33X[1;0Y[29X[2XDefaultFieldByGenerators[102X( [[3Xz[103X, [3X...[103X] ) [32X operation[133X
[33X[0;0Yreturns the default field containing the elements [3Xz[103X, [22X...[122X. This field may be
bigger than the smallest field containing these elements.[133X
[1X58.1-6 GeneratorsOfDivisionRing[101X
[33X[1;0Y[29X[2XGeneratorsOfDivisionRing[102X( [3XD[103X ) [32X attribute[133X
[33X[0;0Ygenerators with respect to addition, multiplication, and taking inverses
(the identity cannot be omitted ...)[133X
[1X58.1-7 GeneratorsOfField[101X
[33X[1;0Y[29X[2XGeneratorsOfField[102X( [3XF[103X ) [32X attribute[133X
[33X[0;0Ygenerators with respect to addition, multiplication, and taking inverses.
This attribute is the same as [2XGeneratorsOfDivisionRing[102X ([14X58.1-6[114X).[133X
[1X58.1-8 DivisionRingByGenerators[101X
[33X[1;0Y[29X[2XDivisionRingByGenerators[102X( [[3XF[103X, ][3Xgens[103X ) [32X operation[133X
[33X[1;0Y[29X[2XFieldByGenerators[102X( [[3XF[103X, ][3Xgens[103X ) [32X operation[133X
[33X[0;0YCalled with a field [3XF[103X and a list [3Xgens[103X of scalars, [2XDivisionRingByGenerators[102X
returns the division ring over [3XF[103X generated by [3Xgens[103X. The unary version
returns the division ring as vector space over [10XFieldOverItselfByGenerators(
[3Xgens[103X[10X )[110X.[133X
[33X[0;0Y[2XFieldByGenerators[102X is just a synonym for [2XDivisionRingByGenerators[102X.[133X
[1X58.1-9 AsDivisionRing[101X
[33X[1;0Y[29X[2XAsDivisionRing[102X( [[3XF[103X, ][3XC[103X ) [32X operation[133X
[33X[1;0Y[29X[2XAsField[102X( [[3XF[103X, ][3XC[103X ) [32X operation[133X
[33X[0;0YIf the collection [3XC[103X can be regarded as a division ring then [10XAsDivisionRing(
[3XC[103X[10X )[110X is the division ring that consists of the elements of [3XC[103X, viewed as a
vector space over its prime field; otherwise [9Xfail[109X is returned.[133X
[33X[0;0YIn the second form, if [3XF[103X is a division ring contained in [3XC[103X then the returned
division ring is viewed as a vector space over [3XF[103X.[133X
[33X[0;0Y[2XAsField[102X is just a synonym for [2XAsDivisionRing[102X.[133X
[1X58.2 [33X[0;0YSubfields of Fields[133X[101X
[1X58.2-1 Subfield[101X
[33X[1;0Y[29X[2XSubfield[102X( [3XF[103X, [3Xgens[103X ) [32X function[133X
[33X[1;0Y[29X[2XSubfieldNC[102X( [3XF[103X, [3Xgens[103X ) [32X function[133X
[33X[0;0YConstructs the subfield of [3XF[103X generated by [3Xgens[103X.[133X
[1X58.2-2 FieldOverItselfByGenerators[101X
[33X[1;0Y[29X[2XFieldOverItselfByGenerators[102X( [[3Xz[103X, [3X...[103X] ) [32X operation[133X
[33X[0;0YThis operation is needed for the call of [2XField[102X ([14X58.1-3[114X) or [2XFieldByGenerators[102X
([14X58.1-8[114X) without explicitly given subfield, in order to construct a left
acting domain for such a field.[133X
[1X58.2-3 PrimitiveElement[101X
[33X[1;0Y[29X[2XPrimitiveElement[102X( [3XD[103X ) [32X attribute[133X
[33X[0;0Yis an element of [3XD[103X that generates [3XD[103X as a division ring together with the
left acting domain.[133X
[1X58.2-4 PrimeField[101X
[33X[1;0Y[29X[2XPrimeField[102X( [3XD[103X ) [32X attribute[133X
[33X[0;0YThe [13Xprime field[113X of a division ring [3XD[103X is the smallest field which is
contained in [3XD[103X. For example, the prime field of any field in characteristic
zero is isomorphic to the field of rational numbers.[133X
[1X58.2-5 IsPrimeField[101X
[33X[1;0Y[29X[2XIsPrimeField[102X( [3XD[103X ) [32X property[133X
[33X[0;0YA division ring is a prime field if it is equal to its prime field
(see [2XPrimeField[102X ([14X58.2-4[114X)).[133X
[1X58.2-6 DegreeOverPrimeField[101X
[33X[1;0Y[29X[2XDegreeOverPrimeField[102X( [3XF[103X ) [32X attribute[133X
[33X[0;0Yis the degree of the field [3XF[103X over its prime field (see [2XPrimeField[102X ([14X58.2-4[114X)).[133X
[1X58.2-7 DefiningPolynomial[101X
[33X[1;0Y[29X[2XDefiningPolynomial[102X( [3XF[103X ) [32X attribute[133X
[33X[0;0Yis the defining polynomial of the field [3XF[103X as a field extension over the left
acting domain of [3XF[103X. A root of the defining polynomial can be computed with
[2XRootOfDefiningPolynomial[102X ([14X58.2-8[114X).[133X
[1X58.2-8 RootOfDefiningPolynomial[101X
[33X[1;0Y[29X[2XRootOfDefiningPolynomial[102X( [3XF[103X ) [32X attribute[133X
[33X[0;0Yis a root in the field [3XF[103X of its defining polynomial as a field extension
over the left acting domain of [3XF[103X. The defining polynomial can be computed
with [2XDefiningPolynomial[102X ([14X58.2-7[114X).[133X
[1X58.2-9 FieldExtension[101X
[33X[1;0Y[29X[2XFieldExtension[102X( [3XF[103X, [3Xpoly[103X ) [32X operation[133X
[33X[0;0Yis the field obtained on adjoining a root of the irreducible polynomial [3Xpoly[103X
to the field [3XF[103X.[133X
[1X58.2-10 Subfields[101X
[33X[1;0Y[29X[2XSubfields[102X( [3XF[103X ) [32X attribute[133X
[33X[0;0Yis the set of all subfields of the field [3XF[103X.[133X
[1X58.3 [33X[0;0YGalois Action[133X[101X
[33X[0;0YLet [22XL > K[122X be a field extension of finite degree. Then to each element [22Xα ∈ L[122X,
we can associate a [22XK[122X-linear mapping [22Xφ_α[122X on [22XL[122X, and for a fixed [22XK[122X-basis of [22XL[122X,
we can associate to [22Xα[122X the matrix [22XM_α[122X (over [22XK[122X) of this mapping.[133X
[33X[0;0YThe [13Xnorm[113X of [22Xα[122X is defined as the determinant of [22XM_α[122X, the [13Xtrace[113X of [22Xα[122X is
defined as the trace of [22XM_α[122X, the [13Xminimal polynomial[113X [22Xμ_α[122X and the [13Xtrace
polynomial[113X [22Xχ_α[122X of [22Xα[122X are defined as the minimal polynomial (see [14X66.8-1[114X) and
the characteristic polynomial (see [2XCharacteristicPolynomial[102X ([14X24.13-1[114X) and
[2XTracePolynomial[102X ([14X58.3-3[114X)) of [22XM_α[122X. (Note that [22Xμ_α[122X depends only on [22XK[122X whereas
[22Xχ_α[122X depends on both [22XL[122X and [22XK[122X.)[133X
[33X[0;0YThus norm and trace of [22Xα[122X are elements of [22XK[122X, and [22Xμ_α[122X and [22Xχ_α[122X are polynomials
over [22XK[122X, [22Xχ_α[122X being a power of [22Xμ_α[122X, and the degree of [22Xχ_α[122X equals the degree of
the field extension [22XL > K[122X.[133X
[33X[0;0YThe [13Xconjugates[113X of [22Xα[122X in [22XL[122X are those roots of [22Xχ_α[122X (with multiplicity) that lie
in [22XL[122X; note that if only [22XL[122X is given, there is in general no way to access the
roots outside [22XL[122X.[133X
[33X[0;0YAnalogously, the [13XGalois group[113X of the extension [22XL > K[122X is defined as the group
of all those field automorphisms of [22XL[122X that fix [22XK[122X pointwise.[133X
[33X[0;0YIf [22XL > K[122X is a Galois extension then the conjugates of [22Xα[122X are all roots of [22Xχ_α[122X
(with multiplicity), the set of conjugates equals the roots of [22Xμ_α[122X, the norm
of [22Xα[122X equals the product and the trace of [22Xα[122X equals the sum of the conjugates
of [22Xα[122X, and the Galois group in the sense of the above definition equals the
usual Galois group,[133X
[33X[0;0YNote that [10XMinimalPolynomial( [3XF[103X[10X, [3Xz[103X[10X )[110X is a polynomial [13Xover[113X [3XF[103X, whereas [10XNorm( [3XF[103X[10X,
[3Xz[103X[10X )[110X is the norm of the element [3Xz[103X [13Xin[113X [3XF[103X w.r.t. the field extension [10X[3XF[103X[10X >
LeftActingDomain( [3XF[103X[10X )[110X.[133X
[33X[0;0YThe default methods for field elements are as follows. [2XMinimalPolynomial[102X
([14X66.8-1[114X) solves a system of linear equations, [2XTracePolynomial[102X ([14X58.3-3[114X)
computes the appropriate power of the minimal polynomial, [2XNorm[102X ([14X58.3-4[114X) and
[2XTrace[102X ([14X58.3-5[114X) values are obtained as coefficients of the characteristic
polynomial, and [2XConjugates[102X ([14X58.3-6[114X) uses the factorization of the
characteristic polynomial.[133X
[33X[0;0YFor elements in finite fields and cyclotomic fields, one wants to do the
computations in a different way since the field extensions in question are
Galois extensions, and the Galois groups are well-known in these cases. More
general, if a field is in the category [10XIsFieldControlledByGaloisGroup[110X then
the default methods are the following. [2XConjugates[102X ([14X58.3-6[114X) returns the
sorted list of images (with multiplicity) of the element under the Galois
group, [2XNorm[102X ([14X58.3-4[114X) computes the product of the conjugates, [2XTrace[102X ([14X58.3-5[114X)
computes the sum of the conjugates, [2XTracePolynomial[102X ([14X58.3-3[114X) and
[2XMinimalPolynomial[102X ([14X66.8-1[114X) compute the product of linear factors [22Xx - c[122X with
[22Xc[122X ranging over the conjugates and the set of conjugates, respectively.[133X
[1X58.3-1 GaloisGroup[101X
[33X[1;0Y[29X[2XGaloisGroup[102X( [3XF[103X ) [32X attribute[133X
[33X[0;0YThe [13XGalois group[113X of a field [3XF[103X is the group of all field automorphisms of [3XF[103X
that fix the subfield [22XK =[122X[10XLeftActingDomain( [3XF[103X[10X )[110X pointwise.[133X
[33X[0;0YNote that the field extension [22X[3XF[103X > K[122X need [13Xnot[113X be a Galois extension.[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27Xg:= GaloisGroup( AsField( GF(2^2), GF(2^12) ) );;[127X[104X
[4X[25Xgap>[125X [27XSize( g ); IsCyclic( g );[127X[104X
[4X[28X6[128X[104X
[4X[28Xtrue[128X[104X
[4X[25Xgap>[125X [27Xh:= GaloisGroup( CF(60) );;[127X[104X
[4X[25Xgap>[125X [27XSize( h ); IsAbelian( h );[127X[104X
[4X[28X16[128X[104X
[4X[28Xtrue[128X[104X
[4X[32X[104X
[1X58.3-2 MinimalPolynomial[101X
[33X[1;0Y[29X[2XMinimalPolynomial[102X( [3XF[103X, [3Xz[103X[, [3Xind[103X] ) [32X operation[133X
[33X[0;0Yreturns the minimal polynomial of [3Xz[103X over the field [3XF[103X. This is a generator of
the ideal in [22X[3XF[103X[x][122X of all polynomials which vanish on [3Xz[103X. (This definition is
consistent with the general definition of [2XMinimalPolynomial[102X ([14X66.8-1[114X) for
rings.)[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27XMinimalPolynomial( Rationals, E(8) );[127X[104X
[4X[28Xx_1^4+1[128X[104X
[4X[25Xgap>[125X [27XMinimalPolynomial( CF(4), E(8) );[127X[104X
[4X[28Xx_1^2+(-E(4))[128X[104X
[4X[25Xgap>[125X [27XMinimalPolynomial( CF(8), E(8) );[127X[104X
[4X[28Xx_1+(-E(8))[128X[104X
[4X[32X[104X
[1X58.3-3 TracePolynomial[101X
[33X[1;0Y[29X[2XTracePolynomial[102X( [3XL[103X, [3XK[103X, [3Xz[103X[, [3Xinum[103X] ) [32X operation[133X
[33X[0;0Yreturns the polynomial that is the product of [22X(X - c)[122X where [22Xc[122X runs over the
conjugates of [3Xz[103X in the field extension [3XL[103X over [3XK[103X. The polynomial is returned
as a univariate polynomial over [3XK[103X in the indeterminate number [3Xinum[103X
(defaulting to 1).[133X
[33X[0;0YThis polynomial is sometimes also called the [13Xcharacteristic polynomial[113X of [3Xz[103X
w.r.t. the field extension [22X[3XL[103X > [3XK[103X[122X. Therefore methods are installed for
[2XCharacteristicPolynomial[102X ([14X24.13-1[114X) that call [2XTracePolynomial[102X in the case of
field extensions.[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27XTracePolynomial( CF(8), Rationals, E(8) );[127X[104X
[4X[28Xx_1^4+1[128X[104X
[4X[25Xgap>[125X [27XTracePolynomial( CF(16), Rationals, E(8) );[127X[104X
[4X[28Xx_1^8+2*x_1^4+1[128X[104X
[4X[32X[104X
[1X58.3-4 Norm[101X
[33X[1;0Y[29X[2XNorm[102X( [[3XL[103X[, [3XK[103X, ]][3Xz[103X ) [32X attribute[133X
[33X[0;0Y[2XNorm[102X returns the norm of the field element [3Xz[103X. If two fields [3XL[103X and [3XK[103X are
given then the norm is computed w.r.t. the field extension [3XL[103X[22X>[122X[3XK[103X, if only one
field [3XL[103X is given then [10XLeftActingDomain( [3XL[103X[10X )[110X is taken as default for the
subfield [3XK[103X, and if no field is given then [10XDefaultField( [3Xz[103X[10X )[110X is taken as
default for [3XL[103X.[133X
[1X58.3-5 [33X[0;0YTraces of field elements and matrices[133X[101X
[33X[1;0Y[29X[2XTrace[102X( [[3XL[103X[, [3XK[103X, ]][3Xz[103X ) [32X attribute[133X
[33X[1;0Y[29X[2XTrace[102X( [3Xmat[103X ) [32X attribute[133X
[33X[0;0Y[2XTrace[102X returns the trace of the field element [3Xz[103X. If two fields [3XL[103X and [3XK[103X are
given then the trace is computed w.r.t. the field extension [22X[3XL[103X > [3XK[103X[122X, if only
one field [3XL[103X is given then [10XLeftActingDomain( [3XL[103X[10X )[110X is taken as default for the
subfield [3XK[103X, and if no field is given then [10XDefaultField( [3Xz[103X[10X )[110X is taken as
default for [3XL[103X.[133X
[33X[0;0YThe [13Xtrace of a matrix[113X is the sum of its diagonal entries. Note that this is
[13Xnot[113X compatible with the definition of [2XTrace[102X for field elements, so the
one-argument version is not suitable when matrices shall be regarded as
field elements.[133X
[1X58.3-6 Conjugates[101X
[33X[1;0Y[29X[2XConjugates[102X( [[3XL[103X[, [3XK[103X, ]][3Xz[103X ) [32X attribute[133X
[33X[0;0Y[2XConjugates[102X returns the list of [13Xconjugates[113X of the field element [3Xz[103X. If two
fields [3XL[103X and [3XK[103X are given then the conjugates are computed w.r.t. the field
extension [3XL[103X[22X>[122X[3XK[103X, if only one field [3XL[103X is given then [10XLeftActingDomain( [3XL[103X[10X )[110X is
taken as default for the subfield [3XK[103X, and if no field is given then
[10XDefaultField( [3Xz[103X[10X )[110X is taken as default for [3XL[103X.[133X
[33X[0;0YThe result list will contain duplicates if [3Xz[103X lies in a proper subfield of [3XL[103X,
or of the default field of [3Xz[103X, respectively. The result list need not be
sorted.[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27XNorm( E(8) ); Norm( CF(8), E(8) );[127X[104X
[4X[28X1[128X[104X
[4X[28X1[128X[104X
[4X[25Xgap>[125X [27XNorm( CF(8), CF(4), E(8) );[127X[104X
[4X[28X-E(4)[128X[104X
[4X[25Xgap>[125X [27XNorm( AsField( CF(4), CF(8) ), E(8) );[127X[104X
[4X[28X-E(4)[128X[104X
[4X[25Xgap>[125X [27XTrace( E(8) ); Trace( CF(8), CF(8), E(8) );[127X[104X
[4X[28X0[128X[104X
[4X[28XE(8)[128X[104X
[4X[25Xgap>[125X [27XConjugates( CF(8), E(8) );[127X[104X
[4X[28X[ E(8), E(8)^3, -E(8), -E(8)^3 ][128X[104X
[4X[25Xgap>[125X [27XConjugates( CF(8), CF(4), E(8) );[127X[104X
[4X[28X[ E(8), -E(8) ][128X[104X
[4X[25Xgap>[125X [27XConjugates( CF(16), E(8) );[127X[104X
[4X[28X[ E(8), E(8)^3, -E(8), -E(8)^3, E(8), E(8)^3, -E(8), -E(8)^3 ][128X[104X
[4X[32X[104X
[1X58.3-7 NormalBase[101X
[33X[1;0Y[29X[2XNormalBase[102X( [3XF[103X[, [3Xelm[103X] ) [32X attribute[133X
[33X[0;0YLet [3XF[103X be a field that is a Galois extension of its subfield
[10XLeftActingDomain( [3XF[103X[10X )[110X. Then [2XNormalBase[102X returns a list of elements in [3XF[103X that
form a normal basis of [3XF[103X, that is, a vector space basis that is closed under
the action of the Galois group (see [2XGaloisGroup[102X ([14X58.3-1[114X)) of [3XF[103X.[133X
[33X[0;0YIf a second argument [3Xelm[103X is given, it is used as a hint for the algorithm to
find a normal basis with the algorithm described in [Art73].[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27XNormalBase( CF(5) );[127X[104X
[4X[28X[ -E(5), -E(5)^2, -E(5)^3, -E(5)^4 ][128X[104X
[4X[25Xgap>[125X [27XNormalBase( CF(4) );[127X[104X
[4X[28X[ 1/2-1/2*E(4), 1/2+1/2*E(4) ][128X[104X
[4X[25Xgap>[125X [27XNormalBase( GF(3^6) );[127X[104X
[4X[28X[ Z(3^6)^2, Z(3^6)^6, Z(3^6)^18, Z(3^6)^54, Z(3^6)^162, Z(3^6)^486 ][128X[104X
[4X[25Xgap>[125X [27XNormalBase( GF( GF(8), 2 ) );[127X[104X
[4X[28X[ Z(2^6), Z(2^6)^8 ][128X[104X
[4X[32X[104X