Class FlexCompRowMatrix

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

    public class FlexCompRowMatrix
    extends AbstractMatrix
    Matrix stored row-wise into sparse vectors
    • Constructor Detail

      • FlexCompRowMatrix

        public FlexCompRowMatrix​(int numRows,
                                 int numColumns)
        Constructor for FlexCompRowMatrix
        Parameters:
        numRows - Number of rows
        numColumns - Number of column
      • FlexCompRowMatrix

        public FlexCompRowMatrix​(Matrix A,
                                 boolean deep)
        Constructor for FlexCompRowMatrix
        Parameters:
        A - Matrix to copy contents from
        deep - True for a deep copy, false for a reference copy. A reference copy can only be made of an FlexCompRowMatrix
      • FlexCompRowMatrix

        public FlexCompRowMatrix​(Matrix A)
        Constructor for FlexCompRowMatrix
        Parameters:
        A - Matrix to copy contents from. The copy will be deep
    • Method Detail

      • getRow

        public SparseVector getRow​(int i)
        Returns the given row
      • setRow

        public void setRow​(int i,
                           SparseVector x)
        Sets the given row equal the passed vector
      • 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
      • 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
      • 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
      • 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
      • copy

        public Matrix copy()
        Description copied from interface: Matrix
        Creates a deep copy of the matrix
        Specified by:
        copy in interface Matrix
        Overrides:
        copy in class AbstractMatrix
        Returns:
        A
      • zero

        public FlexCompRowMatrix 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
      • compact

        public void compact()
        Tries to store the matrix as compactly as possible