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()
      • 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.
      • product

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

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

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

        public GenMatrix<Crandom​(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<Crandom​(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<CrandomUpper​(int k,
                                        float q)
        Random upper triangular matrix.
        Parameters:
        k - size of random coefficients.
        q - density of nozero coefficients.
      • randomUpper

        public GenMatrix<CrandomUpper​(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<CrandomLower​(int k,
                                        float q)
        Random lower triangular matrix.
        Parameters:
        k - size of random coefficients.
        q - density of nozero coefficients.
      • randomLower

        public GenMatrix<CrandomLower​(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<Cgenerate​(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<Cparse​(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