CyclotomicUtilities

cyclo.spad line 1 [edit on github]

Utilities for computations with cyclotomic polynomials.

cocyclotomic_decomposition : Integer -> List(SparseUnivariatePolynomial(Integer))

cocyclotomic_decomposition(n) computes list of irreducible factors of x^n + 1 over integers.

cyclotomic : Integer -> SparseUnivariatePolynomial(Integer)

cyclotomic(n) computes n-th cyclotomic polynomial.

cyclotomic? : SparseUnivariatePolynomial(Integer) -> Union(Integer, "failed")

cyclotomic?(p) checks if p is a cyclotomic polynomial. If yes returns n such that p = cyclotomic(n). Otherwise returns "failed".

cyclotomic_array : Integer -> PrimitiveArray(Integer)

cyclotomic_array(n) computes pa containing lower half of coefficients of n-th cyclotomic polynomial. maximal index in pa is eulerPhi(n)/2. Due to symmetry this is enough to reconstruct cyclotomic polynomial from computed coefficients.

cyclotomic_decomposition : Integer -> List(SparseUnivariatePolynomial(Integer))

cyclotomic_decomposition(n) computes list of irreducible factors of x^n - 1 over integers.

inverse_cyclotomic : Integer -> SparseUnivariatePolynomial(Integer)

inverse_cyclotomic(n) computes n-th inverse cyclotomic polynomial, that is (x^n - 1)/cyclotomic(n).