C
- coefficient typepublic abstract class FactorAbstract<C extends GcdRingElem<C>> extends java.lang.Object implements Factorization<C>
Factorization
interface, except the method
for factorization of a squarefree polynomial. The methods to obtain
squarefree polynomials delegate the computation to the
GreatestCommonDivisor
classes and are included for convenience.FactorFactory
,
Serialized FormModifier and Type | Field and Description |
---|---|
protected GreatestCommonDivisorAbstract<C> |
engine
Gcd engine for base coefficients.
|
protected SquarefreeAbstract<C> |
sengine
Squarefree decompositon engine for base coefficients.
|
Modifier | Constructor and Description |
---|---|
protected |
FactorAbstract()
No argument constructor.
|
|
FactorAbstract(RingFactory<C> cfac)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
java.util.SortedMap<GenPolynomial<C>,java.lang.Long> |
baseFactors(GenPolynomial<C> P)
Univariate GenPolynomial factorization.
|
java.util.List<GenPolynomial<C>> |
baseFactorsRadical(GenPolynomial<C> P)
Univariate GenPolynomial factorization ignoring multiplicities.
|
abstract java.util.List<GenPolynomial<C>> |
baseFactorsSquarefree(GenPolynomial<C> P)
Univariate GenPolynomial factorization of a squarefree polynomial.
|
GenPolynomial<C> |
basePrimitivePart(GenPolynomial<C> P)
GenPolynomial base primitive part.
|
java.util.SortedMap<GenPolynomial<C>,java.lang.Long> |
factors(GenPolynomial<C> P)
GenPolynomial factorization.
|
long |
factorsDegree(java.util.SortedMap<GenPolynomial<C>,java.lang.Long> F)
Degree of a factorization.
|
java.util.List<GenPolynomial<C>> |
factorsRadical(GenPolynomial<C> P)
GenPolynomial factorization ignoring multiplicities.
|
java.util.List<GenPolynomial<C>> |
factorsRadical(java.util.List<GenPolynomial<C>> L)
GenPolynomial list factorization ignoring multiplicities.
|
java.util.List<GenPolynomial<C>> |
factorsSquarefree(GenPolynomial<C> P)
GenPolynomial factorization of a squarefree polynomial, using Kronecker
substitution.
|
java.util.List<GenPolynomial<C>> |
factorsSquarefreeKronecker(GenPolynomial<C> P)
GenPolynomial factorization of a squarefree polynomial, using Kronecker
substitution.
|
java.util.List<GenPolynomial<C>> |
factorsSquarefreeOptimize(GenPolynomial<C> P)
GenPolynomial factorization of a multivariate squarefree polynomial,
using Kronecker substitution and variable order optimization.
|
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 |
isRecursiveFactorization(GenPolynomial<GenPolynomial<C>> P,
java.util.SortedMap<GenPolynomial<GenPolynomial<C>>,java.lang.Long> F)
GenPolynomial is factorization.
|
boolean |
isReducible(GenPolynomial<C> P)
GenPolynomial test if a non trivial factorization exsists.
|
boolean |
isSquarefree(GenPolynomial<C> P)
GenPolynomial test if is squarefree.
|
java.util.List<GenPolynomial<C>> |
normalizeFactorization(java.util.List<GenPolynomial<C>> F)
Normalize factorization. p'_i > 0 for i > 1 and p'_1 !
|
GenPolynomial<C> |
primitivePart(GenPolynomial<C> P)
GenPolynomial primitive part.
|
java.util.SortedMap<GenPolynomial<GenPolynomial<C>>,java.lang.Long> |
recursiveFactors(GenPolynomial<GenPolynomial<C>> P)
Recursive GenPolynomial factorization.
|
java.util.List<GenPolynomial<GenPolynomial<C>>> |
recursiveFactorsSquarefree(GenPolynomial<GenPolynomial<C>> P)
Recursive GenPolynomial factorization of a squarefree polynomial.
|
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.
|
java.lang.String |
toString()
Get the String representation.
|
protected final GreatestCommonDivisorAbstract<C extends GcdRingElem<C>> engine
protected final SquarefreeAbstract<C extends GcdRingElem<C>> sengine
protected FactorAbstract()
public FactorAbstract(RingFactory<C> cfac)
cfac
- coefficient ring factory.public java.lang.String toString()
toString
in class java.lang.Object
Object.toString()
public boolean isIrreducible(GenPolynomial<C> P)
isIrreducible
in interface Factorization<C extends GcdRingElem<C>>
P
- GenPolynomial.public boolean isReducible(GenPolynomial<C> P)
isReducible
in interface Factorization<C extends GcdRingElem<C>>
P
- GenPolynomial.public boolean isSquarefree(GenPolynomial<C> P)
isSquarefree
in interface Factorization<C extends GcdRingElem<C>>
P
- GenPolynomial.public java.util.List<GenPolynomial<C>> factorsSquarefreeOptimize(GenPolynomial<C> P)
P
- squarefree and primitive! (respectively monic) multivariate
GenPolynomial over the ring C.public java.util.List<GenPolynomial<C>> factorsSquarefree(GenPolynomial<C> P)
factorsSquarefree
in interface Factorization<C extends GcdRingElem<C>>
P
- squarefree and primitive! (respectively monic) GenPolynomial.public java.util.List<GenPolynomial<C>> factorsSquarefreeKronecker(GenPolynomial<C> P)
P
- squarefree and primitive! (respectively monic) GenPolynomial.public java.util.List<GenPolynomial<C>> baseFactorsRadical(GenPolynomial<C> P)
P
- GenPolynomial in one variable.public java.util.SortedMap<GenPolynomial<C>,java.lang.Long> baseFactors(GenPolynomial<C> P)
P
- GenPolynomial in one variable.public abstract java.util.List<GenPolynomial<C>> baseFactorsSquarefree(GenPolynomial<C> P)
P
- squarefree and primitive! GenPolynomial in one variable.public java.util.List<GenPolynomial<C>> factorsRadical(GenPolynomial<C> P)
factorsRadical
in interface Factorization<C extends GcdRingElem<C>>
P
- GenPolynomial.public java.util.List<GenPolynomial<C>> factorsRadical(java.util.List<GenPolynomial<C>> L)
L
- list of GenPolynomials.public java.util.SortedMap<GenPolynomial<C>,java.lang.Long> factors(GenPolynomial<C> P)
factors
in interface Factorization<C extends GcdRingElem<C>>
P
- GenPolynomial.public GenPolynomial<C> squarefreePart(GenPolynomial<C> P)
squarefreePart
in interface Factorization<C extends GcdRingElem<C>>
P
- GenPolynomial.public GenPolynomial<C> primitivePart(GenPolynomial<C> P)
P
- GenPolynomial.public GenPolynomial<C> basePrimitivePart(GenPolynomial<C> P)
P
- GenPolynomial.public java.util.SortedMap<GenPolynomial<C>,java.lang.Long> squarefreeFactors(GenPolynomial<C> P)
squarefreeFactors
in interface Factorization<C extends GcdRingElem<C>>
P
- GenPolynomial.public boolean isFactorization(GenPolynomial<C> P, java.util.List<GenPolynomial<C>> F)
isFactorization
in interface Factorization<C extends GcdRingElem<C>>
P
- GenPolynomial.F
- = [p_1,...,p_k].public boolean isFactorization(GenPolynomial<C> P, java.util.SortedMap<GenPolynomial<C>,java.lang.Long> F)
isFactorization
in interface Factorization<C extends GcdRingElem<C>>
P
- GenPolynomial.F
- = [p_1 -> e_1, ..., p_k -> e_k].public long factorsDegree(java.util.SortedMap<GenPolynomial<C>,java.lang.Long> F)
F
- a factors map [p_1 -> e_1, ..., p_k -> e_k].public boolean isRecursiveFactorization(GenPolynomial<GenPolynomial<C>> P, java.util.SortedMap<GenPolynomial<GenPolynomial<C>>,java.lang.Long> F)
P
- GenPolynomial.F
- = [p_1 -> e_1, ..., p_k -> e_k].public java.util.List<GenPolynomial<GenPolynomial<C>>> recursiveFactorsSquarefree(GenPolynomial<GenPolynomial<C>> P)
P
- squarefree recursive GenPolynomial.public java.util.SortedMap<GenPolynomial<GenPolynomial<C>>,java.lang.Long> recursiveFactors(GenPolynomial<GenPolynomial<C>> P)
P
- recursive GenPolynomial.public java.util.List<GenPolynomial<C>> normalizeFactorization(java.util.List<GenPolynomial<C>> F)
F
- = [p_1,...,p_k].