Class UnivariateSquareFreeFactorization


  • public final class UnivariateSquareFreeFactorization
    extends Object
    Square-free factorization of univariate polynomials over Z and Zp.
    Since:
    1.0
    • Method Detail

      • isSquareFree

        public static <T extends IUnivariatePolynomial<T>> boolean isSquareFree​(T poly)
        Returns true if poly is square-free and false otherwise
        Parameters:
        poly - the polynomial
        Returns:
        true if poly is square-free and false otherwise
      • SquareFreeFactorization

        public static <T extends IUnivariatePolynomial<T>> PolynomialFactorDecomposition<T> SquareFreeFactorization​(T poly)
        Performs square-free factorization of a poly.
        Parameters:
        poly - the polynomial
        Returns:
        square-free decomposition
      • SquareFreePart

        public static <T extends IUnivariatePolynomial<T>> T SquareFreePart​(T poly)
        Returns square-free part of the poly
        Parameters:
        poly - the polynomial
        Returns:
        square free part
      • SquareFreeFactorizationYunZeroCharacteristics

        public static <Poly extends IUnivariatePolynomial<Poly>> PolynomialFactorDecomposition<Poly> SquareFreeFactorizationYunZeroCharacteristics​(Poly poly)
        Performs square-free factorization of a poly which coefficient ring has zero characteristic using Yun's algorithm.
        Parameters:
        poly - the polynomial
        Returns:
        square-free decomposition
      • SquareFreeFactorizationMusserZeroCharacteristics

        public static <Poly extends IUnivariatePolynomial<Poly>> PolynomialFactorDecomposition<Poly> SquareFreeFactorizationMusserZeroCharacteristics​(Poly poly)
        Performs square-free factorization of a poly which coefficient ring has zero characteristic using Musser's algorithm.
        Parameters:
        poly - the polynomial
        Returns:
        square-free decomposition
      • SquareFreeFactorizationMusser

        public static <Poly extends IUnivariatePolynomial<Poly>> PolynomialFactorDecomposition<Poly> SquareFreeFactorizationMusser​(Poly poly)
        Performs square-free factorization of a poly using Musser's algorithm (both zero and non-zero characteristic of coefficient ring allowed).
        Parameters:
        poly - the polynomial
        Returns:
        square-free decomposition