Package edu.jas.gbufd
Class GroebnerBasePseudoRecParallel<C extends GcdRingElem<C>>
- java.lang.Object
-
- edu.jas.gb.GroebnerBaseAbstract<GenPolynomial<C>>
-
- edu.jas.gbufd.GroebnerBasePseudoRecParallel<C>
-
- Type Parameters:
C- coefficient type
- All Implemented Interfaces:
GroebnerBase<GenPolynomial<C>>,java.io.Serializable
public class GroebnerBasePseudoRecParallel<C extends GcdRingElem<C>> extends GroebnerBaseAbstract<GenPolynomial<C>>
Groebner Base with recursive pseudo reduction multi-threaded parallel algorithm. Implements coefficient fraction free Groebner bases. Coefficients can for example be (commutative) multivariate polynomials.- Author:
- Heinz Kredel
- See Also:
GBAlgorithmBuilder,GBFactory, Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected RingFactory<C>baseCofacBase coefficient ring factory.protected RingFactory<GenPolynomial<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<GenPolynomial<C>>redPseudo reduction engine.protected PseudoReduction<C>redRecPseudo reduction engine.protected intthreadsNumber of threads to use.-
Fields inherited from class edu.jas.gb.GroebnerBaseAbstract
blas, strategy
-
-
Constructor Summary
Constructors Constructor Description GroebnerBasePseudoRecParallel(int threads, RingFactory<GenPolynomial<C>> rf)Constructor.GroebnerBasePseudoRecParallel(int threads, RingFactory<GenPolynomial<C>> rf, PairList<GenPolynomial<C>> pl)Constructor.GroebnerBasePseudoRecParallel(int threads, RingFactory<GenPolynomial<C>> rf, PseudoReduction<GenPolynomial<C>> red)Constructor.GroebnerBasePseudoRecParallel(int threads, RingFactory<GenPolynomial<C>> rf, PseudoReduction<GenPolynomial<C>> red, java.util.concurrent.ExecutorService pool)Constructor.GroebnerBasePseudoRecParallel(int threads, RingFactory<GenPolynomial<C>> rf, PseudoReduction<GenPolynomial<C>> red, java.util.concurrent.ExecutorService pool, PairList<GenPolynomial<C>> pl)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intcancel()Cancel ExecutorService.java.util.List<GenPolynomial<GenPolynomial<C>>>GB(int modv, java.util.List<GenPolynomial<GenPolynomial<C>>> F)Groebner base using pairlist class.booleanisGBsimple(int modv, java.util.List<GenPolynomial<GenPolynomial<C>>> F)Groebner base simple test.java.util.List<GenPolynomial<GenPolynomial<C>>>minimalGB(java.util.List<GenPolynomial<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, 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.
-
redRec
protected final PseudoReduction<C extends GcdRingElem<C>> redRec
Pseudo reduction engine.
-
red
protected final PseudoReduction<GenPolynomial<C extends GcdRingElem<C>>> red
Pseudo reduction engine.
-
cofac
protected final RingFactory<GenPolynomial<C extends GcdRingElem<C>>> cofac
Coefficient ring factory.
-
baseCofac
protected final RingFactory<C extends GcdRingElem<C>> baseCofac
Base coefficient ring factory.
-
-
Constructor Detail
-
GroebnerBasePseudoRecParallel
public GroebnerBasePseudoRecParallel(int threads, RingFactory<GenPolynomial<C>> rf)
Constructor.- Parameters:
threads- number of threads to use.rf- coefficient ring factory.
-
GroebnerBasePseudoRecParallel
public GroebnerBasePseudoRecParallel(int threads, RingFactory<GenPolynomial<C>> rf, PseudoReduction<GenPolynomial<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.
-
GroebnerBasePseudoRecParallel
public GroebnerBasePseudoRecParallel(int threads, RingFactory<GenPolynomial<C>> rf, PseudoReduction<GenPolynomial<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.
-
GroebnerBasePseudoRecParallel
public GroebnerBasePseudoRecParallel(int threads, RingFactory<GenPolynomial<C>> rf, PairList<GenPolynomial<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
-
GroebnerBasePseudoRecParallel
public GroebnerBasePseudoRecParallel(int threads, RingFactory<GenPolynomial<C>> rf, PseudoReduction<GenPolynomial<C>> red, java.util.concurrent.ExecutorService pool, PairList<GenPolynomial<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<GenPolynomial<C extends GcdRingElem<C>>>
-
cancel
public int cancel()
Cancel ExecutorService.- Overrides:
cancelin classGroebnerBaseAbstract<GenPolynomial<C extends GcdRingElem<C>>>
-
GB
public java.util.List<GenPolynomial<GenPolynomial<C>>> GB(int modv, java.util.List<GenPolynomial<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<GenPolynomial<C>>> minimalGB(java.util.List<GenPolynomial<GenPolynomial<C>>> Gp)
Minimal ordered Groebner basis.- Specified by:
minimalGBin interfaceGroebnerBase<C extends GcdRingElem<C>>- Overrides:
minimalGBin classGroebnerBaseAbstract<GenPolynomial<C extends GcdRingElem<C>>>- Parameters:
Gp- a Groebner base.- Returns:
- a reduced Groebner base of Gp.
-
isGBsimple
public boolean isGBsimple(int modv, java.util.List<GenPolynomial<GenPolynomial<C>>> F)
Groebner base simple test.- Overrides:
isGBsimplein classGroebnerBaseAbstract<GenPolynomial<C extends GcdRingElem<C>>>- Parameters:
modv- module variable number.F- recursive polynomial list.- Returns:
- true, if F is a Groebner base, else false.
-
-