edu.jas.ps
Class OrderedPairlist<C extends RingElem<C>>

java.lang.Object
  extended by edu.jas.ps.OrderedPairlist<C>

public class OrderedPairlist<C extends RingElem<C>>
extends java.lang.Object

Pair list management. Implemented using MultiVarPowerSeries, TreeMap and BitSet.

Author:
Heinz Kredel

Field Summary
protected  int moduleVars
           
protected  boolean oneInGB
           
protected  java.util.ArrayList<MultiVarPowerSeries<C>> P
           
protected  java.util.TreeMap<ExpVector,java.util.LinkedList<Pair<C>>> pairlist
           
protected  int putCount
           
protected  java.util.ArrayList<java.util.BitSet> red
           
protected  ReductionSeq<C> reduction
           
protected  int remCount
           
protected  MultiVarPowerSeriesRing<C> ring
           
protected  boolean useCriterion3
           
protected  boolean useCriterion4
           
 
Constructor Summary
OrderedPairlist(int m, MultiVarPowerSeriesRing<C> r)
          Constructor for OrderedPairlist.
OrderedPairlist(MultiVarPowerSeriesRing<C> r)
          Constructor for OrderedPairlist.
 
Method Summary
 boolean criterion3(int i, int j, ExpVector eij)
          GB criterion 3.
 java.util.List<MultiVarPowerSeries<C>> getList()
          Get the list of power series.
 boolean hasNext()
          Test if there is possibly a pair in the list.
 int put(MultiVarPowerSeries<C> p)
          Put one power Series to the pairlist and reduction matrix.
 int putCount()
          Get the number of power series put to the pairlist.
 int putOne()
          Put the ONE-power-series to the pairlist.
 int putOne(MultiVarPowerSeries<C> one)
          Put to ONE-power-series to the pairlist.
 int remCount()
          Get the number of required pairs removed from the pairlist.
 Pair<C> removeNext()
          Remove the next required pair from the pairlist and reduction matrix.
 java.lang.String toString()
          toString.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

P

protected final java.util.ArrayList<MultiVarPowerSeries<C extends RingElem<C>>> P

pairlist

protected final java.util.TreeMap<ExpVector,java.util.LinkedList<Pair<C extends RingElem<C>>>> pairlist

red

protected final java.util.ArrayList<java.util.BitSet> red

ring

protected final MultiVarPowerSeriesRing<C extends RingElem<C>> ring

reduction

protected final ReductionSeq<C extends RingElem<C>> reduction

oneInGB

protected boolean oneInGB

useCriterion4

protected boolean useCriterion4

useCriterion3

protected boolean useCriterion3

putCount

protected int putCount

remCount

protected int remCount

moduleVars

protected final int moduleVars
Constructor Detail

OrderedPairlist

public OrderedPairlist(MultiVarPowerSeriesRing<C> r)
Constructor for OrderedPairlist.

Parameters:
r - power series factory.

OrderedPairlist

public OrderedPairlist(int m,
                       MultiVarPowerSeriesRing<C> r)
Constructor for OrderedPairlist.

Parameters:
m - number of module variables.
r - power series factory.
Method Detail

toString

public java.lang.String toString()
toString.

Overrides:
toString in class java.lang.Object

put

public int put(MultiVarPowerSeries<C> p)
Put one power Series to the pairlist and reduction matrix.

Parameters:
p - power series.
Returns:
the index of the added power series.

removeNext

public Pair<C> removeNext()
Remove the next required pair from the pairlist and reduction matrix. Apply the criterions 3 and 4 to see if the S-power-series is required.

Returns:
the next pair if one exists, otherwise null.

hasNext

public boolean hasNext()
Test if there is possibly a pair in the list.

Returns:
true if a next pair could exist, otherwise false.

getList

public java.util.List<MultiVarPowerSeries<C>> getList()
Get the list of power series.

Returns:
the power series list.

putCount

public int putCount()
Get the number of power series put to the pairlist.

Returns:
the number of calls to put.

remCount

public int remCount()
Get the number of required pairs removed from the pairlist.

Returns:
the number of non null pairs delivered.

putOne

public int putOne(MultiVarPowerSeries<C> one)
Put to ONE-power-series to the pairlist.

Parameters:
one - power series. (no more required)
Returns:
the index of the last power series.

putOne

public int putOne()
Put the ONE-power-series to the pairlist.

Returns:
the index of the last power-series.

criterion3

public boolean criterion3(int i,
                          int j,
                          ExpVector eij)
GB criterion 3.

Returns:
true if the S-power-series(i,j) is required.