Package edu.jas.gb

Class OrderedPairlist<C extends RingElem<C>>

    • Field Detail

      • pairlist

        protected final java.util.SortedMap<ExpVector,​java.util.LinkedList<Pair<C extends RingElem<C>>>> pairlist
      • red

        protected final java.util.List<java.util.BitSet> red
      • 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 Detail

      • OrderedPairlist

        public OrderedPairlist()
        Constructor.
      • OrderedPairlist

        public OrderedPairlist​(GenPolynomialRing<C> r)
        Constructor.
        Parameters:
        r - polynomial factory.
      • OrderedPairlist

        public OrderedPairlist​(int m,
                               GenPolynomialRing<C> r)
        Constructor.
        Parameters:
        m - number of module variables.
        r - polynomial factory.
    • Method Detail

      • toString

        public java.lang.String toString()
        toString.
        Specified by:
        toString in interface PairList<C extends RingElem<C>>
        Overrides:
        toString in class java.lang.Object
      • put

        public int put​(GenPolynomial<C> p)
        Put one Polynomial to the pairlist and reduction matrix.
        Specified by:
        put in interface PairList<C extends RingElem<C>>
        Parameters:
        p - polynomial.
        Returns:
        the index of the added polynomial.
      • put

        public int put​(java.util.List<GenPolynomial<C>> F)
        Put all polynomials in F to the pairlist and reduction matrix.
        Specified by:
        put in interface PairList<C extends RingElem<C>>
        Parameters:
        F - polynomial list.
        Returns:
        the index of the last added polynomial.
      • 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-polynomial is required.
        Specified by:
        removeNext in interface PairList<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.
        Specified by:
        hasNext in interface PairList<C extends RingElem<C>>
        Returns:
        true if a next pair could exist, otherwise false.
      • setList

        public void setList​(java.util.List<GenPolynomial<C>> F)
        Set the list of polynomials.
        Specified by:
        setList in interface PairList<C extends RingElem<C>>
        Parameters:
        F - the polynomial list.
      • size

        public int size()
        Get the size of the list of polynomials.
        Specified by:
        size in interface PairList<C extends RingElem<C>>
        Returns:
        size of the polynomial list.
      • putCount

        public int putCount()
        Get the number of polynomials put to the pairlist.
        Specified by:
        putCount in interface PairList<C extends RingElem<C>>
        Returns:
        the number of calls to put.
      • remCount

        public int remCount()
        Get the number of required pairs removed from the pairlist.
        Specified by:
        remCount in interface PairList<C extends RingElem<C>>
        Returns:
        the number of non null pairs delivered.
      • putOne

        public int putOne​(GenPolynomial<C> one)
        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.
        Specified by:
        putOne in interface PairList<C extends RingElem<C>>
        Returns:
        the index of the last polynomial.
      • criterion3

        public boolean criterion3​(int i,
                                  int j,
                                  ExpVector eij)
        GB criterium 3.
        Specified by:
        criterion3 in interface PairList<C extends RingElem<C>>
        Returns:
        true if the S-polynomial(i,j) is required.