org.apache.commons.math.linear
Class OpenMapRealMatrix

java.lang.Object
  extended by org.apache.commons.math.linear.AbstractRealMatrix
      extended by org.apache.commons.math.linear.OpenMapRealMatrix
All Implemented Interfaces:
Serializable, AnyMatrix, RealMatrix, SparseRealMatrix

public class OpenMapRealMatrix
extends AbstractRealMatrix
implements SparseRealMatrix, Serializable

Sparse matrix implementation based on an open addressed map.

Since:
2.0
Version:
$Revision: 811685 $ $Date: 2009-09-05 19:36:48 +0200 (sam. 05 sept. 2009) $
See Also:
Serialized Form

Constructor Summary
OpenMapRealMatrix(int rowDimension, int columnDimension)
          Build a sparse matrix with the supplied row and column dimensions.
OpenMapRealMatrix(OpenMapRealMatrix matrix)
          Build a matrix by copying another one.
 
Method Summary
 OpenMapRealMatrix add(OpenMapRealMatrix m)
          Compute the sum of this and m.
 OpenMapRealMatrix add(RealMatrix m)
          Compute the sum of this and m.
 void addToEntry(int row, int column, double increment)
          Change an entry in the specified row and column.
 OpenMapRealMatrix copy()
          Returns a (deep) copy of this.
 OpenMapRealMatrix createMatrix(int rowDimension, int columnDimension)
          Create a new RealMatrix of the same type as the instance with the supplied row and column dimensions.
 int getColumnDimension()
          Returns the number of columns in the matrix.
 double getEntry(int row, int column)
          Returns the entry in the specified row and column.
 int getRowDimension()
          Returns the number of rows in the matrix.
 OpenMapRealMatrix multiply(OpenMapRealMatrix m)
          Returns the result of postmultiplying this by m.
 RealMatrix multiply(RealMatrix m)
          Returns the result of postmultiplying this by m.
 void multiplyEntry(int row, int column, double factor)
          Change an entry in the specified row and column.
 void setEntry(int row, int column, double value)
          Set the entry in the specified row and column.
 OpenMapRealMatrix subtract(OpenMapRealMatrix m)
          Compute this minus m.
 OpenMapRealMatrix subtract(RealMatrix m)
          Compute this minus m.
 
Methods inherited from class org.apache.commons.math.linear.AbstractRealMatrix
copySubMatrix, copySubMatrix, equals, getColumn, getColumnMatrix, getColumnVector, getData, getDeterminant, getFrobeniusNorm, getNorm, getRow, getRowMatrix, getRowVector, getSubMatrix, getSubMatrix, getTrace, hashCode, inverse, isSingular, isSquare, luDecompose, operate, operate, preMultiply, preMultiply, preMultiply, scalarAdd, scalarMultiply, setColumn, setColumnMatrix, setColumnVector, setRow, setRowMatrix, setRowVector, setSubMatrix, solve, solve, toString, transpose, walkInColumnOrder, walkInColumnOrder, walkInColumnOrder, walkInColumnOrder, walkInOptimizedOrder, walkInOptimizedOrder, walkInOptimizedOrder, walkInOptimizedOrder, walkInRowOrder, walkInRowOrder, walkInRowOrder, walkInRowOrder
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.apache.commons.math.linear.RealMatrix
copySubMatrix, copySubMatrix, getColumn, getColumnMatrix, getColumnVector, getData, getDeterminant, getFrobeniusNorm, getNorm, getRow, getRowMatrix, getRowVector, getSubMatrix, getSubMatrix, getTrace, inverse, isSingular, operate, operate, preMultiply, preMultiply, preMultiply, scalarAdd, scalarMultiply, setColumn, setColumnMatrix, setColumnVector, setRow, setRowMatrix, setRowVector, setSubMatrix, solve, solve, transpose, walkInColumnOrder, walkInColumnOrder, walkInColumnOrder, walkInColumnOrder, walkInOptimizedOrder, walkInOptimizedOrder, walkInOptimizedOrder, walkInOptimizedOrder, walkInRowOrder, walkInRowOrder, walkInRowOrder, walkInRowOrder
 
Methods inherited from interface org.apache.commons.math.linear.AnyMatrix
isSquare
 

Constructor Detail

OpenMapRealMatrix

public OpenMapRealMatrix(int rowDimension,
                         int columnDimension)
Build a sparse matrix with the supplied row and column dimensions.

Parameters:
rowDimension - number of rows of the matrix
columnDimension - number of columns of the matrix

OpenMapRealMatrix

public OpenMapRealMatrix(OpenMapRealMatrix matrix)
Build a matrix by copying another one.

Parameters:
matrix - matrix to copy
Method Detail

copy

public OpenMapRealMatrix copy()
Returns a (deep) copy of this.

Specified by:
copy in interface RealMatrix
Specified by:
copy in class AbstractRealMatrix
Returns:
matrix copy

createMatrix

public OpenMapRealMatrix createMatrix(int rowDimension,
                                      int columnDimension)
                               throws IllegalArgumentException
