Class ResidueRing<C extends GcdRingElem<C>>

    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected GreatestCommonDivisor<C> engine
      Greatest common divisor engine for coefficient content and primitive parts.
      Ideal<C> ideal
      Polynomial ideal for the reduction.
      protected int isField
      Indicator if this ring is a field.
      private static org.apache.logging.log4j.Logger logger  
      GenPolynomialRing<C> ring
      Polynomial ring of the factory.
    • Constructor Summary

      Constructors 
      Constructor Description
      ResidueRing​(Ideal<C> i)
      The constructor creates a ResidueRing object from an Ideal.
      ResidueRing​(Ideal<C> i, boolean isMaximal)
      The constructor creates a ResidueRing object from an Ideal.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.math.BigInteger characteristic()
      Characteristic of this ring.
      Residue<C> copy​(Residue<C> c)
      Copy Residue element c.
      boolean equals​(java.lang.Object b)
      Comparison with any other object.
      Residue<C> fromInteger​(long a)
      Get a Residue element from a long value.
      Residue<C> fromInteger​(java.math.BigInteger a)
      Get a Residue element from a BigInteger value.
      java.util.List<Residue<C>> generators()
      Get a list of the generating elements.
      Residue<C> getONE()
      Get the one element.
      Residue<C> getZERO()
      Get the zero element.
      int hashCode()
      Hash code for this residue ring.
      boolean isAssociative()
      Query if this ring is associative.
      boolean isCommutative()
      Query if this ring is commutative.
      boolean isField()
      Query if this ring is a field.
      boolean isFinite()
      Is this structure finite or infinite.
      Residue<C> parse​(java.io.Reader r)
      Parse Residue from Reader.
      Residue<C> parse​(java.lang.String s)
      Parse Residue from String.
      Residue<C> random​(int n)
      Residue random.
      Residue<C> random​(int k, int l, int d, float q)
      Generate a random residum polynomial.
      Residue<C> random​(int n, java.util.Random rnd)
      Residue random.
      java.lang.String toScript()
      Get a scripting compatible string representation.
      java.lang.String toString()
      Get the String representation as RingFactory.
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    • Field Detail

      • logger

        private static final org.apache.logging.log4j.Logger logger
      • ideal

        public final Ideal<C extends GcdRingElem<C>> ideal
        Polynomial ideal for the reduction.
      • isField

        protected int isField
        Indicator if this ring is a field.
    • Constructor Detail

      • ResidueRing

        public ResidueRing​(Ideal<C> i)
        The constructor creates a ResidueRing object from an Ideal.
        Parameters:
        i - polynomial ideal.
      • ResidueRing

        public ResidueRing​(Ideal<C> i,
                           boolean isMaximal)
        The constructor creates a ResidueRing object from an Ideal.
        Parameters:
        i - polynomial ideal.
        isMaximal - true, if ideal is maxmal.
    • Method Detail

      • isCommutative

        public boolean isCommutative()
        Query if this ring is commutative.
        Specified by:
        isCommutative in interface MonoidFactory<C extends GcdRingElem<C>>
        Returns:
        true if this ring is commutative, else false.
      • isAssociative

        public boolean isAssociative()
        Query if this ring is associative.
        Specified by:
        isAssociative in interface MonoidFactory<C extends GcdRingElem<C>>
        Returns:
        true if this ring is associative, else false.
      • isField

        public boolean isField()
        Query if this ring is a field.
        Specified by:
        isField in interface RingFactory<C extends GcdRingElem<C>>
        Returns:
        false.
      • characteristic

        public java.math.BigInteger characteristic()
        Characteristic of this ring.
        Specified by:
        characteristic in interface RingFactory<C extends GcdRingElem<C>>
        Returns:
        characteristic of this ring.
      • fromInteger

        public Residue<C> fromInteger​(java.math.BigInteger a)
        Get a Residue element from a BigInteger value.
        Specified by:
        fromInteger in interface ElemFactory<C extends GcdRingElem<C>>
        Parameters:
        a - BigInteger.
        Returns:
        a Residue.
      • fromInteger

        public Residue<C> fromInteger​(long a)
        Get a Residue element from a long value.
        Specified by:
        fromInteger in interface ElemFactory<C extends GcdRingElem<C>>
        Parameters:
        a - long.
        Returns:
        a Residue.
      • toString

        public java.lang.String toString()
        Get the String representation as RingFactory.
        Overrides:
        toString in class java.lang.Object
        See Also:
        Object.toString()
      • toScript

        public java.lang.String toScript()
        Get a scripting compatible string representation.
        Specified by:
        toScript in interface ElemFactory<C extends GcdRingElem<C>>
        Returns:
        script compatible representation for this ElemFactory.
        See Also:
        ElemFactory.toScript()
      • equals

        public boolean equals​(java.lang.Object b)
        Comparison with any other object.
        Overrides:
        equals in class java.lang.Object
        See Also:
        Object.equals(java.lang.Object)
      • hashCode

        public int hashCode()
        Hash code for this residue ring.
        Overrides:
        hashCode in class java.lang.Object
        See Also:
        Object.hashCode()
      • random

        public Residue<C> random​(int n)
        Residue random.
        Specified by:
        random in interface ElemFactory<C extends GcdRingElem<C>>
        Parameters:
        n - such that 0 ≤ v ≤ (2n-1).
        Returns:
        a random residue element.
      • random

        public Residue<C> random​(int k,
                                 int l,
                                 int d,
                                 float q)
        Generate a random residum polynomial.
        Parameters:
        k - bitsize of random coefficients.
        l - number of terms.
        d - maximal degree in each variable.
        q - density of nozero exponents.
        Returns:
        a random residue polynomial.
      • random

        public Residue<C> random​(int n,
                                 java.util.Random rnd)
        Residue random.
        Specified by:
        random in interface ElemFactory<C extends GcdRingElem<C>>
        Parameters:
        n - such that 0 ≤ v ≤ (2n-1).
        rnd - is a source for random bits.
        Returns:
        a random residue element.
      • parse

        public Residue<C> parse​(java.lang.String s)
        Parse Residue from String.
        Specified by:
        parse in interface ElemFactory<C extends GcdRingElem<C>>
        Parameters:
        s - String.
        Returns:
        Residue from s.
      • parse

        public Residue<C> parse​(java.io.Reader r)
        Parse Residue from Reader.
        Specified by:
        parse in interface ElemFactory<C extends GcdRingElem<C>>
        Parameters:
        r - Reader.
        Returns:
        next Residue from r.