Package edu.jas.gb
Class SolvableGroebnerBaseSeqPairParallel<C extends RingElem<C>>
java.lang.Object
edu.jas.gb.SolvableGroebnerBaseAbstract<C>
edu.jas.gb.SolvableGroebnerBaseSeqPairParallel<C>
- Type Parameters:
C
- coefficient type
- All Implemented Interfaces:
SolvableGroebnerBase<C>
,Serializable
public class SolvableGroebnerBaseSeqPairParallel<C extends RingElem<C>>
extends SolvableGroebnerBaseAbstract<C>
Solvable Groebner Base parallel algorithm. Makes some effort to produce the
same sequence of critical pairs as in the sequential version. However already
reduced pairs are not rereduced if new polynomials appear. Implements a
shared memory parallel version of Groebner bases. Threads maintain pairlist.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final org.apache.logging.log4j.Logger
protected final ExecutorService
Pool of threads to use.protected final int
Number of threads to use. -
Constructor Summary
ConstructorsConstructorDescriptionConstructor.SolvableGroebnerBaseSeqPairParallel
(int threads) Constructor.SolvableGroebnerBaseSeqPairParallel
(int threads, SolvableReduction<C> red) Constructor.SolvableGroebnerBaseSeqPairParallel
(int threads, ExecutorService pool) Constructor.SolvableGroebnerBaseSeqPairParallel
(int threads, ExecutorService pool, SolvableReduction<C> sred) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionint
cancel()
Cancel ExecutorService.leftGB
(int modv, List<GenSolvablePolynomial<C>> F) Parallel Groebner base using sequential pair order class.Minimal ordered groebner basis, parallel.void
Cleanup and terminate ExecutorService.twosidedGB
(int modv, List<GenSolvablePolynomial<C>> Fp) Twosided Groebner base using pairlist class.Methods inherited from class edu.jas.gb.SolvableGroebnerBaseAbstract
commonZeroTest, constructUnivariate, constructUnivariate, extLeftGB, extLeftGB, extRightGB, extRightGB, isLeftGB, isLeftGB, isLeftGB, isLeftGB, isLeftGB, isLeftGB, isLeftGBidem, isLeftGBsimple, isLeftReductionMatrix, isLeftReductionMatrix, isRightGB, isRightGB, isRightGB, isRightGB, isRightGBidem, isRightGBidem, isTwosidedGB, isTwosidedGB, isTwosidedGB, isTwosidedGB, isTwosidedGBidem, isTwosidedGBidem, leftGB, leftGB, leftGB, normalizeZerosOnes, rightGB, rightGB, rightGB, rightMinimalGB, twosidedGB, twosidedGB, twosidedGB, univariateDegrees
-
Field Details
-
logger
private static final org.apache.logging.log4j.Logger logger -
threads
protected final int threadsNumber of threads to use. -
pool
Pool of threads to use.
-
-
Constructor Details
-
SolvableGroebnerBaseSeqPairParallel
public SolvableGroebnerBaseSeqPairParallel()Constructor. -
SolvableGroebnerBaseSeqPairParallel
public SolvableGroebnerBaseSeqPairParallel(int threads) Constructor.- Parameters:
threads
- number of threads to use.
-
SolvableGroebnerBaseSeqPairParallel
Constructor.- Parameters:
threads
- number of threads to use.pool
- ExecutorService to use.
-
SolvableGroebnerBaseSeqPairParallel
Constructor.- Parameters:
threads
- number of threads to use.red
- parallelism aware reduction engine
-
SolvableGroebnerBaseSeqPairParallel
public SolvableGroebnerBaseSeqPairParallel(int threads, ExecutorService pool, SolvableReduction<C> sred) Constructor.- Parameters:
threads
- number of threads to use.pool
- ExecutorService to use.sred
- parallelism aware reduction engine
-
-
Method Details
-
terminate
public void terminate()Cleanup and terminate ExecutorService.- Overrides:
terminate
in classSolvableGroebnerBaseAbstract<C extends RingElem<C>>
-
cancel
public int cancel()Cancel ExecutorService.- Overrides:
cancel
in classSolvableGroebnerBaseAbstract<C extends RingElem<C>>
-
leftGB
Parallel Groebner base using sequential pair order class. Threads maintain pairlist.- Parameters:
modv
- number of module variables.F
- polynomial list.- Returns:
- GB(F) a Groebner base of F.
-
leftMinimalGB
Minimal ordered groebner basis, parallel.- Specified by:
leftMinimalGB
in interfaceSolvableGroebnerBase<C extends RingElem<C>>
- Overrides:
leftMinimalGB
in classSolvableGroebnerBaseAbstract<C extends RingElem<C>>
- Parameters:
Fp
- a Groebner base.- Returns:
- minimalGB(F) a minimal Groebner base of Fp.
-
twosidedGB
Twosided Groebner base using pairlist class.- Parameters:
modv
- number of module variables.Fp
- solvable polynomial list.- Returns:
- tsGB(Fp) a twosided Groebner base of F.
-