Class CompColMatrix

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

public class CompColMatrix extends AbstractMatrix
Compressed column storage (CCS) matrix
  • Constructor Details

    • CompColMatrix

      public CompColMatrix(MatrixVectorReader r) throws IOException
      Constructor for CompColMatrix
      Parameters:
      r - Reader to get sparse matrix from
      Throws:
      IOException
    • CompColMatrix

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

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

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

    • getColumnPointers

      public int[] getColumnPointers()
      Returns the column pointers
    • getRowIndices

      public int[] getRowIndices()
      Returns the row indices
    • getData

      public double[] getData()
      Returns the internal data storage
    • 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
    • transMult

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

      public CompColMatrix 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
    • iterator

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

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