Class FlexCompColMatrix

java.lang.Object
no.uib.cipr.matrix.AbstractMatrix
no.uib.cipr.matrix.sparse.FlexCompColMatrix
All Implemented Interfaces:
Iterable<MatrixEntry>, Matrix

public class FlexCompColMatrix extends AbstractMatrix
Matrix stored column-wise into sparse vectors
  • Constructor Details

    • FlexCompColMatrix

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

      public FlexCompColMatrix(Matrix A, boolean deep)
      Constructor for FlexCompColMatrix
      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 FlexCompColMatrix
    • FlexCompColMatrix

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

    • getColumn

      public SparseVector getColumn(int i)
      Returns the given column
    • setColumn

      public void setColumn(int i, SparseVector x)
      Sets the given column 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
    • transMultAdd

      public Vector transMultAdd(double alpha, Vector x, Vector y)
      Description copied from interface: Matrix
      y = alpha*AT*x + y
      Specified by:
      transMultAdd in interface Matrix
      Overrides:
      transMultAdd in class AbstractMatrix
      x - Vector of size A.numRows()
      y - Vector of size A.numColumns()
      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
    • iterator

      public Iterator<MatrixEntry> iterator()
      Specified by:
      iterator in interface Iterable<MatrixEntry>
      Overrides:
      iterator in class AbstractMatrix
    • copy

      public FlexCompColMatrix 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 FlexCompColMatrix 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