Class MultivariateSquareFreeFactorization

java.lang.Object
cc.redberry.rings.poly.multivar.MultivariateSquareFreeFactorization

public final class MultivariateSquareFreeFactorization
extends Object
Since:
1.0
  • Method Details

    • SquareFreeFactorization

      public static <Term extends AMonomial<Term>,​ Poly extends AMultivariatePolynomial<Term,​ Poly>> PolynomialFactorDecomposition<Poly> SquareFreeFactorization​(Poly poly)
      Performs square-free factorization of a {@code poly. @param poly the polynomial @return square-free decomposition
    • isSquareFree

      public static <Term extends AMonomial<Term>,​ Poly extends AMultivariatePolynomial<Term,​ Poly>> boolean isSquareFree​(Poly poly)
      Tests whether the given poly is square free.
      Parameters:
      poly - the polynomial
      Returns:
      whether the given poly is square free
    • SquareFreePart

      public static <Term extends AMonomial<Term>,​ Poly extends AMultivariatePolynomial<Term,​ Poly>> Poly SquareFreePart​(Poly poly)
      Returns square-free part of the poly
      Parameters:
      poly - the polynomial
      Returns:
      square free part
    • SquareFreeFactorizationYunZeroCharacteristics

      public static <Term extends AMonomial<Term>,​ Poly extends AMultivariatePolynomial<Term,​ 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 <Term extends AMonomial<Term>,​ Poly extends AMultivariatePolynomial<Term,​ 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
    • SquareFreeFactorizationBernardin

      public static <Term extends AMonomial<Term>,​ Poly extends AMultivariatePolynomial<Term,​ Poly>> PolynomialFactorDecomposition<Poly> SquareFreeFactorizationBernardin​(Poly poly)
      Performs square-free factorization of a poly over finite field using Bernardin's algorithm (see Factorization of multivariate polynomials over finite fields, 1999, https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.34.5310&rep=rep1&type=pdf).
      Parameters:
      poly - the polynomial
      Returns:
      square-free decomposition