Class Integers

    • Field Detail

      • Integers

        public static final Integers Integers
        The ring of integers (Z)
    • Method Detail

      • isField

        public boolean isField()
        Description copied from interface: Ring
        Returns whether this ring is a field
        Returns:
        whether this ring is a field
      • isEuclideanRing

        public boolean isEuclideanRing()
        Description copied from interface: Ring
        Returns whether this ring is a Euclidean ring
        Returns:
        whether this ring is a Euclidean ring
      • cardinality

        public BigInteger cardinality()
        Description copied from interface: Ring
        Returns the number of elements in this ring (cardinality) or null if ring is infinite
        Returns:
        the number of elements in this ring (cardinality) or null if ring is infinite
      • characteristic

        public BigInteger characteristic()
        Description copied from interface: Ring
        Returns characteristic of this ring
        Returns:
        characteristic of this ring
      • isUnit

        public boolean isUnit​(BigInteger element)
        Description copied from interface: Ring
        Tests whether specified element is a ring unit
        Parameters:
        element - the ring element
        Returns:
        whether specified element is a ring unit
        See Also:
        Ring.isOne(Object)
      • add

        public BigInteger add​(BigInteger a,
                              BigInteger b)
        Description copied from interface: Ring
        Add two elements
        Parameters:
        a - the first element
        b - the second element
        Returns:
        a + b
      • subtract

        public BigInteger subtract​(BigInteger a,
                                   BigInteger b)
        Description copied from interface: Ring
        Subtracts b from a
        Parameters:
        a - the first element
        b - the second element
        Returns:
        a - b
      • negate

        public BigInteger negate​(BigInteger element)
        Description copied from interface: Ring
        Negates the given element
        Parameters:
        element - the ring element
        Returns:
        -val
      • multiply

        public BigInteger multiply​(BigInteger a,
                                   BigInteger b)
        Description copied from interface: Ring
        Multiplies two elements
        Parameters:
        a - the first element
        b - the second element
        Returns:
        a * b
      • divideAndRemainder

        public BigInteger[] divideAndRemainder​(BigInteger a,
                                               BigInteger b)
        Description copied from interface: Ring
        Returns quotient and remainder of dividend / divider
        Parameters:
        a - the dividend
        b - the divider
        Returns:
        {quotient, remainder}
      • remainder

        public BigInteger remainder​(BigInteger a,
                                    BigInteger b)
        Description copied from interface: Ring
        Returns the remainder of dividend / divider
        Parameters:
        a - the dividend
        b - the divider
        Returns:
        the remainder of dividend / divider
      • reciprocal

        public BigInteger reciprocal​(BigInteger element)
        Description copied from interface: Ring
        Gives the inverse element element ^ (-1)
        Parameters:
        element - the element
        Returns:
        element ^ (-1)
      • pow

        public BigInteger pow​(BigInteger base,
                              int exponent)
        Description copied from interface: Ring
        Returns base in a power of exponent (non negative)
        Parameters:
        base - base
        exponent - exponent (non negative)
        Returns:
        base in a power of exponent
      • pow

        public BigInteger pow​(BigInteger base,
                              long exponent)
        Description copied from interface: Ring
        Returns base in a power of exponent (non negative)
        Parameters:
        base - base
        exponent - exponent (non negative)
        Returns:
        base in a power of exponent
      • pow

        public BigInteger pow​(BigInteger base,
                              BigInteger exponent)
        Description copied from interface: Ring
        Returns base in a power of exponent (non negative)
        Parameters:
        base - base
        exponent - exponent (non negative)
        Returns:
        base in a power of exponent
      • gcd

        public final BigInteger gcd​(BigInteger a,
                                    BigInteger b)
        Description copied from interface: Ring
        Returns the greatest common divisor of two elements
        Parameters:
        a - the first element
        b - the second element
        Returns:
        gcd
      • valueOf

        public BigInteger valueOf​(BigInteger val)
        Description copied from interface: Ring
        Converts a value from other ring to this ring. The result is not guarantied to be a new instance (i.e. val == valueOf(val) is possible).
        Parameters:
        val - some element from any ring
        Returns:
        this ring element associated with specified val
      • valueOf

        public BigInteger valueOf​(long val)
        Description copied from interface: Ring
        Returns ring element associated with specified long
        Parameters:
        val - machine integer
        Returns:
        ring element associated with specified long
      • getNegativeOne

        public BigInteger getNegativeOne()
        Description copied from interface: Ring
        Returns negative unit element of this ring (minus one)
        Returns:
        -1
      • isMinusOne

        public boolean isMinusOne​(BigInteger bigInteger)
        Description copied from interface: Ring
        Tests whether specified element is minus one
        Parameters:
        bigInteger - the ring element
        Returns:
        whether specified element is minus one
      • signum

        public final int signum​(BigInteger element)
        Description copied from interface: Ring
        Returns -1 if element < 0, 0 if element == 0 and 1 if element > 0, where comparison is specified by Comparator.compare(Object, Object)
        Parameters:
        element - the element
        Returns:
        -1 if element < 0, 0 if element == 0 and 1 otherwise
      • abs

        public BigInteger abs​(BigInteger el)
        Description copied from interface: Ring
        Returns the abs value of element (no copy)
      • iterator

        public Iterator<BigInteger> iterator()
        Description copied from interface: Ring
        Returns iterator over ring elements (for finite rings, otherwise throws exception)
      • binomial

        public BigInteger binomial​(long n,
                                   long k)
        Gives a binomial coefficient C(n, k)
      • readResolve

        protected Object readResolve()
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object
      • getZero

        public final BigInteger getZero()
        Description copied from interface: Ring
        Returns zero element of this ring
        Returns:
        0
      • getOne

        public final BigInteger getOne()
        Description copied from interface: Ring
        Returns unit element of this ring (one)
        Returns:
        1
      • isZero

        public final boolean isZero​(BigInteger element)
        Description copied from interface: Ring
        Tests whether specified element is zero
        Parameters:
        element - the ring element
        Returns:
        whether specified element is zero
      • isOne

        public final boolean isOne​(BigInteger element)
        Description copied from interface: Ring
        Tests whether specified element is one (exactly)
        Parameters:
        element - the ring element
        Returns:
        whether specified element is exactly one
        See Also:
        Ring.isUnit(Object)
      • parse

        public final BigInteger parse​(String string)
        Description copied from interface: Ring
        Parse string into ring element
        Parameters:
        string - string
        Returns:
        ring element
        See Also:
        Coder
      • createArray

        public final BigInteger[] createArray​(int length)
        Description copied from interface: Ring
        Creates generic array of ring elements of specified length
        Parameters:
        length - array length
        Returns:
        array of ring elements of specified length
      • createArray2d

        public final BigInteger[][] createArray2d​(int length)
        Description copied from interface: Ring
        Creates 2d array of ring elements of specified length
        Parameters:
        length - array length
        Returns:
        2d array of ring elements of specified length
      • createArray2d

        public final BigInteger[][] createArray2d​(int m,
                                                  int n)
        Description copied from interface: Ring
        Creates 2d array of ring elements of specified shape
        Parameters:
        m - result length
        n - length of each array in the result
        Returns:
        2d array E[m][n]
      • valueOfBigInteger

        public final BigInteger valueOfBigInteger​(BigInteger val)
        Description copied from interface: Ring
        Returns ring element associated with specified integer
        Parameters:
        val - integer
        Returns:
        ring element associated with specified integer
      • copy

        public BigInteger copy​(BigInteger element)
        Description copied from interface: Ring
        Makes a deep copy of the specified element (for immutable instances the same reference returned).
        Parameters:
        element - the element
        Returns:
        deep copy of specified element