Package edu.jas.gbufd
Class GroebnerBasePseudoRecParallel<C extends GcdRingElem<C>>
- Type Parameters:
C
- coefficient type
- All Implemented Interfaces:
GroebnerBase<GenPolynomial<C>>
,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.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final RingFactory
<C> Base coefficient ring factory.protected final RingFactory
<GenPolynomial<C>> Coefficient ring factory.private static final boolean
protected final GreatestCommonDivisorAbstract
<C> Greatest common divisor engine for coefficient content and primitive parts.private static final org.apache.logging.log4j.Logger
protected final ExecutorService
Pool of threads to use.protected final PseudoReduction
<GenPolynomial<C>> Pseudo reduction engine.protected final PseudoReduction
<C> Pseudo reduction engine.protected final int
Number of threads to use.Fields inherited from class edu.jas.gb.GroebnerBaseAbstract
blas, strategy
-
Constructor Summary
ConstructorsConstructorDescriptionGroebnerBasePseudoRecParallel
(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, ExecutorService pool) Constructor.GroebnerBasePseudoRecParallel
(int threads, RingFactory<GenPolynomial<C>> rf, PseudoReduction<GenPolynomial<C>> red, ExecutorService pool, PairList<GenPolynomial<C>> pl) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionint
cancel()
Cancel ExecutorService.GB
(int modv, List<GenPolynomial<GenPolynomial<C>>> F) Groebner base using pairlist class.boolean
isGBsimple
(int modv, List<GenPolynomial<GenPolynomial<C>>> F) Groebner base simple test.minimalGB
(List<GenPolynomial<GenPolynomial<C>>> Gp) Minimal ordered Groebner basis.void
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 Details
-
logger
private static final org.apache.logging.log4j.Logger logger -
debug
private static final boolean debug -
threads
protected final int threadsNumber of threads to use. -
pool
Pool of threads to use. -
engine
Greatest common divisor engine for coefficient content and primitive parts. -
redRec
Pseudo reduction engine. -
red
Pseudo reduction engine. -
cofac
Coefficient ring factory. -
baseCofac
Base coefficient ring factory.
-
-
Constructor Details
-
GroebnerBasePseudoRecParallel
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, 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, 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 Details
-
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
Groebner base using pairlist class.- Parameters:
modv
- module variable number.F
- polynomial list.- Returns:
- GB(F) a Groebner base of F.
-
minimalGB
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
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.
-