Package edu.jas.ufd
Interface Factorization<C extends GcdRingElem<C>>
-
- All Superinterfaces:
java.io.Serializable
- All Known Implementing Classes:
FactorAbsolute
,FactorAbstract
,FactorAlgebraic
,FactorAlgebraicPrim
,FactorComplex
,FactorInteger
,FactorModular
,FactorModularBerlekamp
,FactorQuotient
,FactorRational
,FactorRealAlgebraic
,FactorRealReal
public interface Factorization<C extends GcdRingElem<C>> extends java.io.Serializable
Factorization algorithms interface.Usage: To create objects that implement the
Factorization
interface use theFactorFactory
. It will select an appropriate implementation based on the types of polynomial coefficients C. To obtain an implementation usegetImplementation()
, it returns an object of a class which extends theFactorAbstract
class which implements theFactorization
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);
- Author:
- Heinz Kredel
- See Also:
FactorFactory.getImplementation(edu.jas.arith.ModIntegerRing)
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description java.util.SortedMap<GenPolynomial<C>,java.lang.Long>
factors(GenPolynomial<C> P)
GenPolynomial factorization.java.util.List<GenPolynomial<C>>
factorsRadical(GenPolynomial<C> P)
GenPolynomial factorization ignoring multiplicities.java.util.List<GenPolynomial<C>>
factorsSquarefree(GenPolynomial<C> P)
GenPolynomial factorization of a squarefree polynomial.boolean
isFactorization(GenPolynomial<C> P, java.util.List<GenPolynomial<C>> F)
GenPolynomial is factorization.boolean
isFactorization(GenPolynomial<C> P, java.util.SortedMap<GenPolynomial<C>,java.lang.Long> F)
GenPolynomial is factorization.boolean
isIrreducible(GenPolynomial<C> P)
GenPolynomial test if is irreducible.boolean
isReducible(GenPolynomial<C> P)
GenPolynomial test if a non trivial factorization exists.boolean
isSquarefree(GenPolynomial<C> P)
GenPolynomial test if is squarefree.java.util.SortedMap<GenPolynomial<C>,java.lang.Long>
squarefreeFactors(GenPolynomial<C> P)
GenPolynomial squarefree factorization.GenPolynomial<C>
squarefreePart(GenPolynomial<C> P)
GenPolynomial greatest squarefree divisor.
-
-
-
Method Detail
-
isIrreducible
boolean isIrreducible(GenPolynomial<C> P)
GenPolynomial test if is irreducible.- Parameters:
P
- GenPolynomial.- Returns:
- true if P is irreducible, else false.
-
isReducible
boolean isReducible(GenPolynomial<C> P)
GenPolynomial test if a non trivial factorization exists.- Parameters:
P
- GenPolynomial.- Returns:
- true if P is reducible, else false.
-
isSquarefree
boolean isSquarefree(GenPolynomial<C> P)
GenPolynomial test if is squarefree.- Parameters:
P
- GenPolynomial.- Returns:
- true if P is squarefree, else false.
-
factorsSquarefree
java.util.List<GenPolynomial<C>> factorsSquarefree(GenPolynomial<C> P)
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
java.util.SortedMap<GenPolynomial<C>,java.lang.Long> factors(GenPolynomial<C> P)
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
java.util.List<GenPolynomial<C>> factorsRadical(GenPolynomial<C> P)
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<C> squarefreePart(GenPolynomial<C> P)
GenPolynomial greatest squarefree divisor.- Parameters:
P
- GenPolynomial.- Returns:
- squarefree(P).
-
squarefreeFactors
java.util.SortedMap<GenPolynomial<C>,java.lang.Long> squarefreeFactors(GenPolynomial<C> P)
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
boolean isFactorization(GenPolynomial<C> P, java.util.List<GenPolynomial<C>> F)
GenPolynomial is factorization.- Parameters:
P
- GenPolynomialF
- = [p_1,...,p_k].- Returns:
- true if P = prod_{i=1,...,r} p_i, else false.
-
isFactorization
boolean isFactorization(GenPolynomial<C> P, java.util.SortedMap<GenPolynomial<C>,java.lang.Long> F)
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.
-
-