Cyclotomic Numbers
type
irrationalities
cyclotomic field elements

&GAP; admits computations in abelian extension fields of the rational number field &QQ;, that is fields with abelian Galois group over &QQ;. These fields are subfields of cyclotomic fields &QQ;(e_n) where e_n = \exp(2 \pi i/n) is a primitive complex n-th root of unity. The elements of these fields are called cyclotomics.

Information concerning operations for domains of cyclotomics, for example certain integral bases of fields of cyclotomics, can be found in Chapter . For more general operations that take a field extension as a –possibly optional– argument, e.g., or , see Chapter .

Operations for Cyclotomics
<#Include Label="E"> <#Include Label="Cyclotomics"> <#Include Label="IsCyclotomic"> <#Include Label="IsIntegralCyclotomic"> <#Include Label="Int:cyclotomics"> <#Include Label="String:cyclotomics"> <#Include Label="Conductor"> <#Include Label="AbsoluteValue"> <#Include Label="RoundCyc"> <#Include Label="CoeffsCyc"> <#Include Label="DenominatorCyc"> <#Include Label="ExtRepOfObj:cyclotomics"> <#Include Label="DescriptionOfRootOfUnity"> <#Include Label="IsGaussInt"> <#Include Label="IsGaussRat"> <#Include Label="DefaultField:cyclotomics">

Infinity and negative Infinity
<#Include Label="IsInfinity">

Comparisons of Cyclotomics
operators
To compare cyclotomics, the operators <, <=, =, >=, >, and <> can be used, the result will be true if the first operand is smaller, smaller or equal, equal, larger or equal, larger, or unequal, respectively, and false otherwise.

Cyclotomics are ordered as follows: The relation between rationals is the natural one, rationals are smaller than irrational cyclotomics, and is the largest cyclotomic. For two irrational cyclotomics with different conductors (see ), the one with smaller conductor is regarded as smaller. Two irrational cyclotomics with same conductor are compared via their external representation (see ).

For comparisons of cyclotomics and other &GAP; objects, see Section .

gap> E(5) < E(6); # the latter value has conductor 3 false gap> E(3) < E(3)^2; # both have conductor 3, compare the ext. repr. false gap> 3 < E(3); E(5) < E(7); true true
ATLAS Irrationalities
atomic irrationalities
<#Include Label="EB"> <#Include Label="EI"> <#Include Label="EY"> <#Include Label="EM"> <#Include Label="NK"> <#Include Label="AtlasIrrationality">

Galois Conjugacy of Cyclotomics
<#Include Label="GaloisCyc"> <#Include Label="ComplexConjugate"> <#Include Label="StarCyc"> <#Include Label="Quadratic"> <#Include Label="GaloisMat"> <#Include Label="RationalizedMat">

Internally Represented Cyclotomics

The implementation of an internally represented cyclotomic is based on a list of length equal to its conductor. This means that the internal representation of a cyclotomic does not refer to the smallest number field but the smallest cyclotomic 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.

The 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 ).

For the representation of cyclotomics one has to recall that the n-th cyclotomic field &QQ;(e_n) is a vector space of dimension \varphi(n) over the rationals where \varphi denotes Euler's phi-function (see ).

A 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 &GAP;, see for more information and references.

Note that the set of all n-th roots of unity is linearly dependent for n > 1, so multiplication is not the multiplication of the group ring &QQ;\langle e_n \rangle; given a &QQ;-basis of &QQ;(e_n) the result of the multiplication (computed as multiplication of polynomials in e_n, using (e_n)^n = 1) will be converted to the basis.

gap> E(5) * E(5)^2; ( E(5) + E(5)^4 ) * E(5)^2; E(5)^3 E(5)+E(5)^3 gap> ( E(5) + E(5)^4 ) * E(5); -E(5)-E(5)^3-E(5)^4

An 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 .

To 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 and accessed using . The maximum value of the limit is 2^{28}-1 on 32 bit systems, and 2^{32} on 64 bit systems. So the maximal cyclotomic field implemented in &GAP; is not really the field &QQ;^{ab}.

It should be emphasized that one disadvantage of representing a cyclotomic in the smallest cyclotomic 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 p and suppose that we want to work with a matrix group over the field &QQ;(\sqrt{{p}}). Then each matrix entry could be described by two rational coefficients, whereas the representation in the smallest cyclotomic field requires p-1 rational coefficients for each entry. So it is worth thinking about using elements in a field constructed with when natural embeddings of cyclotomic fields are not needed.

returns the current limit on conductors of internally represented cyclotomic numbers

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 .