Package edu.jas.gbufd
Class GroebnerBasePseudoParallel<C extends GcdRingElem<C>>
- java.lang.Object
-
- edu.jas.gb.GroebnerBaseAbstract<C>
-
- edu.jas.gbufd.GroebnerBasePseudoParallel<C>
-
- Type Parameters:
C- coefficient type
- All Implemented Interfaces:
GroebnerBase<C>,java.io.Serializable
public class GroebnerBasePseudoParallel<C extends GcdRingElem<C>> extends GroebnerBaseAbstract<C>
Groebner Base with pseudo reduction multi-threaded parallel algorithm. Implements coefficient fraction free Groebner bases. Coefficients can for example be integers or (commutative) univariate polynomials.- Author:
- Heinz Kredel
- See Also:
GBAlgorithmBuilder,GBFactory, Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected RingFactory<C>cofacCoefficient ring factory.protected GreatestCommonDivisorAbstract<C>engineGreatest common divisor engine for coefficient content and primitive parts.protected java.util.concurrent.ExecutorServicepoolPool of threads to use.protected PseudoReduction<C>redPseudo reduction engine.protected intthreadsNumber of threads to use.-
Fields inherited from class edu.jas.gb.GroebnerBaseAbstract
blas, strategy
-
-
Constructor Summary
Constructors Constructor Description GroebnerBasePseudoParallel(int threads, RingFactory<C> rf)Constructor.GroebnerBasePseudoParallel(int threads, RingFactory<C> rf, PairList<C> pl)Constructor.GroebnerBasePseudoParallel(int threads, RingFactory<C> rf, PseudoReduction<C> red)Constructor.GroebnerBasePseudoParallel(int threads, RingFactory<C> rf, PseudoReduction<C> red, java.util.concurrent.ExecutorService pool)Constructor.GroebnerBasePseudoParallel(int threads, RingFactory<C> rf, PseudoReduction<C> red, java.util.concurrent.ExecutorService pool, PairList<C> pl)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intcancel()Cancel ExecutorService.java.util.List<GenPolynomial<C>>GB(int modv, java.util.List<GenPolynomial<C>> F)Groebner base using pairlist class.java.util.List<GenPolynomial<C>>minimalGB(java.util.List<GenPolynomial<C>> Gp)Minimal ordered Groebner basis.voidterminate()Cleanup and terminate ExecutorService.-
Methods inherited from class edu.jas.gb.GroebnerBaseAbstract
commonZeroTest, constructUnivariate, extGB, extGB, GB, GB, GB, isGB, isGB, isGB, isGB, isGB, isGB, isGBidem, isGBsimple, isMinimalGB, isReductionMatrix, isReductionMatrix, minimalExtendedGB, normalizeMatrix, normalizeZerosOnes, toString, univariateDegrees
-
-
-
-
Field Detail
-
threads
protected final int threads
Number of threads to use.
-
pool
protected final transient java.util.concurrent.ExecutorService pool
Pool of threads to use.
-
engine
protected final GreatestCommonDivisorAbstract<C extends GcdRingElem<C>> engine
Greatest common divisor engine for coefficient content and primitive parts.
-
red
protected final PseudoReduction<C extends GcdRingElem<C>> red
Pseudo reduction engine.
-
cofac
protected final RingFactory<C extends GcdRingElem<C>> cofac
Coefficient ring factory.
-
-
Constructor Detail
-
GroebnerBasePseudoParallel
public GroebnerBasePseudoParallel(int threads, RingFactory<C> rf)
Constructor.- Parameters:
threads- number of threads to use.rf- coefficient ring factory.
-
GroebnerBasePseudoParallel
public GroebnerBasePseudoParallel(int threads, RingFactory<C> rf, PseudoReduction<C> red)
Constructor.- Parameters:
threads- number of threads to use.rf- coefficient ring factory. Note: red must be an instance of PseudoReductionPar.red- pseudo reduction engine.
-
GroebnerBasePseudoParallel
public GroebnerBasePseudoParallel(int threads, RingFactory<C> rf, PseudoReduction<C> red, java.util.concurrent.ExecutorService pool)
Constructor.- Parameters:
threads- number of threads to use.rf- coefficient ring factory. Note: red must be an instance of PseudoReductionPar.red- pseudo reduction engine.pool- ExecutorService to use.
-
GroebnerBasePseudoParallel
public GroebnerBasePseudoParallel(int threads, RingFactory<C> rf, PairList<C> pl)
Constructor.- Parameters:
threads- number of threads to use.rf- coefficient ring factory. Note: red must be an instance of PseudoReductionPar.pl- pair selection strategy
-
GroebnerBasePseudoParallel
public GroebnerBasePseudoParallel(int threads, RingFactory<C> rf, PseudoReduction<C> red, java.util.concurrent.ExecutorService pool, PairList<C> pl)
Constructor.- Parameters:
threads- number of threads to use.rf- coefficient ring factory. Note: red must be an instance of PseudoReductionPar.red- pseudo reduction engine.pool- ExecutorService to use.pl- pair selection strategy
-
-
Method Detail
-
terminate
public void terminate()
Cleanup and terminate ExecutorService.- Overrides:
terminatein classGroebnerBaseAbstract<C extends GcdRingElem<C>>
-
cancel
public int cancel()
Cancel ExecutorService.- Overrides:
cancelin classGroebnerBaseAbstract<C extends GcdRingElem<C>>
-
GB
public java.util.List<GenPolynomial<C>> GB(int modv, java.util.List<GenPolynomial<C>> F)
Groebner base using pairlist class.- Parameters:
modv- module variable number.F- polynomial list.- Returns:
- GB(F) a Groebner base of F.
-
minimalGB
public java.util.List<GenPolynomial<C>> minimalGB(java.util.List<GenPolynomial<C>> Gp)
Minimal ordered Groebner basis.- Specified by:
minimalGBin interfaceGroebnerBase<C extends GcdRingElem<C>>- Overrides:
minimalGBin classGroebnerBaseAbstract<C extends GcdRingElem<C>>- Parameters:
Gp- a Groebner base.- Returns:
- a reduced Groebner base of Gp.
-
-