Package edu.jas.gb
Class GroebnerBaseParallel<C extends RingElem<C>>
- java.lang.Object
-
- edu.jas.gb.GroebnerBaseAbstract<C>
-
- edu.jas.gb.GroebnerBaseParallel<C>
-
- Type Parameters:
C
- coefficient type
- All Implemented Interfaces:
GroebnerBase<C>
,java.io.Serializable
public class GroebnerBaseParallel<C extends RingElem<C>> extends GroebnerBaseAbstract<C>
Groebner Base parallel algorithm. Implements a shared memory parallel version of Groebner bases.- See Also:
GBAlgorithmBuilder
,GBFactory
, Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description private static org.apache.logging.log4j.Logger
logger
protected java.util.concurrent.ExecutorService
pool
Pool of threads to use.protected int
threads
Number of threads to use.-
Fields inherited from class edu.jas.gb.GroebnerBaseAbstract
blas, red, strategy
-
-
Constructor Summary
Constructors Constructor Description GroebnerBaseParallel()
Constructor.GroebnerBaseParallel(int threads)
Constructor.GroebnerBaseParallel(int threads, PairList<C> pl)
Constructor.GroebnerBaseParallel(int threads, Reduction<C> red)
Constructor.GroebnerBaseParallel(int threads, Reduction<C> red, PairList<C> pl)
Constructor.GroebnerBaseParallel(int threads, java.util.concurrent.ExecutorService pool)
Constructor.GroebnerBaseParallel(int threads, java.util.concurrent.ExecutorService pool, Reduction<C> red)
Constructor.GroebnerBaseParallel(int threads, java.util.concurrent.ExecutorService pool, Reduction<C> red, PairList<C> pl)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
cancel()
Cancel ExecutorService.java.util.List<GenPolynomial<C>>
GB(int modv, java.util.List<GenPolynomial<C>> F)
Parallel Groebner base using pairlist class.java.util.List<GenPolynomial<C>>
minimalGB(java.util.List<GenPolynomial<C>> Fp)
Minimal ordered groebner basis, parallel.void
terminate()
Cleanup and terminate ExecutorService.-
Methods inherited from class edu.jas.gb.GroebnerBaseAbstract
commonZeroTest, constructUnivariate, criterion3, extGB, extGB, GB, GB, GB, isGB, isGB, isGB, isGB, isGB, isGB, isGBidem, isGBsimple, isMinimalGB, isMinReductionMatrix, isMinReductionMatrix, isReductionMatrix, isReductionMatrix, minimalExtendedGB, normalizeMatrix, normalizeZerosOnes, toString, univariateDegrees
-
-
-
-
Constructor Detail
-
GroebnerBaseParallel
public GroebnerBaseParallel()
Constructor.
-
GroebnerBaseParallel
public GroebnerBaseParallel(int threads)
Constructor.- Parameters:
threads
- number of threads to use.
-
GroebnerBaseParallel
public GroebnerBaseParallel(int threads, Reduction<C> red)
Constructor.- Parameters:
threads
- number of threads to use.red
- parallelism aware reduction engine
-
GroebnerBaseParallel
public GroebnerBaseParallel(int threads, PairList<C> pl)
Constructor.- Parameters:
threads
- number of threads to use.pl
- pair selection strategy
-
GroebnerBaseParallel
public GroebnerBaseParallel(int threads, java.util.concurrent.ExecutorService pool)
Constructor.- Parameters:
threads
- number of threads to use.pool
- ThreadPool to use.
-
GroebnerBaseParallel
public GroebnerBaseParallel(int threads, java.util.concurrent.ExecutorService pool, Reduction<C> red)
Constructor.- Parameters:
pool
- ThreadPool to use.red
- Reduction engine
-
GroebnerBaseParallel
public GroebnerBaseParallel(int threads, Reduction<C> red, PairList<C> pl)
Constructor.- Parameters:
red
- Reduction enginepl
- pair selection strategy
-
GroebnerBaseParallel
public GroebnerBaseParallel(int threads, java.util.concurrent.ExecutorService pool, Reduction<C> red, PairList<C> pl)
Constructor.- Parameters:
threads
- number of threads to use.pool
- ExecutorService to use.red
- parallelism aware reduction enginepl
- pair selection strategy
-
-
Method Detail
-
terminate
public void terminate()
Cleanup and terminate ExecutorService.- Overrides:
terminate
in classGroebnerBaseAbstract<C extends RingElem<C>>
-
cancel
public int cancel()
Cancel ExecutorService.- Overrides:
cancel
in classGroebnerBaseAbstract<C extends RingElem<C>>
-
GB
public java.util.List<GenPolynomial<C>> GB(int modv, java.util.List<GenPolynomial<C>> F)
Parallel Groebner base using pairlist class.- Parameters:
modv
- number of module variables.F
- polynomial list.- Returns:
- GB(F) a Groebner base of F.
-
minimalGB
public java.util.List<GenPolynomial<C>> minimalGB(java.util.List<GenPolynomial<C>> Fp)
Minimal ordered groebner basis, parallel.- Specified by:
minimalGB
in interfaceGroebnerBase<C extends RingElem<C>>
- Overrides:
minimalGB
in classGroebnerBaseAbstract<C extends RingElem<C>>
- Parameters:
Fp
- a Groebner base.- Returns:
- minimalGB(F) a minimal Groebner base of Fp.
-
-