Interface Factorization<C extends GcdRingElem<C>>
- All Superinterfaces:
Serializable
- All Known Implementing Classes:
FactorAbsolute, FactorAbstract, FactorAlgebraic, FactorAlgebraicPrim, FactorComplex, FactorInteger, FactorModular, FactorModularBerlekamp, FactorQuotient, FactorRational, FactorRealAlgebraic, FactorRealReal
Factorization algorithms interface.
Usage: To create objects that implement the Factorization
interface use the FactorFactory. It will select an appropriate
implementation based on the types of polynomial coefficients C. To obtain an
implementation use getImplementation(), it returns an object of
a class which extends the FactorAbstract class which implements
the Factorization interface.
Factorization<CT> engine; engine = FactorFactory.<CT> getImplementation(cofac); c = engine.factors(a);
For example, if the coefficient type is BigInteger, the usage looks like
BigInteger cofac = new BigInteger(); Factorization<BigInteger> engine; engine = FactorFactory.getImplementation(cofac); Sm = engine.factors(poly);
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionfactors(GenPolynomial<C> P) GenPolynomial factorization.GenPolynomial factorization ignoring multiplicities.GenPolynomial factorization of a squarefree polynomial.booleanisFactorization(GenPolynomial<C> P, List<GenPolynomial<C>> F) GenPolynomial is factorization.booleanisFactorization(GenPolynomial<C> P, SortedMap<GenPolynomial<C>, Long> F) GenPolynomial is factorization.booleanGenPolynomial test if is irreducible.booleanGenPolynomial test if a non trivial factorization exists.booleanGenPolynomial test if is squarefree.GenPolynomial squarefree factorization.GenPolynomial greatest squarefree divisor.
-
Method Details
-
isIrreducible
GenPolynomial test if is irreducible.- Parameters:
P- GenPolynomial.- Returns:
- true if P is irreducible, else false.
-
isReducible
GenPolynomial test if a non trivial factorization exists.- Parameters:
P- GenPolynomial.- Returns:
- true if P is reducible, else false.
-
isSquarefree
GenPolynomial test if is squarefree.- Parameters:
P- GenPolynomial.- Returns:
- true if P is squarefree, else false.
-
factorsSquarefree
GenPolynomial factorization of a squarefree polynomial.- Parameters:
P- squarefree and primitive! or monic! GenPolynomial.- Returns:
- [p_1,...,p_k] with P = prod_{i=1,...,r} p_i.
-
factors
GenPolynomial factorization.- Parameters:
P- GenPolynomial.- Returns:
- [p_1 -> e_1, ..., p_k -> e_k] with P = prod_{i=1,...,k} p_i**e_i.
-
factorsRadical
GenPolynomial factorization ignoring multiplicities.- Parameters:
P- GenPolynomial.- Returns:
- [p_1, ..., p_k] with P = prod_{i=1,...,k} p_i**{e_i} for some e_i.
-
squarefreePart
GenPolynomial greatest squarefree divisor.- Parameters:
P- GenPolynomial.- Returns:
- squarefree(P).
-
squarefreeFactors
GenPolynomial squarefree factorization.- Parameters:
P- GenPolynomial.- Returns:
- [p_1 -> e_1, ..., p_k -> e_k] with P = prod_{i=1,...,k} p_i^{e_i} and p_i squarefree.
-
isFactorization
GenPolynomial is factorization.- Parameters:
P- GenPolynomialF- = [p_1,...,p_k].- Returns:
- true if P = prod_{i=1,...,r} p_i, else false.
-
isFactorization
GenPolynomial is factorization.- Parameters:
P- GenPolynomial.F- = [p_1 -> e_1, ..., p_k -> e_k].- Returns:
- true if P = prod_{i=1,...,k} p_i**e_i , else false.
-