Class UnivariateSquareFreeFactorization

java.lang.Object
cc.redberry.rings.poly.univar.UnivariateSquareFreeFactorization

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

    • 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