Class GenMatrixRing<C extends RingElem<C>>

    • Constructor Detail

      • GenMatrixRing

        public GenMatrixRing​(RingFactory<C> b,
                             int r,
                             int c)
        Constructors for GenMatrixRing.
        Parameters:
        b - coefficient factory.
        r - number of rows.
        c - number of columns.
      • GenMatrixRing

        public GenMatrixRing​(RingFactory<C> b,
                             int r,
                             int c,
                             int s)
        Constructors for GenMatrixRing.
        Parameters:
        b - coefficient factory.
        r - number of rows.
        c - number of columns.
        s - block size for blocked operations.
    • Method Detail

      • toString

        public java.lang.String toString()
        Get the String representation as RingElem.
        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 RingElem<C>>
        Returns:
        script compatible representation for this ElemFactory.
        See Also:
        ElemFactory.toScript()
      • equals

        public boolean equals​(java.lang.Object other)
        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 matrix ring.
        Overrides:
        hashCode in class java.lang.Object
        See Also:
        Object.hashCode()
      • isField

        public boolean isField()
        Query if this ring is a field. May return false if it is to hard to determine if this ring is a field.
        Specified by:
        isField in interface RingFactory<C extends RingElem<C>>
        Returns:
        true if it is known that this ring is a field, else false.
      • isCommutative

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

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

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

        public GenMatrixRing<C> transpose()
        Transposed matrix ring.
        Returns:
        transposed ring factory.
      • product

        public GenMatrixRing<C> product​(GenMatrixRing<C> other)
        Product matrix ring for multiplication.
        Parameters:
        other - matrix ring factory.
        Returns:
        product ring factory.
      • stack

        public GenMatrixRing<C> stack​(GenMatrixRing<C> other)
        Stack matrix ring. this on top of other.
        Parameters:
        other - matrix ring factory.
        Returns:
        stack ring factory.
      • concat

        public GenMatrixRing<C> concat​(GenMatrixRing<C> other)
        Concat matrix ring. this before of other.
        Parameters:
        other - matrix ring factory.
        Returns:
        concat ring factory.
      • fromInteger

        public GenMatrix<C> fromInteger​(long a)
        Get the matrix for a.
        Specified by:
        fromInteger in interface ElemFactory<C extends RingElem<C>>
        Parameters:
        a - long
        Returns:
        matrix corresponding to a.
      • fromInteger

        public GenMatrix<C> fromInteger​(java.math.BigInteger a)
        Get the matrix for a.
        Specified by:
        fromInteger in interface ElemFactory<C extends RingElem<C>>
        Parameters:
        a - long
        Returns:
        matrix corresponding to a.
      • fromList

        public GenMatrix<C> fromList​(java.util.List<java.util.List<C>> om)
        From List of coefficients.
        Specified by:
        fromList in interface AlgebraFactory<GenMatrix<C extends RingElem<C>>,​C extends RingElem<C>>
        Parameters:
        om - list of list of coefficients.
        Returns:
        a matrix with the elements from m.
      • fromVectors

        public GenMatrix<C> fromVectors​(java.util.List<GenVector<C>> om)
        From List of GenVectors.
        Parameters:
        om - list of GenVectors.
      • random

        public GenMatrix<C> random​(int k)
        Random matrix.
        Specified by:
        random in interface ElemFactory<C extends RingElem<C>>
        Parameters:
        k - size of random coefficients.
        Returns:
        a random element.
      • random

        public GenMatrix<C> random​(int k,
                                   java.util.Random random)
        Random matrix.
        Specified by:
        random in interface ElemFactory<C extends RingElem<C>>
        Parameters:
        k - size of random coefficients.
        random - is a source for random bits.
        Returns:
        a random element.
      • random

        public GenMatrix<C> random​(int k,
                                   float q,
                                   java.util.Random random)
        Random matrix.
        Parameters:
        k - size of random coefficients.
        q - density of nozero coefficients.
        random - is a source for random bits.
        Returns:
        a random element.
      • randomUpper

        public GenMatrix<C> randomUpper​(int k,
                                        float q)
        Random upper triangular matrix.
        Parameters:
        k - size of random coefficients.
        q - density of nozero coefficients.
      • randomUpper

        public GenMatrix<C> randomUpper​(int k,
                                        float q,
                                        java.util.Random random)
        Random upper triangular matrix.
        Parameters:
        k - size of random coefficients.
        q - density of nozero coefficients.
        random - is a source for random bits.
        Returns:
        a random element.
      • randomLower

        public GenMatrix<C> randomLower​(int k,
                                        float q)
        Random lower triangular matrix.
        Parameters:
        k - size of random coefficients.
        q - density of nozero coefficients.
      • randomLower

        public GenMatrix<C> randomLower​(int k,
                                        float q,
                                        java.util.Random random)
        Random lower triangular matrix.
        Parameters:
        k - size of random coefficients.
        q - density of nozero coefficients.
        random - is a source for random bits.
        Returns:
        a random element.
      • generate

        public GenMatrix<C> generate​(java.util.function.BiFunction<java.lang.Integer,​java.lang.Integer,​C> gener)
        Generate matrix via lambda expression.
        Parameters:
        gener - lambda expression.
        Returns:
        the generated matrix.
      • parse

        public GenMatrix<C> parse​(java.lang.String s)
        Parse a matrix from a String. Syntax: [ [ c, ..., c ], ..., [ c, ..., c ] ]
        Specified by:
        parse in interface ElemFactory<C extends RingElem<C>>
        Parameters:
        s - input String.
        Returns:
        parsed matrix
      • parse

        public GenMatrix<C> parse​(java.io.Reader r)
        Parse a matrix from a Reader.
        Specified by:
        parse in interface ElemFactory<C extends RingElem<C>>
        Parameters:
        r - Reader.
        Returns:
        parsed matrix