Class CompRowMatrix

  • All Implemented Interfaces:
    java.lang.Iterable<MatrixEntry>, Matrix

    public class CompRowMatrix
    extends AbstractMatrix
    Compressed row storage (CRS) matrix
    • Constructor Detail

      • CompRowMatrix

        public CompRowMatrix​(MatrixVectorReader r)
                      throws java.io.IOException
        Constructor for CompRowMatrix
        Parameters:
        r - Reader to get sparse matrix from
        Throws:
        java.io.IOException
      • CompRowMatrix

        public CompRowMatrix​(int numRows,
                             int numColumns,
                             int[][] nz)
        Constructor for CompRowMatrix
        Parameters:
        numRows - Number of rows
        numColumns - Number of columns
        nz - The nonzero column indices on each row
      • CompRowMatrix

        public CompRowMatrix​(Matrix A,
                             boolean deep)
        Constructor for CompRowMatrix
        Parameters:
        A - Copies from this matrix
        deep - True if the copy is to be deep. If it is a shallow copy, A must be a CompRowMatrix
      • CompRowMatrix

        public CompRowMatrix​(Matrix A)
        Constructor for CompRowMatrix
        Parameters:
        A - Copies from this matrix. The copy will be deep
    • Method Detail

      • getColumnIndices

        public int[] getColumnIndices()
        Returns the column indices
      • getRowPointers

        public int[] getRowPointers()
        Returns the row pointers
      • getData

        public double[] getData()
        Returns the internal data storage
      • mult

        public Matrix mult​(Matrix B,
                           Matrix C)
        Description copied from interface: Matrix
        C = A*B
        Specified by:
        mult in interface Matrix
        Overrides:
        mult in class AbstractMatrix
        Parameters:
        B - Matrix such that B.numRows() == A.numColumns() and B.numColumns() == C.numColumns()
        C - Matrix such that C.numRows() == A.numRows() and B.numColumns() == C.numColumns()
        Returns:
        C
      • mult

        public Vector mult​(Vector x,
                           Vector y)
        Description copied from interface: Matrix
        y = A*x
        Specified by:
        mult in interface Matrix
        Overrides:
        mult in class AbstractMatrix
        Parameters:
        x - Vector of size A.numColumns()
        y - Vector of size A.numRows()
        Returns:
        y
      • multAdd

        public Vector multAdd​(double alpha,
                              Vector x,
                              Vector y)
        Description copied from interface: Matrix
        y = alpha*A*x + y
        Specified by:
        multAdd in interface Matrix
        Overrides:
        multAdd in class AbstractMatrix
        x - Vector of size A.numColumns()
        y - Vector of size A.numRows()
        Returns:
        y
      • set

        public void set​(int row,
                        int column,
                        double value)
        Description copied from interface: Matrix
        A(row,column) = value
        Specified by:
        set in interface Matrix
        Overrides:
        set in class AbstractMatrix
      • add

        public void add​(int row,
                        int column,
                        double value)
        Description copied from interface: Matrix
        A(row,column) += value
        Specified by:
        add in interface Matrix
        Overrides:
        add in class AbstractMatrix
      • get

        public double get​(int row,
                          int column)
        Description copied from interface: Matrix
        Returns A(row,column)
        Specified by:
        get in interface Matrix
        Overrides:
        get in class AbstractMatrix
      • zero

        public CompRowMatrix zero()
        Description copied from interface: Matrix
        Zeros all the entries in the matrix, while preserving any underlying structure. Useful for general, unstructured matrices.
        Specified by:
        zero in interface Matrix
        Overrides:
        zero in class AbstractMatrix
        Returns:
        A