Package edu.jas.ufd

Class CycloUtil


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

      • logger

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

      • CycloUtil

        public CycloUtil()
    • Method Detail

      • cyclotomicPolynomial

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

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

        public static java.util.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.