Package edu.jas.ufd
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.boolean
isFactorization
(GenPolynomial<C> P, List<GenPolynomial<C>> F) GenPolynomial is factorization.boolean
isFactorization
(GenPolynomial<C> P, SortedMap<GenPolynomial<C>, Long> F) GenPolynomial is factorization.boolean
GenPolynomial test if is irreducible.boolean
GenPolynomial test if a non trivial factorization exists.boolean
GenPolynomial 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.
-