Package edu.jas.gbufd
Class GroebnerBasePseudoRecParallel<C extends GcdRingElem<C>>
- java.lang.Object
-
- edu.jas.gb.GroebnerBaseAbstract<GenPolynomial<C>>
-
- edu.jas.gbufd.GroebnerBasePseudoRecParallel<C>
-
- Type Parameters:
C
- coefficient type
- All Implemented Interfaces:
GroebnerBase<GenPolynomial<C>>
,java.io.Serializable
public class GroebnerBasePseudoRecParallel<C extends GcdRingElem<C>> extends GroebnerBaseAbstract<GenPolynomial<C>>
Groebner Base with recursive pseudo reduction multi-threaded parallel algorithm. Implements coefficient fraction free Groebner bases. Coefficients can for example be (commutative) multivariate polynomials.- Author:
- Heinz Kredel
- See Also:
GBAlgorithmBuilder
,GBFactory
, Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected RingFactory<C>
baseCofac
Base coefficient ring factory.protected RingFactory<GenPolynomial<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<GenPolynomial<C>>
red
Pseudo reduction engine.protected PseudoReduction<C>
redRec
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 GroebnerBasePseudoRecParallel(int threads, RingFactory<GenPolynomial<C>> rf)
Constructor.GroebnerBasePseudoRecParallel(int threads, RingFactory<GenPolynomial<C>> rf, PairList<GenPolynomial<C>> pl)
Constructor.GroebnerBasePseudoRecParallel(int threads, RingFactory<GenPolynomial<C>> rf, PseudoReduction<GenPolynomial<C>> red)
Constructor.GroebnerBasePseudoRecParallel(int threads, RingFactory<GenPolynomial<C>> rf, PseudoReduction<GenPolynomial<C>> red, java.util.concurrent.ExecutorService pool)
Constructor.GroebnerBasePseudoRecParallel(int threads, RingFactory<GenPolynomial<C>> rf, PseudoReduction<GenPolynomial<C>> red, java.util.concurrent.ExecutorService pool, PairList<GenPolynomial<C>> pl)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
cancel()
Cancel ExecutorService.java.util.List<GenPolynomial<GenPolynomial<C>>>
GB(int modv, java.util.List<GenPolynomial<GenPolynomial<C>>> F)
Groebner base using pairlist class.boolean
isGBsimple(int modv, java.util.List<GenPolynomial<GenPolynomial<C>>> F)
Groebner base simple test.java.util.List<GenPolynomial<GenPolynomial<C>>>
minimalGB(java.util.List<GenPolynomial<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, 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.
-
redRec
protected final PseudoReduction<C extends GcdRingElem<C>> redRec
Pseudo reduction engine.
-
red
protected final PseudoReduction<GenPolynomial<C extends GcdRingElem<C>>> red
Pseudo reduction engine.
-
cofac
protected final RingFactory<GenPolynomial<C extends GcdRingElem<C>>> cofac
Coefficient ring factory.
-
baseCofac
protected final RingFactory<C extends GcdRingElem<C>> baseCofac
Base coefficient ring factory.
-
-
Constructor Detail
-
GroebnerBasePseudoRecParallel
public GroebnerBasePseudoRecParallel(int threads, RingFactory<GenPolynomial<C>> rf)
Constructor.- Parameters:
threads
- number of threads to use.rf
- coefficient ring factory.
-
GroebnerBasePseudoRecParallel
public GroebnerBasePseudoRecParallel(int threads, RingFactory<GenPolynomial<C>> rf, PseudoReduction<GenPolynomial<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.
-
GroebnerBasePseudoRecParallel
public GroebnerBasePseudoRecParallel(int threads, RingFactory<GenPolynomial<C>> rf, PseudoReduction<GenPolynomial<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.
-
GroebnerBasePseudoRecParallel
public GroebnerBasePseudoRecParallel(int threads, RingFactory<GenPolynomial<C>> rf, PairList<GenPolynomial<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
-
GroebnerBasePseudoRecParallel
public GroebnerBasePseudoRecParallel(int threads, RingFactory<GenPolynomial<C>> rf, PseudoReduction<GenPolynomial<C>> red, java.util.concurrent.ExecutorService pool, PairList<GenPolynomial<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<GenPolynomial<C extends GcdRingElem<C>>>
-
cancel
public int cancel()
Cancel ExecutorService.- Overrides:
cancel
in classGroebnerBaseAbstract<GenPolynomial<C extends GcdRingElem<C>>>
-
GB
public java.util.List<GenPolynomial<GenPolynomial<C>>> GB(int modv, java.util.List<GenPolynomial<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<GenPolynomial<C>>> minimalGB(java.util.List<GenPolynomial<GenPolynomial<C>>> Gp)
Minimal ordered Groebner basis.- Specified by:
minimalGB
in interfaceGroebnerBase<C extends GcdRingElem<C>>
- Overrides:
minimalGB
in classGroebnerBaseAbstract<GenPolynomial<C extends GcdRingElem<C>>>
- Parameters:
Gp
- a Groebner base.- Returns:
- a reduced Groebner base of Gp.
-
isGBsimple
public boolean isGBsimple(int modv, java.util.List<GenPolynomial<GenPolynomial<C>>> F)
Groebner base simple test.- Overrides:
isGBsimple
in classGroebnerBaseAbstract<GenPolynomial<C extends GcdRingElem<C>>>
- Parameters:
modv
- module variable number.F
- recursive polynomial list.- Returns:
- true, if F is a Groebner base, else false.
-
-