Class FactorInteger<MOD extends GcdRingElem<MOD> & Modular>
- Type Parameters:
MOD-
- All Implemented Interfaces:
Factorization<BigInteger>, Serializable
public class FactorInteger<MOD extends GcdRingElem<MOD> & Modular>
extends FactorAbstract<BigInteger>
Integer coefficients factorization algorithms. This class implements
factorization methods for polynomials over integers.
- Author:
- Heinz Kredel
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final GreatestCommonDivisorAbstract<MOD> Gcd engine for modular base coefficients.protected final FactorAbstract<MOD> Factorization engine for modular base coefficients.Fields inherited from class FactorAbstract
engine, sengine -
Constructor Summary
ConstructorsConstructorDescriptionNo argument constructor.FactorInteger(RingFactory<BigInteger> cfac) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionGenPolynomial base factorization of a squarefree polynomial.static <C extends RingElem<C>>
longdegreeSum(List<GenPolynomial<C>> L) Sum of all degrees.factorDegrees(List<ExpVector> E, int deg) BitSet for factor degree list.GenPolynomial factorization of a multivariate squarefree polynomial, using Hensel lifting if possible.GenPolynomial factorization of a multivariate squarefree polynomial, using Hensel lifting.factorsSquarefreeOptions(GenPolynomial<BigInteger> P, boolean opti, boolean tlex) GenPolynomial factorization of a multivariate squarefree polynomial, using Hensel lifting if possible.booleanGenPolynomial test if is irreducible.booleanGenPolynomial test if is irreducible with Eisenstein criterion.Methods inherited from class FactorAbstract
baseFactors, baseFactorsRadical, basePrimitivePart, factors, factorsDegree, factorsRadical, factorsRadical, factorsSquarefreeKronecker, factorsSquarefreeOptimize, isFactorization, isFactorization, isRecursiveFactorization, isReducible, isSquarefree, normalizeFactorization, primitivePart, recursiveFactors, recursiveFactorsSquarefree, squarefreeFactors, squarefreePart, toString
-
Field Details
-
mfactor
Factorization engine for modular base coefficients. -
mengine
Gcd engine for modular base coefficients.
-
-
Constructor Details
-
FactorInteger
public FactorInteger()No argument constructor. -
FactorInteger
Constructor.- Parameters:
cfac- coefficient ring factory.
-
-
Method Details
-
isIrreducible
GenPolynomial test if is irreducible.- Specified by:
isIrreduciblein interfaceFactorization<MOD extends GcdRingElem<MOD> & Modular>- Overrides:
isIrreduciblein classFactorAbstract<BigInteger>- Parameters:
P- GenPolynomial.- Returns:
- true if P is irreducible, else false.
-
isIrreducibleEisenstein
GenPolynomial test if is irreducible with Eisenstein criterion.- Parameters:
P- univariate polynomial.- Returns:
- true if P is irreducible, else false if it is unknown.
-
baseFactorsSquarefree
GenPolynomial base factorization of a squarefree polynomial.- Specified by:
baseFactorsSquarefreein classFactorAbstract<BigInteger>- Parameters:
P- squarefree and primitive! GenPolynomial.- Returns:
- [p_1,...,p_k] with P = prod_{i=1, ..., k} p_i.
-
factorDegrees
-
degreeSum
Sum of all degrees.- Parameters:
L- univariate polynomial list.- Returns:
- sum deg(p) for p in L.
-
factorsSquarefree
GenPolynomial factorization of a multivariate squarefree polynomial, using Hensel lifting if possible.- Specified by:
factorsSquarefreein interfaceFactorization<MOD extends GcdRingElem<MOD> & Modular>- Overrides:
factorsSquarefreein classFactorAbstract<BigInteger>- Parameters:
P- squarefree and primitive! (respectively monic) multivariate GenPolynomial over the integers.- Returns:
- [p_1,...,p_k] with P = prod_{i=1,...,r} p_i.
-
factorsSquarefreeOptions
public List<GenPolynomial<BigInteger>> factorsSquarefreeOptions(GenPolynomial<BigInteger> P, boolean opti, boolean tlex) GenPolynomial factorization of a multivariate squarefree polynomial, using Hensel lifting if possible.- Parameters:
P- squarefree and primitive! (respectively monic) multivariate GenPolynomial over the integers.opti- true, if polynomial variables should be optimized, else false.tlex- true, if INVLEX term order should be forced, else false.- Returns:
- [p_1,...,p_k] with P = prod_{i=1,...,r} p_i.
-
factorsSquarefreeHensel
GenPolynomial factorization of a multivariate squarefree polynomial, using Hensel lifting.- Parameters:
P- squarefree and primitive! (respectively monic) multivariate GenPolynomial over the integers.- Returns:
- [p_1,...,p_k] with P = prod_{i=1,...,r} p_i.
-