Package edu.jas.ufd

Class CycloUtil

java.lang.Object
edu.jas.ufd.CycloUtil

public class CycloUtil extends Object
Cyclotomic polynomial utilities. Adapted from Sympy Python codes.
  • Field Details

    • logger

      private static final org.apache.logging.log4j.Logger logger
  • Constructor Details

    • CycloUtil

      public CycloUtil()
  • Method Details

    • cyclotomicPolynomial

      public static GenPolynomial<BigInteger> cyclotomicPolynomial(GenPolynomialRing<BigInteger> ring, long n)
      Compute n-th cyclotomic polynomial.
      Parameters:
      ring - univariate polynomial ring of cyclotomic polynomial.
      n - number of polynomial.
      Returns:
      n-th cyclotomic polynomial.
    • cyclotomicDecompose

      public static List<GenPolynomial<BigInteger>> cyclotomicDecompose(GenPolynomialRing<BigInteger> ring, long n)
      Compute the factors of the n-th cyclotomic polynomial.
      Parameters:
      ring - univariate polynomial ring of cyclotomic polynomial.
      n - number of polynomial.
      Returns:
      list of factors of n-th cyclotomic polynomial.
    • cyclotomicFactors

      public static List<GenPolynomial<BigInteger>> cyclotomicFactors(GenPolynomial<BigInteger> p)
      Compute the factors of the cyclotomic polynomial.
      Parameters:
      p - cyclotomic polynomial.
      Returns:
      list of factors of cyclotomic polynomial p or empty list.
    • isCyclotomicPolynomial

      public static boolean isCyclotomicPolynomial(GenPolynomial<BigInteger> p)
      Test for cyclotomic polynomial.
      Parameters:
      p - polynomial.
      Returns:
      true if p is a cyclotomic polynomial, else false.