
| 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/chap18.txt |
[1X18 [33X[0;0YCyclotomic Numbers[133X[101X
[33X[0;0Y[5XGAP[105X admits computations in abelian extension fields of the rational number
field [22Xℚ[122X, that is fields with abelian Galois group over [22Xℚ[122X. These fields are
subfields of [13Xcyclotomic fields[113X [22Xℚ(e_n)[122X where [22Xe_n = exp(2 π i/n)[122X is a
primitive complex [22Xn[122X-th root of unity. The elements of these fields are
called [13Xcyclotomics[113X.[133X
[33X[0;0YInformation concerning operations for domains of cyclotomics, for example
certain integral bases of fields of cyclotomics, can be found in Chapter [14X60[114X.
For more general operations that take a field extension as a –possibly
optional– argument, e.g., [2XTrace[102X ([14X58.3-5[114X) or [2XCoefficients[102X ([14X61.6-3[114X), see
Chapter [14X58[114X.[133X
[1X18.1 [33X[0;0YOperations for Cyclotomics[133X[101X
[1X18.1-1 E[101X
[33X[1;0Y[29X[2XE[102X( [3Xn[103X ) [32X operation[133X
[33X[0;0Y[2XE[102X returns the primitive [3Xn[103X-th root of unity [22Xe_n = exp(2π i/n)[122X. Cyclotomics
are usually entered as sums of roots of unity, with rational coefficients,
and irrational cyclotomics are displayed in such a way. (For special
cyclotomics, see [14X18.4[114X.)[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27XE(9); E(9)^3; E(6); E(12) / 3;[127X[104X
[4X[28X-E(9)^4-E(9)^7[128X[104X
[4X[28XE(3)[128X[104X
[4X[28X-E(3)^2[128X[104X
[4X[28X-1/3*E(12)^7[128X[104X
[4X[32X[104X
[33X[0;0YA particular basis is used to express cyclotomics, see [14X60.3[114X; note that [10XE(9)[110X
is [13Xnot[113X a basis element, as the above example shows.[133X
[1X18.1-2 Cyclotomics[101X
[33X[1;0Y[29X[2XCyclotomics[102X[32X global variable[133X
[33X[0;0Yis the domain of all cyclotomics.[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27XE(9) in Cyclotomics; 37 in Cyclotomics; true in Cyclotomics;[127X[104X
[4X[28Xtrue[128X[104X
[4X[28Xtrue[128X[104X
[4X[28Xfalse[128X[104X
[4X[32X[104X
[33X[0;0YAs the cyclotomics are field elements, the usual arithmetic operators [10X+[110X, [10X-[110X,
[10X*[110X and [10X/[110X (and [10X^[110X to take powers by integers) are applicable. Note that [10X^[110X does
[13Xnot[113X denote the conjugation of group elements, so it is [13Xnot[113X possible to
explicitly construct groups of cyclotomics. (However, it is possible to
compute the inverse and the multiplicative order of a nonzero cyclotomic.)
Also, taking the [22Xk[122X-th power of a root of unity [22Xz[122X defines a Galois
automorphism if and only if [22Xk[122X is coprime to the conductor (see [2XConductor[102X
([14X18.1-7[114X)) of [22Xz[122X.[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27XE(5) + E(3); (E(5) + E(5)^4) ^ 2; E(5) / E(3); E(5) * E(3);[127X[104X
[4X[28X-E(15)^2-2*E(15)^8-E(15)^11-E(15)^13-E(15)^14[128X[104X
[4X[28X-2*E(5)-E(5)^2-E(5)^3-2*E(5)^4[128X[104X
[4X[28XE(15)^13[128X[104X
[4X[28XE(15)^8[128X[104X
[4X[25Xgap>[125X [27XOrder( E(5) ); Order( 1+E(5) );[127X[104X
[4X[28X5[128X[104X
[4X[28Xinfinity[128X[104X
[4X[32X[104X
[1X18.1-3 IsCyclotomic[101X
[33X[1;0Y[29X[2XIsCyclotomic[102X( [3Xobj[103X ) [32X Category[133X
[33X[1;0Y[29X[2XIsCyc[102X( [3Xobj[103X ) [32X Category[133X
[33X[0;0YEvery object in the family [10XCyclotomicsFamily[110X lies in the category
[2XIsCyclotomic[102X. This covers integers, rationals, proper cyclotomics, the
object [2Xinfinity[102X ([14X18.2-1[114X), and unknowns (see Chapter [14X74[114X). All these objects
except [2Xinfinity[102X ([14X18.2-1[114X) and unknowns lie also in the category [2XIsCyc[102X,
[2Xinfinity[102X ([14X18.2-1[114X) lies in (and can be detected from) the category [2XIsInfinity[102X
([14X18.2-1[114X), and unknowns lie in [2XIsUnknown[102X ([14X74.1-3[114X).[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27XIsCyclotomic(0); IsCyclotomic(1/2*E(3)); IsCyclotomic( infinity );[127X[104X
[4X[28Xtrue[128X[104X
[4X[28Xtrue[128X[104X
[4X[28Xtrue[128X[104X
[4X[25Xgap>[125X [27XIsCyc(0); IsCyc(1/2*E(3)); IsCyc( infinity );[127X[104X
[4X[28Xtrue[128X[104X
[4X[28Xtrue[128X[104X
[4X[28Xfalse[128X[104X
[4X[32X[104X
[1X18.1-4 IsIntegralCyclotomic[101X
[33X[1;0Y[29X[2XIsIntegralCyclotomic[102X( [3Xobj[103X ) [32X property[133X
[33X[0;0YA cyclotomic is called [13Xintegral[113X or a [13Xcyclotomic integer[113X if all coefficients
of its minimal polynomial over the rationals are integers. Since the
underlying basis of the external representation of cyclotomics is an
integral basis (see [14X60.3[114X), the subring of cyclotomic integers in a
cyclotomic field is formed by those cyclotomics for which the external
representation is a list of integers. For example, square roots of integers
are cyclotomic integers (see [14X18.4[114X), any root of unity is a cyclotomic
integer, character values are always cyclotomic integers, but all rationals
which are not integers are not cyclotomic integers.[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27Xr:= ER( 5 ); # The square root of 5 ...[127X[104X
[4X[28XE(5)-E(5)^2-E(5)^3+E(5)^4[128X[104X
[4X[25Xgap>[125X [27XIsIntegralCyclotomic( r ); # ... is a cyclotomic integer.[127X[104X
[4X[28Xtrue[128X[104X
[4X[25Xgap>[125X [27Xr2:= 1/2 * r; # This is not a cyclotomic integer, ...[127X[104X
[4X[28X1/2*E(5)-1/2*E(5)^2-1/2*E(5)^3+1/2*E(5)^4[128X[104X
[4X[25Xgap>[125X [27XIsIntegralCyclotomic( r2 );[127X[104X
[4X[28Xfalse[128X[104X
[4X[25Xgap>[125X [27Xr3:= 1/2 * r - 1/2; # ... but this is one.[127X[104X
[4X[28XE(5)+E(5)^4[128X[104X
[4X[25Xgap>[125X [27XIsIntegralCyclotomic( r3 );[127X[104X
[4X[28Xtrue[128X[104X
[4X[32X[104X
[1X18.1-5 Int[101X
[33X[1;0Y[29X[2XInt[102X( [3Xcyc[103X ) [32X method[133X
[33X[0;0YThe operation [2XInt[102X can be used to find a cyclotomic integer near to an
arbitrary cyclotomic, by applying [2XInt[102X ([14X14.2-3[114X) to the coefficients.[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27XInt( E(5)+1/2*E(5)^2 ); Int( 2/3*E(7)-3/2*E(4) );[127X[104X
[4X[28XE(5)[128X[104X
[4X[28X-E(4)[128X[104X
[4X[32X[104X
[1X18.1-6 String[101X
[33X[1;0Y[29X[2XString[102X( [3Xcyc[103X ) [32X method[133X
[33X[0;0YThe operation [2XString[102X returns for a cyclotomic [3Xcyc[103X a string corresponding to
the way the cyclotomic is printed by [2XViewObj[102X ([14X6.3-5[114X) and [2XPrintObj[102X ([14X6.3-5[114X).[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27XString( E(5)+1/2*E(5)^2 ); String( 17/3 );[127X[104X
[4X[28X"E(5)+1/2*E(5)^2"[128X[104X
[4X[28X"17/3"[128X[104X
[4X[32X[104X
[1X18.1-7 Conductor[101X
[33X[1;0Y[29X[2XConductor[102X( [3Xcyc[103X ) [32X attribute[133X
[33X[1;0Y[29X[2XConductor[102X( [3XC[103X ) [32X attribute[133X
[33X[0;0YFor an element [3Xcyc[103X of a cyclotomic field, [2XConductor[102X returns the smallest
integer [22Xn[122X such that [3Xcyc[103X is contained in the [22Xn[122X-th cyclotomic field. For a
collection [3XC[103X of cyclotomics (for example a dense list of cyclotomics or a
field of cyclotomics), [2XConductor[102X returns the smallest integer [22Xn[122X such that
all elements of [3XC[103X are contained in the [22Xn[122X-th cyclotomic field.[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27XConductor( 0 ); Conductor( E(10) ); Conductor( E(12) );[127X[104X
[4X[28X1[128X[104X
[4X[28X5[128X[104X
[4X[28X12[128X[104X
[4X[32X[104X
[1X18.1-8 AbsoluteValue[101X
[33X[1;0Y[29X[2XAbsoluteValue[102X( [3Xcyc[103X ) [32X attribute[133X
[33X[0;0Yreturns the absolute value of a cyclotomic number [3Xcyc[103X. At the moment only
methods for rational numbers exist.[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27XAbsoluteValue(-3);[127X[104X
[4X[28X3[128X[104X
[4X[32X[104X
[1X18.1-9 RoundCyc[101X
[33X[1;0Y[29X[2XRoundCyc[102X( [3Xcyc[103X ) [32X operation[133X
[33X[0;0Yis a cyclotomic integer [22Xz[122X (see [2XIsIntegralCyclotomic[102X ([14X18.1-4[114X)) near to the
cyclotomic [3Xcyc[103X in the following sense: Let [10Xc[110X be the [22Xi[122X-th coefficient in the
external representation (see [2XCoeffsCyc[102X ([14X18.1-10[114X)) of [3Xcyc[103X. Then the [22Xi[122X-th
coefficient in the external representation of [22Xz[122X is [10XInt( c + 1/2 )[110X or [10XInt( c
- 1/2 )[110X, depending on whether [10Xc[110X is nonnegative or negative, respectively.[133X
[33X[0;0YExpressed in terms of the Zumbroich basis (see [14X60.3[114X), rounding the
coefficients of [3Xcyc[103X w.r.t. this basis to the nearest integer yields the
coefficients of [22Xz[122X.[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27XRoundCyc( E(5)+1/2*E(5)^2 ); RoundCyc( 2/3*E(7)+3/2*E(4) );[127X[104X
[4X[28XE(5)+E(5)^2[128X[104X
[4X[28X-2*E(28)^3+E(28)^4-2*E(28)^11-2*E(28)^15-2*E(28)^19-2*E(28)^23[128X[104X
[4X[28X -2*E(28)^27[128X[104X
[4X[32X[104X
[1X18.1-10 CoeffsCyc[101X
[33X[1;0Y[29X[2XCoeffsCyc[102X( [3Xcyc[103X, [3XN[103X ) [32X function[133X
[33X[0;0YLet [3Xcyc[103X be a cyclotomic with conductor [22Xn[122X (see [2XConductor[102X ([14X18.1-7[114X)). If [3XN[103X is
not a multiple of [22Xn[122X then [2XCoeffsCyc[102X returns [9Xfail[109X because [3Xcyc[103X cannot be
expressed in terms of [3XN[103X-th roots of unity. Otherwise [2XCoeffsCyc[102X returns a
list of length [3XN[103X with entry at position [22Xj[122X equal to the coefficient of [22Xexp(2
π i (j-1)/[3XN[103X)[122X if this root belongs to the [3XN[103X-th Zumbroich basis (see [14X60.3[114X),
and equal to zero otherwise. So we have [3Xcyc[103X = [10XCoeffsCyc([110X [3Xcyc[103X, [3XN[103X [10X) * List(
[1..[110X[3XN[103X[10X], j -> E([110X[3XN[103X[10X)^(j-1) )[110X.[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27Xcyc:= E(5)+E(5)^2;[127X[104X
[4X[28XE(5)+E(5)^2[128X[104X
[4X[25Xgap>[125X [27XCoeffsCyc( cyc, 5 ); CoeffsCyc( cyc, 15 ); CoeffsCyc( cyc, 7 );[127X[104X
[4X[28X[ 0, 1, 1, 0, 0 ][128X[104X
[4X[28X[ 0, -1, 0, 0, 0, 0, 0, 0, -1, 0, 0, -1, 0, -1, 0 ][128X[104X
[4X[28Xfail[128X[104X
[4X[32X[104X
[1X18.1-11 DenominatorCyc[101X
[33X[1;0Y[29X[2XDenominatorCyc[102X( [3Xcyc[103X ) [32X function[133X
[33X[0;0YFor a cyclotomic number [3Xcyc[103X (see [2XIsCyclotomic[102X ([14X18.1-3[114X)), this function
returns the smallest positive integer [22Xn[122X such that [22Xn[122X[10X * [110X[3Xcyc[103X is a cyclotomic
integer (see [2XIsIntegralCyclotomic[102X ([14X18.1-4[114X)). For rational numbers [3Xcyc[103X, the
result is the same as that of [2XDenominatorRat[102X ([14X17.2-5[114X).[133X
[1X18.1-12 ExtRepOfObj[101X
[33X[1;0Y[29X[2XExtRepOfObj[102X( [3Xcyc[103X ) [32X method[133X
[33X[0;0YThe external representation of a cyclotomic [3Xcyc[103X with conductor [22Xn[122X (see
[2XConductor[102X ([14X18.1-7[114X) is the list returned by [2XCoeffsCyc[102X ([14X18.1-10[114X), called with
[3Xcyc[103X and [22Xn[122X.[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27XExtRepOfObj( E(5) ); CoeffsCyc( E(5), 5 );[127X[104X
[4X[28X[ 0, 1, 0, 0, 0 ][128X[104X
[4X[28X[ 0, 1, 0, 0, 0 ][128X[104X
[4X[25Xgap>[125X [27XCoeffsCyc( E(5), 15 );[127X[104X
[4X[28X[ 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, -1, 0 ][128X[104X
[4X[32X[104X
[1X18.1-13 DescriptionOfRootOfUnity[101X
[33X[1;0Y[29X[2XDescriptionOfRootOfUnity[102X( [3Xroot[103X ) [32X function[133X
[33X[0;0YGiven a cyclotomic [3Xroot[103X that is known to be a root of unity (this is [13Xnot[113X
checked), [2XDescriptionOfRootOfUnity[102X returns a list [22X[ n, e ][122X of coprime
positive integers such that [3Xroot[103X [22X=[122X [10XE[110X[22X(n)^e[122X holds.[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27XE(9); DescriptionOfRootOfUnity( E(9) );[127X[104X
[4X[28X-E(9)^4-E(9)^7[128X[104X
[4X[28X[ 9, 1 ][128X[104X
[4X[25Xgap>[125X [27XDescriptionOfRootOfUnity( -E(3) );[127X[104X
[4X[28X[ 6, 5 ][128X[104X
[4X[32X[104X
[1X18.1-14 IsGaussInt[101X
[33X[1;0Y[29X[2XIsGaussInt[102X( [3Xx[103X ) [32X function[133X
[33X[0;0Y[2XIsGaussInt[102X returns [9Xtrue[109X if the object [3Xx[103X is a Gaussian integer
(see [2XGaussianIntegers[102X ([14X60.5-1[114X)), and [9Xfalse[109X otherwise. Gaussian integers are
of the form [22Xa + b[122X[10X*E(4)[110X, where [22Xa[122X and [22Xb[122X are integers.[133X
[1X18.1-15 IsGaussRat[101X
[33X[1;0Y[29X[2XIsGaussRat[102X( [3Xx[103X ) [32X function[133X
[33X[0;0Y[2XIsGaussRat[102X returns [9Xtrue[109X if the object [3Xx[103X is a Gaussian rational
(see [2XGaussianRationals[102X ([14X60.1-3[114X)), and [9Xfalse[109X otherwise. Gaussian rationals
are of the form [22Xa + b[122X[10X*E(4)[110X, where [22Xa[122X and [22Xb[122X are rationals.[133X
[1X18.1-16 DefaultField[101X
[33X[1;0Y[29X[2XDefaultField[102X( [3Xlist[103X ) [32X function[133X
[33X[0;0Y[2XDefaultField[102X for cyclotomics is defined to return the smallest [13Xcyclotomic[113X
field containing the given elements.[133X
[33X[0;0YNote that [2XField[102X ([14X58.1-3[114X) returns the smallest field containing all given
elements, which need not be a cyclotomic field. In both cases, the fields
represent vector spaces over the rationals (see [14X60.3[114X).[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27XField( E(5)+E(5)^4 ); DefaultField( E(5)+E(5)^4 );[127X[104X
[4X[28XNF(5,[ 1, 4 ])[128X[104X
[4X[28XCF(5)[128X[104X
[4X[32X[104X
[1X18.2 [33X[0;0YInfinity and negative Infinity[133X[101X
[1X18.2-1 IsInfinity[101X
[33X[1;0Y[29X[2XIsInfinity[102X( [3Xobj[103X ) [32X Category[133X
[33X[1;0Y[29X[2XIsNegInfinity[102X( [3Xobj[103X ) [32X Category[133X
[33X[1;0Y[29X[2Xinfinity[102X[32X global variable[133X
[33X[1;0Y[29X[2X-infinity[102X[32X global variable[133X
[33X[0;0Y[2Xinfinity[102X and [2X-infinity[102X are special [5XGAP[105X objects that lie in
[10XCyclotomicsFamily[110X. They are larger or smaller than all other objects in this
family respectively. [2Xinfinity[102X is mainly used as return value of operations
such as [2XSize[102X ([14X30.4-6[114X) and [2XDimension[102X ([14X57.3-3[114X) for infinite and infinite
dimensional domains, respectively.[133X
[33X[0;0YSome arithmetic operations are provided for convenience when using [2Xinfinity[102X
and [2X-infinity[102X as top and bottom element respectively.[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27X-infinity + 1;[127X[104X
[4X[28X-infinity[128X[104X
[4X[25Xgap>[125X [27Xinfinity + infinity;[127X[104X
[4X[28Xinfinity[128X[104X
[4X[32X[104X
[33X[0;0YOften it is useful to distinguish [2Xinfinity[102X from [21Xproper[121X cyclotomics. For
that, [2Xinfinity[102X lies in the category [2XIsInfinity[102X but not in [2XIsCyc[102X ([14X18.1-3[114X),
and the other cyclotomics lie in the category [2XIsCyc[102X ([14X18.1-3[114X) but not in
[2XIsInfinity[102X.[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27Xs:= Size( Rationals );[127X[104X
[4X[28Xinfinity[128X[104X
[4X[25Xgap>[125X [27Xs = infinity; IsCyclotomic( s ); IsCyc( s ); IsInfinity( s );[127X[104X
[4X[28Xtrue[128X[104X
[4X[28Xtrue[128X[104X
[4X[28Xfalse[128X[104X
[4X[28Xtrue[128X[104X
[4X[25Xgap>[125X [27Xs in Rationals; s > 17;[127X[104X
[4X[28Xfalse[128X[104X
[4X[28Xtrue[128X[104X
[4X[25Xgap>[125X [27XSet( [ s, 2, s, E(17), s, 19 ] );[127X[104X
[4X[28X[ 2, 19, E(17), infinity ][128X[104X
[4X[32X[104X
[1X18.3 [33X[0;0YComparisons of Cyclotomics[133X[101X
[33X[0;0YTo compare cyclotomics, the operators [10X<[110X, [10X<=[110X, [10X=[110X, [10X>=[110X, [10X>[110X, and [10X<>[110X can be used,
the result will be [9Xtrue[109X if the first operand is smaller, smaller or equal,
equal, larger or equal, larger, or unequal, respectively, and [9Xfalse[109X
otherwise.[133X
[33X[0;0YCyclotomics are ordered as follows: The relation between rationals is the
natural one, rationals are smaller than irrational cyclotomics, and [2Xinfinity[102X
([14X18.2-1[114X) is the largest cyclotomic. For two irrational cyclotomics with
different conductors (see [2XConductor[102X ([14X18.1-7[114X)), the one with smaller
conductor is regarded as smaller. Two irrational cyclotomics with same
conductor are compared via their external representation (see [2XExtRepOfObj[102X
([14X18.1-12[114X)).[133X
[33X[0;0YFor comparisons of cyclotomics and other [5XGAP[105X objects, see Section [14X4.12[114X.[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27XE(5) < E(6); # the latter value has conductor 3[127X[104X
[4X[28Xfalse[128X[104X
[4X[25Xgap>[125X [27XE(3) < E(3)^2; # both have conductor 3, compare the ext. repr.[127X[104X
[4X[28Xfalse[128X[104X
[4X[25Xgap>[125X [27X3 < E(3); E(5) < E(7);[127X[104X
[4X[28Xtrue[128X[104X
[4X[28Xtrue[128X[104X
[4X[32X[104X
[1X18.4 [33X[0;0YATLAS Irrationalities[133X[101X
[1X18.4-1 [33X[0;0YEB, EC, [22X...[122X[101X[1X, EH[133X[101X
[33X[1;0Y[29X[2XEB[102X( [3XN[103X ) [32X function[133X
[33X[1;0Y[29X[2XEC[102X( [3XN[103X ) [32X function[133X
[33X[1;0Y[29X[2XED[102X( [3XN[103X ) [32X function[133X
[33X[1;0Y[29X[2XEE[102X( [3XN[103X ) [32X function[133X
[33X[1;0Y[29X[2XEF[102X( [3XN[103X ) [32X function[133X
[33X[1;0Y[29X[2XEG[102X( [3XN[103X ) [32X function[133X
[33X[1;0Y[29X[2XEH[102X( [3XN[103X ) [32X function[133X
[33X[0;0YFor a positive integer [3XN[103X, let [22Xz =[122X [10XE([110X[3XN[103X[10X)[110X [22X= exp(2 π i/[3XN[103X)[122X. The following
so-called [13Xatomic irrationalities[113X (see [CCN+85, Chapter 7, Section 10]) can
be entered using functions. (Note that the values are not necessary
irrational.)[133X
[10XEB([110X[3XN[103X[10X)[110X = [22Xb_[3XN[103X[122X = [22X( ∑_{j = 1}^{[3XN[103X-1} z^{j^2} ) / 2[122X , [22X[3XN[103X ≡ 1 mod 2[122X
[10XEC([110X[3XN[103X[10X)[110X = [22Xc_[3XN[103X[122X = [22X( ∑_{j = 1}^{[3XN[103X-1} z^{j^3} ) / 3[122X , [22X[3XN[103X ≡ 1 mod 3[122X
[10XED([110X[3XN[103X[10X)[110X = [22Xd_[3XN[103X[122X = [22X( ∑_{j = 1}^{[3XN[103X-1} z^{j^4} ) / 4[122X , [22X[3XN[103X ≡ 1 mod 4[122X
[10XEE([110X[3XN[103X[10X)[110X = [22Xe_[3XN[103X[122X = [22X( ∑_{j = 1}^{[3XN[103X-1} z^{j^5} ) / 5[122X , [22X[3XN[103X ≡ 1 mod 5[122X
[10XEF([110X[3XN[103X[10X)[110X = [22Xf_[3XN[103X[122X = [22X( ∑_{j = 1}^{[3XN[103X-1} z^{j^6} ) / 6[122X , [22X[3XN[103X ≡ 1 mod 6[122X
[10XEG([110X[3XN[103X[10X)[110X = [22Xg_[3XN[103X[122X = [22X( ∑_{j = 1}^{[3XN[103X-1} z^{j^7} ) / 7[122X , [22X[3XN[103X ≡ 1 mod 7[122X
[10XEH([110X[3XN[103X[10X)[110X = [22Xh_[3XN[103X[122X = [22X( ∑_{j = 1}^{[3XN[103X-1} z^{j^8} ) / 8[122X , [22X[3XN[103X ≡ 1 mod 8[122X
[33X[0;0Y(Note that in [10XEC([110X[3XN[103X[10X)[110X, [22X...[122X, [10XEH([110X[3XN[103X[10X)[110X, [3XN[103X must be a prime.)[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27XEB(5); EB(9);[127X[104X
[4X[28XE(5)+E(5)^4[128X[104X
[4X[28X1[128X[104X
[4X[32X[104X
[1X18.4-2 [33X[0;0YEI and ER[133X[101X
[33X[1;0Y[29X[2XEI[102X( [3XN[103X ) [32X function[133X
[33X[1;0Y[29X[2XER[102X( [3XN[103X ) [32X function[133X
[33X[0;0YFor a rational number [3XN[103X, [2XER[102X returns the square root [22Xsqrt{[3XN[103X}[122X of [3XN[103X, and [2XEI[102X
returns [22Xsqrt{-[3XN[103X}[122X. By the chosen embedding of cyclotomic fields into the
complex numbers, [2XER[102X returns the positive square root if [3XN[103X is positive, and
if [3XN[103X is negative then [10XER([110X[3XN[103X[10X) = EI(-[110X[3XN[103X[10X)[110X holds. In any case, [10XEI([110X[3XN[103X[10X) = E(4) *
ER([110X[3XN[103X[10X)[110X.[133X
[33X[0;0Y[2XER[102X is installed as method for the operation [2XSqrt[102X ([14X31.12-5[114X), for rational
argument.[133X
[33X[0;0YFrom a theorem of Gauss we know that [22Xb_[3XN[103X =[122X[133X
[22X(-1 + sqrt{[3XN[103X}) / 2[122X if [22X[3XN[103X ≡ 1 mod 4[122X
[22X(-1 + i sqrt{[3XN[103X}) / 2[122X if [22X[3XN[103X ≡ -1 mod 4[122X
[33X[0;0YSo [22Xsqrt{[3XN[103X}[122X can be computed from [22Xb_[3XN[103X[122X, see [2XEB[102X ([14X18.4-1[114X).[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27XER(3); EI(3);[127X[104X
[4X[28X-E(12)^7+E(12)^11[128X[104X
[4X[28XE(3)-E(3)^2[128X[104X
[4X[32X[104X
[1X18.4-3 [33X[0;0YEY, EX, [22X...[122X[101X[1X, ES[133X[101X
[33X[1;0Y[29X[2XEY[102X( [3XN[103X[, [3Xd[103X] ) [32X function[133X
[33X[1;0Y[29X[2XEX[102X( [3XN[103X[, [3Xd[103X] ) [32X function[133X
[33X[1;0Y[29X[2XEW[102X( [3XN[103X[, [3Xd[103X] ) [32X function[133X
[33X[1;0Y[29X[2XEV[102X( [3XN[103X[, [3Xd[103X] ) [32X function[133X
[33X[1;0Y[29X[2XEU[102X( [3XN[103X[, [3Xd[103X] ) [32X function[133X
[33X[1;0Y[29X[2XET[102X( [3XN[103X[, [3Xd[103X] ) [32X function[133X
[33X[1;0Y[29X[2XES[102X( [3XN[103X[, [3Xd[103X] ) [32X function[133X
[33X[0;0YFor the given integer [3XN[103X [22X> 2[122X, let [22X[3XN[103X_k[122X denote the first integer with
multiplicative order exactly [22Xk[122X modulo [3XN[103X, chosen in the order of preference[133X
[24X[33X[0;6Y1, -1, 2, -2, 3, -3, 4, -4, ... .[133X[124X
[33X[0;0YWe define (with [22Xz = exp(2 π i/[3XN[103X)[122X)[133X
[10XEY([110X[3XN[103X[10X)[110X = [22Xy_[3XN[103X[122X = [22Xz + z^n[122X [22X(n = [3XN[103X_2)[122X
[10XEX([110X[3XN[103X[10X)[110X = [22Xx_[3XN[103X[122X = [22Xz + z^n + z^{n^2}[122X [22X(n = [3XN[103X_3)[122X
[10XEW[110X([3XN[103X[10X)[110X = [22Xw_[3XN[103X[122X = [22Xz + z^n + z^{n^2} + z^{n^3}[122X [22X(n = [3XN[103X_4)[122X
[10XEV([110X[3XN[103X[10X)[110X = [22Xv_[3XN[103X[122X = [22Xz + z^n + z^{n^2} + z^{n^3} + z^{n^4}[122X [22X(n = [3XN[103X_5)[122X
[10XEU([110X[3XN[103X[10X)[110X = [22Xu_[3XN[103X[122X = [22Xz + z^n + z^{n^2} + ... + z^{n^5}[122X [22X(n = [3XN[103X_6)[122X
[10XET([110X[3XN[103X[10X)[110X = [22Xt_[3XN[103X[122X = [22Xz + z^n + z^{n^2} + ... + z^{n^6}[122X [22X(n = [3XN[103X_7)[122X
[10XES([110X[3XN[103X[10X)[110X = [22Xs_[3XN[103X[122X = [22Xz + z^n + z^{n^2} + ... + z^{n^7}[122X [22X(n = [3XN[103X_8)[122X
[33X[0;0YFor the two-argument versions of the functions, see Section [2XNK[102X ([14X18.4-5[114X).[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27XEY(5);[127X[104X
[4X[28XE(5)+E(5)^4[128X[104X
[4X[25Xgap>[125X [27XEW(16,3); EW(17,2);[127X[104X
[4X[28X0[128X[104X
[4X[28XE(17)+E(17)^4+E(17)^13+E(17)^16[128X[104X
[4X[32X[104X
[1X18.4-4 [33X[0;0YEM, EL, [22X...[122X[101X[1X, EJ[133X[101X
[33X[1;0Y[29X[2XEM[102X( [3XN[103X[, [3Xd[103X] ) [32X function[133X
[33X[1;0Y[29X[2XEL[102X( [3XN[103X[, [3Xd[103X] ) [32X function[133X
[33X[1;0Y[29X[2XEK[102X( [3XN[103X[, [3Xd[103X] ) [32X function[133X
[33X[1;0Y[29X[2XEJ[102X( [3XN[103X[, [3Xd[103X] ) [32X function[133X
[33X[0;0YLet [3XN[103X be an integer, [3XN[103X [22X> 2[122X. We define (with [22Xz = exp(2 π i/[3XN[103X)[122X)[133X
[10XEM([110X[3XN[103X[10X)[110X = [22Xm_[3XN[103X[122X = [22Xz - z^n[122X [22X(n = [3XN[103X_2)[122X
[10XEL([110X[3XN[103X[10X)[110X = [22Xl_[3XN[103X[122X = [22Xz - z^n + z^{n^2} - z^{n^3}[122X [22X(n = [3XN[103X_4)[122X
[10XEK([110X[3XN[103X[10X)[110X = [22Xk_[3XN[103X[122X = [22Xz - z^n + ... - z^{n^5}[122X [22X(n = [3XN[103X_6)[122X
[10XEJ([110X[3XN[103X[10X)[110X = [22Xj_[3XN[103X[122X = [22Xz - z^n + ... - z^{n^7}[122X [22X(n = [3XN[103X_8)[122X
[33X[0;0YFor the two-argument versions of the functions, see Section [2XNK[102X ([14X18.4-5[114X).[133X
[1X18.4-5 NK[101X
[33X[1;0Y[29X[2XNK[102X( [3XN[103X, [3Xk[103X, [3Xd[103X ) [32X function[133X
[33X[0;0YLet [22X[3XN[103X_[3Xk[103X^([3Xd[103X)[122X be the [22X([3Xd[103X+1)[122X-th integer with multiplicative order exactly [3Xk[103X
modulo [3XN[103X, chosen in the order of preference defined in Section [14X18.4-3[114X; [2XNK[102X
returns [22X[3XN[103X_[3Xk[103X^([3Xd[103X)[122X; if there is no integer with the required multiplicative
order, [2XNK[102X returns [9Xfail[109X.[133X
[33X[0;0YWe write [22X[3XN[103X_[3Xk[103X = [3XN[103X_[3Xk[103X^(0), [3XN[103X_[3Xk[103X^' = [3XN[103X_[3Xk[103X^(1), [3XN[103X_[3Xk[103X^'' = [3XN[103X_[3Xk[103X^(2)[122X and so on.[133X
[33X[0;0YThe algebraic numbers[133X
[24X[33X[0;6Yy_[3XN[103X^' = y_[3XN[103X^(1), y_[3XN[103X^'' = y_[3XN[103X^(2), ..., x_[3XN[103X^', x_[3XN[103X^'', ..., j_[3XN[103X^', j_[3XN[103X^'', ...[133X[124X
[33X[0;0Yare obtained on replacing [22X[3XN[103X_[3Xk[103X[122X in the definitions in the sections [14X18.4-3[114X and
[14X18.4-4[114X by [22X[3XN[103X_[3Xk[103X^', [3XN[103X_[3Xk[103X^'', ...[122X; they can be entered as[133X
[10XEY([110X[3XN[103X,[3Xd[103X[10X)[110X = [22Xy_[3XN[103X^([3Xd[103X)[122X
[10XEX([110X[3XN[103X,[3Xd[103X[10X)[110X = [22Xx_[3XN[103X^([3Xd[103X)[122X
[22X...[122X
[10XEJ([110X[3XN[103X,[3Xd[103X[10X)[110X = [22Xj_[3XN[103X^([3Xd[103X)[122X
[1X18.4-6 AtlasIrrationality[101X
[33X[1;0Y[29X[2XAtlasIrrationality[102X( [3Xirratname[103X ) [32X function[133X
[33X[0;0YLet [3Xirratname[103X be a string that describes an irrational value as a linear
combination in terms of the atomic irrationalities introduced in the
sections [14X18.4-1[114X, [14X18.4-2[114X, [14X18.4-3[114X, [14X18.4-4[114X. These irrational values are defined
in [CCN+85, Chapter 6, Section 10], and the following description is mainly
copied from there. If [22Xq_N[122X is such a value (e.g. [22Xy_24^''[122X) then linear
combinations of algebraic conjugates of [22Xq_N[122X are abbreviated as in the
following examples:[133X
[10X2qN+3&5-4&7+&9[110X means [22X2 q_N + 3 q_N^{*5} - 4 q_N^{*7} + q_N^{*9}[122X
[10X4qN&3&5&7-3&4[110X means [22X4 (q_N + q_N^{*3} + q_N^{*5} + q_N^{*7}) - 3 q_N^{*11}[122X
[10X4qN*3&5+&7[110X means [22X4 (q_N^{*3} + q_N^{*5}) + q_N^{*7}[122X
[33X[0;0YTo explain the [21Xampersand[121X syntax in general we remark that [21X&k[121X is interpreted
as [22Xq_N^{*k}[122X, where [22Xq_N[122X is the most recently named atomic irrationality, and
that the scope of any premultiplying coefficient is broken by a [22X+[122X or [22X-[122X sign,
but not by [22X&[122X or [22X*k[122X. The algebraic conjugations indicated by the ampersands
apply directly to the [13Xatomic[113X irrationality [22Xq_N[122X, even when, as in the last
example, [22Xq_N[122X first appears with another conjugacy [22X*k[122X.[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27XAtlasIrrationality( "b7*3" );[127X[104X
[4X[28XE(7)^3+E(7)^5+E(7)^6[128X[104X
[4X[25Xgap>[125X [27XAtlasIrrationality( "y'''24" );[127X[104X
[4X[28XE(24)-E(24)^19[128X[104X
[4X[25Xgap>[125X [27XAtlasIrrationality( "-3y'''24*13&5" );[127X[104X
[4X[28X3*E(8)-3*E(8)^3[128X[104X
[4X[25Xgap>[125X [27XAtlasIrrationality( "3y'''24*13-2&5" );[127X[104X
[4X[28X-3*E(24)-2*E(24)^11+2*E(24)^17+3*E(24)^19[128X[104X
[4X[25Xgap>[125X [27XAtlasIrrationality( "3y'''24*13-&5" );[127X[104X
[4X[28X-3*E(24)-E(24)^11+E(24)^17+3*E(24)^19[128X[104X
[4X[25Xgap>[125X [27XAtlasIrrationality( "3y'''24*13-4&5&7" );[127X[104X
[4X[28X-7*E(24)-4*E(24)^11+4*E(24)^17+7*E(24)^19[128X[104X
[4X[25Xgap>[125X [27XAtlasIrrationality( "3y'''24&7" );[127X[104X
[4X[28X6*E(24)-6*E(24)^19[128X[104X
[4X[32X[104X
[1X18.5 [33X[0;0YGalois Conjugacy of Cyclotomics[133X[101X
[1X18.5-1 GaloisCyc[101X
[33X[1;0Y[29X[2XGaloisCyc[102X( [3Xcyc[103X, [3Xk[103X ) [32X operation[133X
[33X[1;0Y[29X[2XGaloisCyc[102X( [3Xlist[103X, [3Xk[103X ) [32X operation[133X
[33X[0;0YFor a cyclotomic [3Xcyc[103X and an integer [3Xk[103X, [2XGaloisCyc[102X returns the cyclotomic
obtained by raising the roots of unity in the Zumbroich basis representation
of [3Xcyc[103X to the [3Xk[103X-th power. If [3Xk[103X is coprime to the integer [22Xn[122X, [10XGaloisCyc( ., [3Xk[103X[10X
)[110X acts as a Galois automorphism of the [22Xn[122X-th cyclotomic field (see [14X60.4[114X); to
get the Galois automorphisms themselves, use [2XGaloisGroup[102X ([14X58.3-1[114X).[133X
[33X[0;0YThe [13Xcomplex conjugate[113X of [3Xcyc[103X is [10XGaloisCyc( [3Xcyc[103X[10X, -1 )[110X, which can also be
computed using [2XComplexConjugate[102X ([14X18.5-2[114X).[133X
[33X[0;0YFor a list or matrix [3Xlist[103X of cyclotomics, [2XGaloisCyc[102X returns the list
obtained by applying [2XGaloisCyc[102X to the entries of [3Xlist[103X.[133X
[1X18.5-2 ComplexConjugate[101X
[33X[1;0Y[29X[2XComplexConjugate[102X( [3Xz[103X ) [32X attribute[133X
[33X[1;0Y[29X[2XRealPart[102X( [3Xz[103X ) [32X attribute[133X
[33X[1;0Y[29X[2XImaginaryPart[102X( [3Xz[103X ) [32X attribute[133X
[33X[0;0YFor a cyclotomic number [3Xz[103X, [2XComplexConjugate[102X returns [10XGaloisCyc( [3Xz[103X[10X, -1 )[110X,
see [2XGaloisCyc[102X ([14X18.5-1[114X). For a quaternion [22X[3Xz[103X = c_1 e + c_2 i + c_3 j + c_4 k[122X,
[2XComplexConjugate[102X returns [22Xc_1 e - c_2 i - c_3 j - c_4 k[122X, see [2XIsQuaternion[102X
([14X62.8-8[114X).[133X
[33X[0;0YWhen [2XComplexConjugate[102X is called with a list then the result is the list of
return values of [2XComplexConjugate[102X for the list entries in the corresponding
positions.[133X
[33X[0;0YWhen [2XComplexConjugate[102X is defined for an object [3Xz[103X then [2XRealPart[102X and
[2XImaginaryPart[102X return [10X([3Xz[103X[10X + ComplexConjugate( [3Xz[103X[10X )) / 2[110X and [10X([3Xz[103X[10X -
ComplexConjugate( [3Xz[103X[10X )) / 2 i[110X, respectively, where [10Xi[110X denotes the
corresponding imaginary unit.[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27XGaloisCyc( E(5) + E(5)^4, 2 );[127X[104X
[4X[28XE(5)^2+E(5)^3[128X[104X
[4X[25Xgap>[125X [27XGaloisCyc( E(5), -1 ); # the complex conjugate[127X[104X
[4X[28XE(5)^4[128X[104X
[4X[25Xgap>[125X [27XGaloisCyc( E(5) + E(5)^4, -1 ); # this value is real[127X[104X
[4X[28XE(5)+E(5)^4[128X[104X
[4X[25Xgap>[125X [27XGaloisCyc( E(15) + E(15)^4, 3 );[127X[104X
[4X[28XE(5)+E(5)^4[128X[104X
[4X[25Xgap>[125X [27XComplexConjugate( E(7) );[127X[104X
[4X[28XE(7)^6[128X[104X
[4X[32X[104X
[1X18.5-3 StarCyc[101X
[33X[1;0Y[29X[2XStarCyc[102X( [3Xcyc[103X ) [32X function[133X
[33X[0;0YIf the cyclotomic [3Xcyc[103X is an irrational element of a quadratic extension of
the rationals then [2XStarCyc[102X returns the unique Galois conjugate of [3Xcyc[103X that
is different from [3Xcyc[103X, otherwise [9Xfail[109X is returned. In the first case, the
return value is often called [3Xcyc[103X[22X*[122X (see [14X71.13[114X).[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27XStarCyc( EB(5) ); StarCyc( E(5) );[127X[104X
[4X[28XE(5)^2+E(5)^3[128X[104X
[4X[28Xfail[128X[104X
[4X[32X[104X
[1X18.5-4 Quadratic[101X
[33X[1;0Y[29X[2XQuadratic[102X( [3Xcyc[103X ) [32X function[133X
[33X[0;0YLet [3Xcyc[103X be a cyclotomic integer that lies in a quadratic extension field of
the rationals. Then we have [3Xcyc[103X[22X= (a + b sqrt{n}) / d[122X, for integers [22Xa[122X, [22Xb[122X, [22Xn[122X,
[22Xd[122X, such that [22Xd[122X is either [22X1[122X or [22X2[122X. In this case, [2XQuadratic[102X returns a record
with the components [10Xa[110X, [10Xb[110X, [10Xroot[110X, [10Xd[110X, [10XATLAS[110X, and [10Xdisplay[110X; the values of the
first four are [22Xa[122X, [22Xb[122X, [22Xn[122X, and [22Xd[122X, the [10XATLAS[110X value is a (not necessarily
shortest) representation of [3Xcyc[103X in terms of the [5XAtlas[105X irrationalities
[22Xb_{|n|}[122X, [22Xi_{|n|}[122X, [22Xr_{|n|}[122X, and the [10Xdisplay[110X value is a string that expresses
[3Xcyc[103X in [5XGAP[105X notation, corresponding to the value of the [10XATLAS[110X component.[133X
[33X[0;0YIf [3Xcyc[103X is not a cyclotomic integer or does not lie in a quadratic extension
field of the rationals then [9Xfail[109X is returned.[133X
[33X[0;0YIf the denominator [22Xd[122X is [22X2[122X then necessarily [22Xn[122X is congruent to [22X1[122X modulo [22X4[122X, and
[22Xr_n[122X, [22Xi_n[122X are not possible; we have [10X[3Xcyc[103X[10X = x + y * EB( root )[110X with [10Xy = b[110X, [10Xx =
( a + b ) / 2[110X.[133X
[33X[0;0YIf [22Xd = 1[122X, we have the possibilities [22Xi_{|n|}[122X for [22Xn < -1[122X, [22Xa + b * i[122X for [22Xn =
-1[122X, [22Xa + b * r_n[122X for [22Xn > 0[122X. Furthermore if [22Xn[122X is congruent to [22X1[122X modulo [22X4[122X, also
[3Xcyc[103X [22X= (a+b) + 2 * b * b_{|n|}[122X is possible; the shortest string of these is
taken as the value for the component [10XATLAS[110X.[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27XQuadratic( EB(5) ); Quadratic( EB(27) );[127X[104X
[4X[28Xrec( ATLAS := "b5", a := -1, b := 1, d := 2, [128X[104X
[4X[28X display := "(-1+Sqrt(5))/2", root := 5 )[128X[104X
[4X[28Xrec( ATLAS := "1+3b3", a := -1, b := 3, d := 2, [128X[104X
[4X[28X display := "(-1+3*Sqrt(-3))/2", root := -3 )[128X[104X
[4X[25Xgap>[125X [27XQuadratic(0); Quadratic( E(5) );[127X[104X
[4X[28Xrec( ATLAS := "0", a := 0, b := 0, d := 1, display := "0", root := 1 )[128X[104X
[4X[28Xfail[128X[104X
[4X[32X[104X
[1X18.5-5 GaloisMat[101X
[33X[1;0Y[29X[2XGaloisMat[102X( [3Xmat[103X ) [32X attribute[133X
[33X[0;0YLet [3Xmat[103X be a matrix of cyclotomics. [2XGaloisMat[102X calculates the complete orbits
under the operation of the Galois group of the (irrational) entries of [3Xmat[103X,
and the permutations of rows corresponding to the generators of the Galois
group.[133X
[33X[0;0YIf some rows of [3Xmat[103X are identical, only the first one is considered for the
permutations, and a warning will be printed.[133X
[33X[0;0Y[2XGaloisMat[102X returns a record with the components [10Xmat[110X, [10Xgaloisfams[110X, and
[10Xgenerators[110X.[133X
[8X[10Xmat[110X[8X[108X
[33X[0;6Ya list with initial segment being the rows of [3Xmat[103X ([13Xnot[113X shallow copies
of these rows); the list consists of full orbits under the action of
the Galois group of the entries of [3Xmat[103X defined above. The last rows in
the list are those not contained in [3Xmat[103X but must be added in order to
complete the orbits; so if the orbits were already complete, [3Xmat[103X and
[10Xmat[110X have identical rows.[133X
[8X[10Xgaloisfams[110X[8X[108X
[33X[0;6Ya list that has the same length as the [10Xmat[110X component, its entries are
either 1, 0, -1, or lists.[133X
[8X[10Xgaloisfams[i] = 1[110X[8X[108X
[33X[0;12Ymeans that [10Xmat[i][110X consists of rationals, i.e., [10X[ mat[i] ][110X forms
an orbit;[133X
[8X[10Xgaloisfams[i] = -1[110X[8X[108X
[33X[0;12Ymeans that [10Xmat[i][110X contains unknowns (see Chapter [14X74[114X); in this
case [10X[ mat[i] ][110X is regarded as an orbit, too, even if [10Xmat[i][110X
contains irrational entries;[133X
[8X[10Xgaloisfams[i] = [110X[8X[22X[ l_1, l_2 ][122X[108X
[33X[0;12Y(a list) means that [10Xmat[i][110X is the first element of its orbit in
[10Xmat[110X, [22Xl_1[122X is the list of positions of rows that form the orbit,
and [22Xl_2[122X is the list of corresponding Galois automorphisms (as
exponents, not as functions); so we have [10Xmat[110X[22X[ l_1[j] ][k] =[122X
[10XGaloisCyc( mat[110X[22X[i][k], l_2[j][122X[10X )[110X;[133X
[8X[10Xgaloisfams[i] = 0[110X[8X[108X
[33X[0;12Ymeans that [10Xmat[i][110X is an element of a nontrivial orbit but not
the first element of it.[133X
[8X[10Xgenerators[110X[8X[108X
[33X[0;6Ya list of permutations generating the permutation group corresponding
to the action of the Galois group on the rows of [10Xmat[110X.[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27XGaloisMat( [ [ E(3), E(4) ] ] );[127X[104X
[4X[28Xrec( galoisfams := [ [ [ 1, 2, 3, 4 ], [ 1, 7, 5, 11 ] ], 0, 0, 0 ], [128X[104X
[4X[28X generators := [ (1,2)(3,4), (1,3)(2,4) ], [128X[104X
[4X[28X mat := [ [ E(3), E(4) ], [ E(3), -E(4) ], [ E(3)^2, E(4) ], [128X[104X
[4X[28X [ E(3)^2, -E(4) ] ] )[128X[104X
[4X[25Xgap>[125X [27XGaloisMat( [ [ 1, 1, 1 ], [ 1, E(3), E(3)^2 ] ] );[127X[104X
[4X[28Xrec( galoisfams := [ 1, [ [ 2, 3 ], [ 1, 2 ] ], 0 ], [128X[104X
[4X[28X generators := [ (2,3) ], [128X[104X
[4X[28X mat := [ [ 1, 1, 1 ], [ 1, E(3), E(3)^2 ], [ 1, E(3)^2, E(3) ] ] )[128X[104X
[4X[32X[104X
[1X18.5-6 RationalizedMat[101X
[33X[1;0Y[29X[2XRationalizedMat[102X( [3Xmat[103X ) [32X attribute[133X
[33X[0;0Yreturns the list of rationalized rows of [3Xmat[103X, which must be a matrix of
cyclotomics. This is the set of sums over orbits under the action of the
Galois group of the entries of [3Xmat[103X (see [2XGaloisMat[102X ([14X18.5-5[114X)), so the
operation may be viewed as a kind of trace on the rows.[133X
[33X[0;0YNote that no two rows of [3Xmat[103X should be equal.[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27Xmat:= [ [ 1, 1, 1 ], [ 1, E(3), E(3)^2 ], [ 1, E(3)^2, E(3) ] ];;[127X[104X
[4X[25Xgap>[125X [27XRationalizedMat( mat );[127X[104X
[4X[28X[ [ 1, 1, 1 ], [ 2, -1, -1 ] ][128X[104X
[4X[32X[104X
[1X18.6 [33X[0;0YInternally Represented Cyclotomics[133X[101X
[33X[0;0YThe implementation of an [13Xinternally represented cyclotomic[113X is based on a
list of length equal to its conductor. This means that the internal
representation of a cyclotomic does [13Xnot[113X refer to the smallest number field
but the smallest [13Xcyclotomic[113X field containing it. The reason for this is the
wish to reflect the natural embedding of two cyclotomic fields into a larger
one that contains both. With such embeddings, it is easy to construct the
sum or the product of two arbitrary cyclotomics (in possibly different
fields) as an element of a cyclotomic field.[133X
[33X[0;0YThe disadvantage of this approach is that the arithmetical operations are
quite expensive, so the use of internally represented cyclotomics is not
recommended for doing arithmetics over number fields, such as calculations
with matrices of cyclotomics. But internally represented cyclotomics are
good enough for dealing with irrationalities in character tables (see
chapter [14X71[114X).[133X
[33X[0;0YFor the representation of cyclotomics one has to recall that the [22Xn[122X-th
cyclotomic field [22Xℚ(e_n)[122X is a vector space of dimension [22Xφ(n)[122X over the
rationals where [22Xφ[122X denotes Euler's phi-function (see [2XPhi[102X ([14X15.2-2[114X)).[133X
[33X[0;0YA special integral basis of cyclotomic fields is chosen that allows one to
easily convert arbitrary sums of roots of unity into the basis, as well as
to convert a cyclotomic represented w.r.t. the basis into the smallest
possible cyclotomic field. This basis is accessible in [5XGAP[105X, see [14X60.3[114X for
more information and references.[133X
[33X[0;0YNote that the set of all [22Xn[122X-th roots of unity is linearly dependent for [22Xn >
1[122X, so multiplication is [13Xnot[113X the multiplication of the group ring [22Xℚ⟨ e_n ⟩[122X;
given a [22Xℚ[122X-basis of [22Xℚ(e_n)[122X the result of the multiplication (computed as
multiplication of polynomials in [22Xe_n[122X, using [22X(e_n)^n = 1[122X) will be converted
to the basis.[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27XE(5) * E(5)^2; ( E(5) + E(5)^4 ) * E(5)^2;[127X[104X
[4X[28XE(5)^3[128X[104X
[4X[28XE(5)+E(5)^3[128X[104X
[4X[25Xgap>[125X [27X( E(5) + E(5)^4 ) * E(5);[127X[104X
[4X[28X-E(5)-E(5)^3-E(5)^4[128X[104X
[4X[32X[104X
[33X[0;0YAn internally represented cyclotomic is always represented in the smallest
cyclotomic field it is contained in. The internal coefficients list
coincides with the external representation returned by [2XExtRepOfObj[102X
([14X18.1-12[114X).[133X
[33X[0;0YTo avoid calculations becoming unintentionally very long, or consuming very
large amounts of memory, there is a limit on the conductor of internally
represented cyclotomics, by default set to one million. This can be raised
(although not lowered) using [2XSetCyclotomicsLimit[102X ([14X18.6-1[114X) and accessed using
[2XGetCyclotomicsLimit[102X ([14X18.6-1[114X). The maximum value of the limit is [22X2^28-1[122X on [22X32[122X
bit systems, and [22X2^32[122X on [22X64[122X bit systems. So the maximal cyclotomic field
implemented in [5XGAP[105X is not really the field [22Xℚ^ab[122X.[133X
[33X[0;0YIt should be emphasized that one disadvantage of representing a cyclotomic
in the smallest [13Xcyclotomic[113X field (and not in the smallest field) is that
arithmetic operations in a fixed small extension field of the rational
number field are comparatively expensive. For example, take a prime integer
[22Xp[122X and suppose that we want to work with a matrix group over the field
[22Xℚ(sqrt{p})[122X. Then each matrix entry could be described by two rational
coefficients, whereas the representation in the smallest cyclotomic field
requires [22Xp-1[122X rational coefficients for each entry. So it is worth thinking
about using elements in a field constructed with [2XAlgebraicExtension[102X ([14X67.1-1[114X)
when natural embeddings of cyclotomic fields are not needed.[133X
[1X18.6-1 SetCyclotomicsLimit[101X
[33X[1;0Y[29X[2XSetCyclotomicsLimit[102X( [3Xnewlimit[103X ) [32X function[133X
[33X[1;0Y[29X[2XGetCyclotomicsLimit[102X( ) [32X function[133X
[33X[0;0Y[2XGetCyclotomicsLimit[102X returns the current limit on conductors of internally
represented cyclotomic numbers[133X
[33X[0;0Y[2XSetCyclotomicsLimit[102X can be called to increase the limit on conductors of
internally represented cyclotomic numbers. Note that computing in large
cyclotomic fields using this representation can be both slow and
memory-consuming, and that other approaches may be better for some problems.
See [14X18.6[114X.[133X