edu.jas.ufd
Class FactorModular<MOD extends GcdRingElem<MOD> & Modular>

java.lang.Object
  extended by edu.jas.ufd.FactorAbstract<C>
      extended by edu.jas.ufd.FactorAbsolute<MOD>
          extended by edu.jas.ufd.FactorModular<MOD>
All Implemented Interfaces:
Factorization<MOD>, java.io.Serializable

public class FactorModular<MOD extends GcdRingElem<MOD> & Modular>
extends FactorAbsolute<MOD>

Modular coefficients factorization algorithms. This class implements factorization methods for polynomials over (prime) modular integers.

Author:
Heinz Kredel
See Also:
Serialized Form

Field Summary
 
Fields inherited from class edu.jas.ufd.FactorAbstract
engine, sengine
 
Constructor Summary
FactorModular(RingFactory<MOD> cfac)
          Constructor.
 
Method Summary
 java.util.SortedMap<java.lang.Long,GenPolynomial<MOD>> baseDistinctDegreeFactors(GenPolynomial<MOD> P)
          GenPolynomial base distinct degree factorization.
 java.util.List<GenPolynomial<MOD>> baseEqualDegreeFactors(GenPolynomial<MOD> P, long deg)
          GenPolynomial base equal degree factorization.
 java.util.List<GenPolynomial<MOD>> baseFactorsSquarefree(GenPolynomial<MOD> P)
          GenPolynomial base factorization of a squarefree polynomial.
 
Methods inherited from class edu.jas.ufd.FactorAbsolute
baseAlgebraicPartialFraction, baseAlgebraicPartialFractionIrreducible, baseAlgebraicPartialFractionIrreducibleAbsolute, baseFactorsAbsolute, baseFactorsAbsoluteIrreducible, baseFactorsAbsoluteSquarefree, factorsAbsolute, factorsAbsoluteIrreducible, factorsAbsoluteSquarefree, isAbsoluteFactorization, isAbsoluteFactorization, isAbsoluteFactorization, isAbsoluteIrreducible, toString
 
Methods inherited from class edu.jas.ufd.FactorAbstract
baseFactors, baseFactorsRadical, basePrimitivePart, factors, factorsDegree, factorsRadical, factorsRadical, factorsSquarefree, isFactorization, isFactorization, isIrreducible, isRecursiveFactorization, isReducible, isSquarefree, primitivePart, recursiveFactors, recursiveFactorsSquarefree, squarefreeFactors, squarefreePart
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

FactorModular

public FactorModular(RingFactory<MOD> cfac)
Constructor.

Parameters:
cfac - coefficient ring factory.
Method Detail

baseDistinctDegreeFactors

public java.util.SortedMap<java.lang.Long,GenPolynomial<MOD>> baseDistinctDegreeFactors(GenPolynomial<MOD> P)
GenPolynomial base distinct degree factorization.

Parameters:
P - squarefree and monic GenPolynomial.
Returns:
[e_1 -> p_1, ..., e_k -> p_k] with P = prod_{i=1,...,k} p_i and p_i has only irreducible factors of degree e_i.

baseEqualDegreeFactors

public java.util.List<GenPolynomial<MOD>> baseEqualDegreeFactors(GenPolynomial<MOD> P,
                                                                 long deg)
GenPolynomial base equal degree factorization.

Parameters:
P - squarefree and monic GenPolynomial.
deg - such that P has only irreducible factors of degree deg.
Returns:
[p_1,...,p_k] with P = prod_{i=1,...,r} p_i.

baseFactorsSquarefree

public java.util.List<GenPolynomial<MOD>> baseFactorsSquarefree(GenPolynomial<MOD> P)
GenPolynomial base factorization of a squarefree polynomial.

Specified by:
baseFactorsSquarefree in class FactorAbstract<MOD extends GcdRingElem<MOD> & Modular>
Parameters:
P - squarefree and monic! GenPolynomial.
Returns:
[p_1,...,p_k] with P = prod_{i=1,...,r} p_i.