Create a new RealMatrix of the same type as the instance with the supplied row and column dimensions.

Specified by:
createMatrix in interface RealMatrix
Specified by:
createMatrix in class AbstractRealMatrix
Parameters:
rowDimension - the number of rows in the new matrix
columnDimension - the number of columns in the new matrix
Returns:
a new matrix of the same type as the instance
Throws:
IllegalArgumentException - if row or column dimension is not positive

getColumnDimension

public int getColumnDimension()
Returns the number of columns in the matrix.

Specified by:
getColumnDimension in interface AnyMatrix
Specified by:
getColumnDimension in class AbstractRealMatrix
Returns:
columnDimension

add

public OpenMapRealMatrix add(RealMatrix m)
                      throws IllegalArgumentException
Compute the sum of this and m.

Specified by:
add in interface RealMatrix
Overrides:
add in class AbstractRealMatrix
Parameters:
m - matrix to be added
Returns:
this + m
Throws:
IllegalArgumentException - if m is not the same size as this

add

public OpenMapRealMatrix add(OpenMapRealMatrix m)
                      throws IllegalArgumentException
Compute the sum of this and m.

Parameters:
m - matrix to be added
Returns:
this + m
Throws:
IllegalArgumentException - if m is not the same size as this

subtract

public OpenMapRealMatrix subtract(RealMatrix m)
                           throws IllegalArgumentException
Compute this minus m.

Specified by:
subtract in interface RealMatrix
Overrides:
subtract in class AbstractRealMatrix
Parameters:
m - matrix to be subtracted
Returns:
this - m
Throws:
IllegalArgumentException - if m is not the same size as this

subtract

public OpenMapRealMatrix subtract(OpenMapRealMatrix m)
                           throws IllegalArgumentException
Compute this minus m.

Parameters:
m - matrix to be subtracted
Returns:
this - m
Throws:
IllegalArgumentException - if m is not the same size as this

multiply

public RealMatrix multiply(RealMatrix m)
                    throws IllegalArgumentException
Returns the result of postmultiplying this by m.

Specified by:
multiply in interface RealMatrix
Overrides:
multiply in class AbstractRealMatrix
Parameters:
m - matrix to postmultiply by
Returns:
this * m
Throws:
IllegalArgumentException - if columnDimension(this) != rowDimension(m)

multiply

public OpenMapRealMatrix multiply(OpenMapRealMatrix m)
                           throws IllegalArgumentException
Returns the result of postmultiplying this by m.

Parameters:
m - matrix to postmultiply by
Returns:
this * m
Throws:
IllegalArgumentException - if columnDimension(this) != rowDimension(m)

getEntry

public double getEntry(int row,
                       int column)
                throws MatrixIndexException
Returns the entry in the specified row and column.

Row and column indices start at 0 and must satisfy

otherwise a MatrixIndexException is thrown.

Specified by:
getEntry in interface RealMatrix
Specified by:
getEntry in class AbstractRealMatrix
Parameters:
row - row location of entry to be fetched
column - column location of entry to be fetched
Returns:
matrix entry in row,column
Throws:
MatrixIndexException - if the row or column index is not valid

getRowDimension

public int getRowDimension()
Returns the number of rows in the matrix.

Specified by:
getRowDimension in interface AnyMatrix
Specified by:
getRowDimension in class AbstractRealMatrix
Returns:
rowDimension

setEntry

public void setEntry(int row,
                     int column,
                     double value)
              throws MatrixIndexException
Set the entry in the specified row and column.

Row and column indices start at 0 and must satisfy

otherwise a MatrixIndexException is thrown.

Specified by:
setEntry in interface RealMatrix
Specified by:
setEntry in class AbstractRealMatrix
Parameters:
row - row location of entry to be set
column - column location of entry to be set
value - matrix entry to be set in row,column
Throws:
MatrixIndexException - if the row or column index is not valid

addToEntry

public void addToEntry(int row,
                       int column,
                       double increment)
                throws MatrixIndexException
Change an entry in the specified row and column.

Row and column indices start at 0 and must satisfy

otherwise a MatrixIndexException is thrown.

Specified by:
addToEntry in interface RealMatrix
Specified by:
addToEntry in class AbstractRealMatrix
Parameters:
row - row location of entry to be set
column - column location of entry to be set
increment - value to add to the current matrix entry in row,column
Throws:
MatrixIndexException - if the row or column index is not valid

multiplyEntry

public void multiplyEntry(int row,
                          int column,
                          double factor)
                   throws MatrixIndexException
Change an entry in the specified row and column.

Row and column indices start at 0 and must satisfy

otherwise a MatrixIndexException is thrown.

Specified by:
multiplyEntry in interface RealMatrix
Specified by:
multiplyEntry in class AbstractRealMatrix
Parameters:
row - row location of entry to be set
column - column location of entry to be set
factor - multiplication factor for the current matrix entry in row,column
Throws:
MatrixIndexException - if the row or column index is not valid


Copyright © 2003-2011 The Apache Software Foundation. All Rights Reserved.