Package edu.jas.gb

Class SigReductionSeq<C extends RingElem<C>>

  • Type Parameters:
    C - coefficient type
    All Implemented Interfaces:
    SigReduction<C>, java.io.Serializable

    public class SigReductionSeq<C extends RingElem<C>>
    extends java.lang.Object
    implements SigReduction<C>
    Polynomial SigReduction class. Implements common S-Polynomial, normalform with respect to signatures.
    Author:
    Heinz Kredel
    See Also:
    Serialized Form
    • Method Detail

      • SPolynomialHalf

        public GenPolynomial<CSPolynomialHalf​(SigPoly<C> A,
                                                SigPoly<C> B)
        S-Polynomial half.
        Parameters:
        A - monic polynomial.
        B - monic polynomial.
        Returns:
        e*A "half" of an S-polynomial such that spol(A,B) = e*A - f*B.
      • SPolynomialFactors

        public GenPolynomial<C>[] SPolynomialFactors​(SigPoly<C> A,
                                                     SigPoly<C> B)
        S-Polynomial polynomial factors.
        Parameters:
        A - monic polynomial.
        B - monic polynomial.
        Returns:
        polynomials [e,f] such that spol(A,B) = e*a - f*B.
      • isSigReducible

        public boolean isSigReducible​(java.util.List<SigPoly<C>> F,
                                      java.util.List<SigPoly<C>> G,
                                      SigPoly<C> A)
        Is top reducible. Condition is lt(B) | lt(A) for some B in F or G.
        Specified by:
        isSigReducible in interface SigReduction<C extends RingElem<C>>
        Parameters:
        A - polynomial.
        F - polynomial list.
        G - polynomial list.
        Returns:
        true if A is top reducible with respect to F and G.
      • isSigRedundant

        public boolean isSigRedundant​(java.util.List<SigPoly<C>> G,
                                      SigPoly<C> A)
        Is sigma redundant.
        Parameters:
        A - polynomial.
        G - polynomial list.
        Returns:
        true if A is sigma redundant with respect to G.
      • isSigRedundantAlt

        public boolean isSigRedundantAlt​(java.util.List<SigPoly<C>> G,
                                         SigPoly<C> A)
        Is sigma redundant, alternative algorithm.
        Parameters:
        A - polynomial.
        G - polynomial list.
        Returns:
        true if A is sigma redundant per alternative algorithm with respect to G.
      • sigSemiNormalform

        public SigPoly<CsigSemiNormalform​(java.util.List<GenPolynomial<C>> F,
                                            java.util.List<SigPoly<C>> G,
                                            SigPoly<C> A)
        Top semi-complete normalform.
        Parameters:
        A - polynomial.
        F - polynomial list.
        G - polynomial list.
        Returns:
        nf(A) with respect to F and G.
      • polys

        public java.util.List<GenPolynomial<C>> polys​(java.util.List<SigPoly<C>> F)
        Select polynomials.
        Parameters:
        F - list of signature polynomials.
        Returns:
        the polynomials in F.
      • sigmas

        public java.util.List<GenPolynomial<C>> sigmas​(java.util.List<SigPair<C>> F)
        Select signatures.
        Parameters:
        F - list of signature polynomials.
        Returns:
        the signatures in F.
      • minimalSigDegree

        public long minimalSigDegree​(java.util.List<SigPair<C>> F)
        Minimal degree of signatures.
        Parameters:
        F - list of signature polynomials.
        Returns:
        the minimal degree of the signatures in F.
      • minDegSubset

        public java.util.List<SigPair<C>>[] minDegSubset​(java.util.List<SigPair<C>> F)
        Select signature polynomials of minimal degree and non minimal degree.
        Parameters:
        F - list of signature polynomials.
        Returns:
        [m,p] where m is the list of signature polynomials of F of minimal degree and p contains the rest of the signature polynomials with non minimal degree.
      • sortSigma

        public java.util.List<SigPair<C>> sortSigma​(java.util.List<SigPair<C>> F)
        Sort signature polynomials according to the degree its signatures.
        Parameters:
        F - list of signature polynomials.
        Returns:
        list of signature polynomials sorted by degree of sigma.