Package cc.redberry.rings.poly.univar
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 Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static <T extends IUnivariatePolynomial<T>>
booleanisSquareFree(T poly)Returnstrueifpolyis square-free andfalseotherwisestatic <T extends IUnivariatePolynomial<T>>
PolynomialFactorDecomposition<T>SquareFreeFactorization(T poly)Performs square-free factorization of apoly.static <Poly extends IUnivariatePolynomial<Poly>>
PolynomialFactorDecomposition<Poly>SquareFreeFactorizationMusser(Poly poly)Performs square-free factorization of apolyusing Musser's algorithm (both zero and non-zero characteristic of coefficient ring allowed).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.static <Poly extends IUnivariatePolynomial<Poly>>
PolynomialFactorDecomposition<Poly>SquareFreeFactorizationYunZeroCharacteristics(Poly poly)Performs square-free factorization of apolywhich coefficient ring has zero characteristic using Yun's algorithm.static <T extends IUnivariatePolynomial<T>>
TSquareFreePart(T poly)Returns square-free part of thepoly
-
-
-
Method Detail
-
isSquareFree
public static <T extends IUnivariatePolynomial<T>> boolean isSquareFree(T poly)
Returnstrueifpolyis square-free andfalseotherwise- Parameters:
poly- the polynomial- Returns:
trueifpolyis square-free andfalseotherwise
-
SquareFreeFactorization
public static <T extends IUnivariatePolynomial<T>> PolynomialFactorDecomposition<T> SquareFreeFactorization(T poly)
Performs square-free factorization of apoly.- Parameters:
poly- the polynomial- Returns:
- square-free decomposition
-
SquareFreePart
public static <T extends IUnivariatePolynomial<T>> T SquareFreePart(T poly)
Returns square-free part of thepoly- 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 apolywhich 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 apolyusing Musser's algorithm (both zero and non-zero characteristic of coefficient ring allowed).- Parameters:
poly- the polynomial- Returns:
- square-free decomposition
-
-