no.uib.cipr.matrix.sparse
Class CompColMatrix

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

public class CompColMatrix
extends AbstractMatrix

Compressed column storage (CCS) matrix


Nested Class Summary
 
Nested classes/interfaces inherited from interface no.uib.cipr.matrix.Matrix
Matrix.Norm
 
Field Summary
 
Fields inherited from class no.uib.cipr.matrix.AbstractMatrix
numColumns, numRows
 
Constructor Summary
CompColMatrix(int numRows, int numColumns, int[][] nz)
          Constructor for CompColMatrix
CompColMatrix(Matrix A)
          Constructor for CompColMatrix
CompColMatrix(Matrix A, boolean deep)
          Constructor for CompColMatrix
CompColMatrix(MatrixVectorReader r)
          Constructor for CompColMatrix
 
Method Summary
 void add(int row, int column, double value)
          A(row,column) += value
 CompColMatrix copy()
          Creates a deep copy of the matrix
 double get(int row, int column)
          Returns A(row,column)
 int[] getColumnPointers()
          Returns the column pointers
 double[] getData()
          Returns the internal data storage
 int[] getRowIndices()
          Returns the row indices
 java.util.Iterator<MatrixEntry> iterator()
           
 Vector multAdd(double alpha, Vector x, Vector y)
          y = alpha*A*x + y
 void set(int row, int column, double value)
          A(row,column) = value
 Vector transMult(Vector x, Vector y)
          y = AT*x
 Vector transMultAdd(double alpha, Vector x, Vector y)
          y = alpha*AT*x + y
 CompColMatrix zero()
          Zeros all the entries in the matrix, while preserving any underlying structure.
 
Methods inherited from class no.uib.cipr.matrix.AbstractMatrix
add, add, check, checkMultAdd, checkMultAdd, checkRank1, checkRank1, checkRank2, checkRank2, checkSize, checkSolve, checkSolve, checkTransABmultAdd, checkTransAmultAdd, checkTransBmultAdd, checkTransMultAdd, checkTranspose, checkTranspose, checkTransRank1, checkTransRank2, isSquare, max, max, mult, mult, mult, mult, multAdd, multAdd, multAdd, norm, norm1, normF, normInf, numColumns, numRows, rank1, rank1, rank1, rank1, rank1, rank1, rank2, rank2, rank2, rank2, scale, set, set, solve, solve, toString, transABmult, transABmult, transABmultAdd, transABmultAdd, transAmult, transAmult, transAmultAdd, transAmultAdd, transBmult, transBmult, transBmultAdd, transBmultAdd, transMult, transMultAdd, transpose, transpose, transRank1, transRank1, transRank2, transRank2, transSolve, transSolve
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

CompColMatrix

public CompColMatrix(MatrixVectorReader r)
              throws java.io.IOException
Constructor for CompColMatrix

Parameters:
r - Reader to get sparse matrix from
Throws:
java.io.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 Detail

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 java.util.Iterator<MatrixEntry> iterator()
Specified by:
iterator in interface java.lang.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