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>,java.io.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.- Author:
- Heinz Kredel
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description SolvableGroebnerBaseSeqPairParallel()Constructor.SolvableGroebnerBaseSeqPairParallel(int threads)Constructor.SolvableGroebnerBaseSeqPairParallel(int threads, SolvableReduction<C> red)Constructor.SolvableGroebnerBaseSeqPairParallel(int threads, java.util.concurrent.ExecutorService pool)Constructor.SolvableGroebnerBaseSeqPairParallel(int threads, java.util.concurrent.ExecutorService pool, SolvableReduction<C> sred)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intcancel()Cancel ExecutorService.SolvableExtendedGB<C>extLeftGB(int modv, java.util.List<GenSolvablePolynomial<C>> F)Solvable Extended Groebner base using critical pair class.java.util.List<GenSolvablePolynomial<C>>leftGB(int modv, java.util.List<GenSolvablePolynomial<C>> F)Parallel Groebner base using sequential pair order class.java.util.List<GenSolvablePolynomial<C>>leftMinimalGB(java.util.List<GenSolvablePolynomial<C>> Fp)Minimal ordered groebner basis, parallel.voidterminate()Cleanup and terminate ExecutorService.java.util.List<GenSolvablePolynomial<C>>twosidedGB(int modv, java.util.List<GenSolvablePolynomial<C>> Fp)Twosided Groebner base using pairlist class.-
Methods inherited from class edu.jas.gb.SolvableGroebnerBaseAbstract
commonZeroTest, constructUnivariate, constructUnivariate, extLeftGB, 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
-
-
-
-
Constructor Detail
-
SolvableGroebnerBaseSeqPairParallel
public SolvableGroebnerBaseSeqPairParallel()
Constructor.
-
SolvableGroebnerBaseSeqPairParallel
public SolvableGroebnerBaseSeqPairParallel(int threads)
Constructor.- Parameters:
threads- number of threads to use.
-
SolvableGroebnerBaseSeqPairParallel
public SolvableGroebnerBaseSeqPairParallel(int threads, java.util.concurrent.ExecutorService pool)
Constructor.- Parameters:
threads- number of threads to use.pool- ExecutorService to use.
-
SolvableGroebnerBaseSeqPairParallel
public SolvableGroebnerBaseSeqPairParallel(int threads, SolvableReduction<C> red)
Constructor.- Parameters:
threads- number of threads to use.red- parallelism aware reduction engine
-
SolvableGroebnerBaseSeqPairParallel
public SolvableGroebnerBaseSeqPairParallel(int threads, java.util.concurrent.ExecutorService pool, SolvableReduction<C> sred)
Constructor.- Parameters:
threads- number of threads to use.pool- ExecutorService to use.sred- parallelism aware reduction engine
-
-
Method Detail
-
terminate
public void terminate()
Cleanup and terminate ExecutorService.- Overrides:
terminatein classSolvableGroebnerBaseAbstract<C extends RingElem<C>>
-
cancel
public int cancel()
Cancel ExecutorService.- Overrides:
cancelin classSolvableGroebnerBaseAbstract<C extends RingElem<C>>
-
leftGB
public java.util.List<GenSolvablePolynomial<C>> leftGB(int modv, java.util.List<GenSolvablePolynomial<C>> F)
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
public java.util.List<GenSolvablePolynomial<C>> leftMinimalGB(java.util.List<GenSolvablePolynomial<C>> Fp)
Minimal ordered groebner basis, parallel.- Specified by:
leftMinimalGBin interfaceSolvableGroebnerBase<C extends RingElem<C>>- Overrides:
leftMinimalGBin classSolvableGroebnerBaseAbstract<C extends RingElem<C>>- Parameters:
Fp- a Groebner base.- Returns:
- minimalGB(F) a minimal Groebner base of Fp.
-
extLeftGB
public SolvableExtendedGB<C> extLeftGB(int modv, java.util.List<GenSolvablePolynomial<C>> F)
Solvable Extended Groebner base using critical pair class.- Specified by:
extLeftGBin interfaceSolvableGroebnerBase<C extends RingElem<C>>- Overrides:
extLeftGBin classSolvableGroebnerBaseAbstract<C extends RingElem<C>>- Parameters:
modv- module variable number.F- solvable polynomial list.- Returns:
- a container for an extended left Groebner base of F.
-
twosidedGB
public java.util.List<GenSolvablePolynomial<C>> twosidedGB(int modv, java.util.List<GenSolvablePolynomial<C>> Fp)
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.
-
-