Package edu.jas.gbufd
Class GroebnerBasePseudoParallel<C extends GcdRingElem<C>>
- java.lang.Object
-
- edu.jas.gb.GroebnerBaseAbstract<C>
-
- edu.jas.gbufd.GroebnerBasePseudoParallel<C>
-
- Type Parameters:
C
- coefficient type
- All Implemented Interfaces:
GroebnerBase<C>
,java.io.Serializable
public class GroebnerBasePseudoParallel<C extends GcdRingElem<C>> extends GroebnerBaseAbstract<C>
Groebner Base with pseudo reduction multi-threaded parallel algorithm. Implements coefficient fraction free Groebner bases. Coefficients can for example be integers or (commutative) univariate polynomials.- Author:
- Heinz Kredel
- See Also:
GBAlgorithmBuilder
,GBFactory
, Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected RingFactory<C>
cofac
Coefficient ring factory.protected GreatestCommonDivisorAbstract<C>
engine
Greatest common divisor engine for coefficient content and primitive parts.protected java.util.concurrent.ExecutorService
pool
Pool of threads to use.protected PseudoReduction<C>
red
Pseudo reduction engine.protected int
threads
Number of threads to use.-
Fields inherited from class edu.jas.gb.GroebnerBaseAbstract
blas, strategy
-
-
Constructor Summary
Constructors Constructor Description GroebnerBasePseudoParallel(int threads, RingFactory<C> rf)
Constructor.GroebnerBasePseudoParallel(int threads, RingFactory<C> rf, PairList<C> pl)
Constructor.GroebnerBasePseudoParallel(int threads, RingFactory<C> rf, PseudoReduction<C> red)
Constructor.GroebnerBasePseudoParallel(int threads, RingFactory<C> rf, PseudoReduction<C> red, java.util.concurrent.ExecutorService pool)
Constructor.GroebnerBasePseudoParallel(int threads, RingFactory<C> rf, PseudoReduction<C> red, java.util.concurrent.ExecutorService pool, 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)
Groebner base using pairlist class.java.util.List<GenPolynomial<C>>
minimalGB(java.util.List<GenPolynomial<C>> Gp)
Minimal ordered Groebner basis.void
terminate()
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, isGBsimple, isMinimalGB, isMinReductionMatrix, isMinReductionMatrix, 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.
-
red
protected final PseudoReduction<C extends GcdRingElem<C>> red
Pseudo reduction engine.
-
cofac
protected final RingFactory<C extends GcdRingElem<C>> cofac
Coefficient ring factory.
-
-
Constructor Detail
-
GroebnerBasePseudoParallel
public GroebnerBasePseudoParallel(int threads, RingFactory<C> rf)
Constructor.- Parameters:
threads
- number of threads to use.rf
- coefficient ring factory.
-
GroebnerBasePseudoParallel
public GroebnerBasePseudoParallel(int threads, RingFactory<C> rf, PseudoReduction<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.
-
GroebnerBasePseudoParallel
public GroebnerBasePseudoParallel(int threads, RingFactory<C> rf, PseudoReduction<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.
-
GroebnerBasePseudoParallel
public GroebnerBasePseudoParallel(int threads, RingFactory<C> rf, PairList<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
-
GroebnerBasePseudoParallel
public GroebnerBasePseudoParallel(int threads, RingFactory<C> rf, PseudoReduction<C> red, java.util.concurrent.ExecutorService pool, PairList<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:
terminate
in classGroebnerBaseAbstract<C extends GcdRingElem<C>>
-
cancel
public int cancel()
Cancel ExecutorService.- Overrides:
cancel
in classGroebnerBaseAbstract<C extends GcdRingElem<C>>
-
GB
public java.util.List<GenPolynomial<C>> GB(int modv, java.util.List<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<C>> minimalGB(java.util.List<GenPolynomial<C>> Gp)
Minimal ordered Groebner basis.- Specified by:
minimalGB
in interfaceGroebnerBase<C extends GcdRingElem<C>>
- Overrides:
minimalGB
in classGroebnerBaseAbstract<C extends GcdRingElem<C>>
- Parameters:
Gp
- a Groebner base.- Returns:
- a reduced Groebner base of Gp.
-
-