Functions are provided to create fields of the special type FldCyc. Orders and elements created from a field of this type will have the special types RngCyc and FldCycElt respectively and elements created from orders RngCycElt. These functions provide an object with the correct type which will allow the extra functions and efficient implementations to be used.
Cyclotomic fields can be created from an integer specifying which roots of unity it should contain or from a collection of elements of an existing field or order. Cyclotomic polynomials can also be retrieved independently of the fields and orders.
Sparse: Boolean Default: false
Given a positive integer m, create the field obtained by adjoining the m-th roots of unity to Q. It is possible to assign a name to the primitive m-th root of unity ζm using angle brackets: R<s> := CyclotomicField(m).If Sparse := true, names for all the generating elements can be assigned.
Given a positive integer m, create the cyclotomic polynomial of order m. This function is equivalent to DefiningPolynomial(CyclotomicField(m)).
Given an element a from a cyclotomic field F or ring R, this function returns the smallest cyclotomic field or order thereof (possibly the rational field or the ring of integers) E⊂F containing a.
Given a set or sequence S of cyclotomic field or ring elements, this function returns the smallest cyclotomic field or ring (possibly the rational field or integers) G containing each of the elements of S.
> K1 := CyclotomicField(100); > K2 := CyclotomicField(100: Sparse := true); > K2!K1.1; zeta(100)_4*zeta(100)_25^19Where zeta(100)_25 indicates a 25th root of unity in a field of order 100.
> K1!K2.1; zeta_100^25
For elements of cyclotomic number fields the following conventions are used. Primitive roots of unity ζm are chosen in such a way that ζmm/d=ζd, for every divisor d of m; one may think of this as choosing ζm=(e)2πi/m (where the roots of unity are ζmk = (e)2kπi/m) in the complex plane for every m (a convention that is followed for the explicit embedding in the complex domains).
Elements of cyclotomic fields and orders can also be created using coercion (!) and the elt constructor (elt<|>) where the left hand side is the field or order the element will lie in. For details about coercion see Section Creation of Elements.
Create the n-th root of unity ζn in Q(ζn).
Given a cyclotomic field K = Q(ζm) and an integer n>2, create the n-th root of unity ζn in K. An error results if ζn∉K, that is, if n does not divide m (or 2m in case m is odd).
Given an element a in a cyclotomic field F or ring R, this procedure finds the minimal cyclotomic subfield E⊂F or subring E ⊂F containing a, and coerces a into E. Note that E may be Q or Z.
Given a set s of cyclotomic field or ring elements, this procedure finds the minimal cyclotomic field or ring E containing all of them, and coerces each element into E. The resulting set will have universe E. Note that E may be Q or Z.
Given an element a in a cyclotomic field F or ring R, this function finds the minimal cyclotomic subfield E⊂F or subring E ⊂R containing a, and coerces a into E. Note that E may be Q or Z.
Given a set s of cyclotomic field or ring elements, this function finds the minimal cyclotomic field E containing all of them, and coerces each element into E. The resulting set will have universe E. Note that E may be Q or Z.