no.uib.cipr.matrix.sparse
Class FlexCompRowMatrix

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

public class FlexCompRowMatrix
extends AbstractMatrix

Matrix stored row-wise into sparse vectors


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
FlexCompRowMatrix(int numRows, int numColumns)
          Constructor for FlexCompRowMatrix
FlexCompRowMatrix(Matrix A)
          Constructor for FlexCompRowMatrix
FlexCompRowMatrix(Matrix A, boolean deep)
          Constructor for FlexCompRowMatrix
 
Method Summary
 void add(int row, int column, double value)
          A(row,column) += value
 void compact()
          Tries to store the matrix as compactly as possible
 Matrix copy()
          Creates a deep copy of the matrix
 double get(int row, int column)
          Returns A(row,column)
 SparseVector getRow(int i)
          Returns the given row
 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
 Matrix set(Matrix B)
          A=B.
 void setRow(int i, SparseVector x)
          Sets the given row equal the passed vector
 Vector transMultAdd(double alpha, Vector x, Vector y)
          y = alpha*AT*x + y
 FlexCompRowMatrix 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, solve, solve, toString, transABmult, transABmult, transABmultAdd, transABmultAdd, transAmult, transAmult, transAmultAdd, transAmultAdd, transBmult, transBmult, transBmultAdd, transBmultAdd, transMult, 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

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

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

set

public Matrix set(Matrix B)
Description copied from interface: Matrix
A=B. The matrices must be of the same size

Specified by:
set in interface Matrix
Overrides:
set in class AbstractMatrix
Returns:
A

compact

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