Package edu.jas.gb
Class OrderedPairlist<C extends RingElem<C>>
java.lang.Object
edu.jas.gb.OrderedPairlist<C>
- All Implemented Interfaces:
PairList<C>
,Serializable
- Direct Known Subclasses:
CriticalPairList
,OrderedDPairlist
,OrderedMinPairlist
,OrderedRPairlist
,OrderedSyzPairlist
Pair list management. The original Buchberger algorithm with criterions
following Winkler in SAC-1, Kredel in ALDES/SAC-2, Kredel in MAS. Implemented
using GenPolynomial, TreeMap and BitSet.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final org.apache.logging.log4j.Logger
protected final int
protected boolean
protected final List
<GenPolynomial<C>> protected final SortedMap
<ExpVector, LinkedList<Pair<C>>> protected int
protected int
protected final GenPolynomialRing
<C> protected boolean
-
Constructor Summary
ConstructorsConstructorDescriptionConstructor.OrderedPairlist
(int m, GenPolynomialRing<C> r) Constructor.Constructor. -
Method Summary
Modifier and TypeMethodDescriptioncreate
(int m, GenPolynomialRing<C> r) Create a new PairList.create
(GenPolynomialRing<C> r) Create a new PairList.boolean
criterion3
(int i, int j, ExpVector eij) GB criterium 3.getList()
Get the list of polynomials.getRing()
Get polynomial ring.boolean
hasNext()
Test if there is possibly a pair in the list.int
put
(GenPolynomial<C> p) Put one Polynomial to the pairlist and reduction matrix.int
put
(List<GenPolynomial<C>> F) Put all polynomials in F to the pairlist and reduction matrix.int
putCount()
Get the number of polynomials put to the pairlist.int
putOne()
Put the ONE-Polynomial to the pairlist.int
putOne
(GenPolynomial<C> one) Put the ONE-Polynomial to the pairlist.int
remCount()
Get the number of required pairs removed from the pairlist.Remove the next required pair from the pairlist and reduction matrix.void
setList
(List<GenPolynomial<C>> F) Set the list of polynomials.int
size()
Get the size of the list of polynomials.toString()
toString.
-
Field Details
-
P
-
pairlist
-
red
-
ring
-
reduction
-
oneInGB
protected boolean oneInGB -
useCriterion4
protected boolean useCriterion4 -
putCount
protected int putCount -
remCount
protected int remCount -
moduleVars
protected final int moduleVars -
logger
private static final org.apache.logging.log4j.Logger logger
-
-
Constructor Details
-
OrderedPairlist
public OrderedPairlist()Constructor. -
OrderedPairlist
Constructor.- Parameters:
r
- polynomial factory.
-
OrderedPairlist
Constructor.- Parameters:
m
- number of module variables.r
- polynomial factory.
-
-
Method Details
-
create
Create a new PairList. -
create
Create a new PairList. -
getRing
Get polynomial ring. -
toString
toString. -
put
Put one Polynomial to the pairlist and reduction matrix. -
put
Put all polynomials in F to the pairlist and reduction matrix. -
removeNext
Remove the next required pair from the pairlist and reduction matrix. Apply the criterions 3 and 4 to see if the S-polynomial is required.- Specified by:
removeNext
in interfacePairList<C extends RingElem<C>>
- Returns:
- the next pair if one exists, otherwise null.
-
hasNext
public boolean hasNext()Test if there is possibly a pair in the list. -
getList
Get the list of polynomials. -
setList
Set the list of polynomials. -
size
public int size()Get the size of the list of polynomials. -
putCount
public int putCount()Get the number of polynomials put to the pairlist. -
remCount
public int remCount()Get the number of required pairs removed from the pairlist. -
putOne
Put the ONE-Polynomial to the pairlist.- Parameters:
one
- polynomial. (no more required)- Returns:
- the index of the last polynomial.
-
putOne
public int putOne()Put the ONE-Polynomial to the pairlist. -
criterion3
GB criterium 3.- Specified by:
criterion3
in interfacePairList<C extends RingElem<C>>
- Returns:
- true if the S-polynomial(i,j) is required.
-