[Up] [Previous] [Next] [Index]

# 8.4 Cyclotomic numbers

- `IsRootOfUnity(` cyc`) P`

  `IsRootOfUnity` tests if a given cyclotomic is actually a root of unity.

- `CoeffList2CyclotomicList(` list`,` root`) O`

  `CoeffList2CyclogomicList(` list`,` root`)` takes a list of integers list and a root of unity root and returns a list list2, where list2[i]=list[i]* root^(i-1).

- `AbssquareInCyclotomics(` list`,` root`) O`

  For a list of integers and a root of unity, `AbssquareInCyclotomics(` list`,` root`)` returns the modulus of `Sum(CoeffList2CyclotomicList(` list`,` root`))`.

- `CycsGivenCoeffSum(` sum`,` root`) O`

  `CycsGivenCoeffSum(` sum`,` root`)` returns all elements of Z[ root ] such that the coefficient sum is sum and all coefficients are non-negative. The returned list has the following form: The cyclotomic numbers are represented by coefficients. `CoeffList2CyclotomicList` can be used to get the algebraic number represented by list. The list is partitioned into equivalence classes of elements having the same modulus. For each class the modulus is returned. This means that `CycsGivenCoeffSum` returns a list of pairs where the first entry of each pair is the square of the modulus of an element of the second entry. And the second entry is a list of coefficient lists of cyclotomics in Z[ root ] having the coefficient sum sum.

      gap> CycsGivenCoeffSum(3,E(3));
      [ [ 0, [ [ 1, 1, 1 ] ] ],
        [ 3, [ [ 0, 1, 2 ], [ 0, 2, 1 ], [ 1, 0, 2 ], [ 1, 2, 0 ], [ 2, 0, 1 ],
                [ 2, 1, 0 ] ] ], [ 9, [ [ 0, 0, 3 ], [ 0, 3, 0 ], [ 3, 0, 0 ] ] ] ]
      gap> CycsGivenCoeffSum(2,E(2));
      [ [ 0, [ [ 1, 1 ] ] ], [ 4, [ [ 0, 2 ], [ 2, 0 ] ] ] ]

  [Up] [Previous] [Next] [Index]