Package edu.jas.gb
Class SolvableGroebnerBaseParallel<C extends RingElem<C>>
- java.lang.Object
-
- edu.jas.gb.SolvableGroebnerBaseAbstract<C>
-
- edu.jas.gb.SolvableGroebnerBaseParallel<C>
-
- Type Parameters:
C
- coefficient type
- All Implemented Interfaces:
SolvableGroebnerBase<C>
,java.io.Serializable
public class SolvableGroebnerBaseParallel<C extends RingElem<C>> extends SolvableGroebnerBaseAbstract<C>
Solvable Groebner Base parallel algorithm. Implements a shared memory parallel version of Groebner bases. Threads maintain pairlist.- Author:
- Heinz Kredel
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description SolvableGroebnerBaseParallel()
Constructor.SolvableGroebnerBaseParallel(int threads)
Constructor.SolvableGroebnerBaseParallel(int threads, PairList<C> pl)
Constructor.SolvableGroebnerBaseParallel(int threads, SolvableReduction<C> sred)
Constructor.SolvableGroebnerBaseParallel(int threads, SolvableReduction<C> sred, PairList<C> pl)
Constructor.SolvableGroebnerBaseParallel(int threads, java.util.concurrent.ExecutorService pool)
Constructor.SolvableGroebnerBaseParallel(int threads, java.util.concurrent.ExecutorService pool, SolvableReduction<C> sred)
Constructor.SolvableGroebnerBaseParallel(int threads, java.util.concurrent.ExecutorService pool, SolvableReduction<C> sred, PairList<C> pl)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
cancel()
Cancel ExecutorService.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.void
terminate()
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, 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
-
-
-
-
Constructor Detail
-
SolvableGroebnerBaseParallel
public SolvableGroebnerBaseParallel()
Constructor.
-
SolvableGroebnerBaseParallel
public SolvableGroebnerBaseParallel(int threads)
Constructor.- Parameters:
threads
- number of threads to use.
-
SolvableGroebnerBaseParallel
public SolvableGroebnerBaseParallel(int threads, java.util.concurrent.ExecutorService pool)
Constructor.- Parameters:
threads
- number of threads to use.pool
- ExecutorService to use.
-
SolvableGroebnerBaseParallel
public SolvableGroebnerBaseParallel(int threads, SolvableReduction<C> sred)
Constructor.- Parameters:
threads
- number of threads to use.sred
- parallelism aware reduction engine
-
SolvableGroebnerBaseParallel
public SolvableGroebnerBaseParallel(int threads, PairList<C> pl)
Constructor.- Parameters:
threads
- number of threads to use.pl
- pair selection strategy
-
SolvableGroebnerBaseParallel
public SolvableGroebnerBaseParallel(int threads, SolvableReduction<C> sred, PairList<C> pl)
Constructor.- Parameters:
threads
- number of threads to use.sred
- parallelism aware reduction enginepl
- pair selection strategy
-
SolvableGroebnerBaseParallel
public SolvableGroebnerBaseParallel(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
-
SolvableGroebnerBaseParallel
public SolvableGroebnerBaseParallel(int threads, java.util.concurrent.ExecutorService pool, SolvableReduction<C> sred, PairList<C> pl)
Constructor.- Parameters:
threads
- number of threads to use.pool
- ExecutorService to use.sred
- parallelism aware reduction enginepl
- pair selection strategy
-
-
Method Detail
-
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
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:
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
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.
-
-