public class SynchronizedSparseMatrix extends Object implements SparseMatrix, AtomicMatrix
SparseMatrix
decorator class that provides thread safe access to a
backing SparseMatrix
instance.Matrix.Type
Constructor and Description |
---|
SynchronizedSparseMatrix(SparseMatrix matrix)
Creates a
SynchronizedSparseMatrix that provides thread-safe access to
the provided SparseMatrix instance. |
Modifier and Type | Method and Description |
---|---|
double |
addAndGet(int row,
int col,
double delta)
Return the value stored at (
row , col ) plus delta ,
and then increment the specified cell by delta . |
int |
columns()
Returns the number of columns in this
Matrix . |
double |
get(int row,
int col)
Returns the value of the
Matrix at the provided row and column. |
double |
getAndAdd(int row,
int col,
double delta)
Return the value stored at (
row , col ), and add delta to the same index. |
double[] |
getColumn(int column)
Returns the entire column.
|
SparseDoubleVector |
getColumnVector(int column)
Returns the column as a sparse vector.
|
double[] |
getRow(int row)
Returns the entire row.
|
SparseDoubleVector |
getRowVector(int row)
Returns the row as a sparse vector.
|
int |
rows()
Returns the number of rows in this
Matrix . |
void |
set(int row,
int col,
double val)
Sets the location at the row and column to the provided value.
|
void |
setColumn(int column,
double[] values)
Sets the values for the column of this
Matrix using the provided
array. |
void |
setColumn(int column,
DoubleVector values)
Sets the values for the column of this
Matrix using the provided
DoubleVector . |
void |
setRow(int row,
double[] values)
Sets the values for the row of this
Matrix using the provided
array. |
void |
setRow(int row,
DoubleVector values)
Sets the values for the row of this
Matrix using the provided
DoubleVector . |
double[][] |
toDenseArray()
Converts the
Matrix to a two dimensional array. |
public SynchronizedSparseMatrix(SparseMatrix matrix)
SynchronizedSparseMatrix
that provides thread-safe access to
the provided SparseMatrix
instance.public double addAndGet(int row, int col, double delta)
row
, col
) plus delta
,
and then increment the specified cell by delta
.addAndGet
in interface AtomicMatrix
row
- The row of the cell to modify and return.col
- The column of the cell to modify and return.delta
- The amount to change the specified cell.row
, col
) after
adding delta
.public double getAndAdd(int row, int col, double delta)
row
, col
), and add delta
to the same index.getAndAdd
in interface AtomicMatrix
row
- The row of the cell to return and modify.col
- The column of the cell to return and modify.delta
- The amount to change the specified cell.row
, col
) prior to
adding delta
.public int columns()
Matrix
.public double get(int row, int col)
Matrix
at the provided row and column.public double[] getColumn(int column)
public SparseDoubleVector getColumnVector(int column)
getColumnVector
in interface Matrix
getColumnVector
in interface SparseMatrix
column
- The column to return a DoubleVector
forDoubleVector
representing the column at column
public double[] getRow(int row)
public SparseDoubleVector getRowVector(int row)
getRowVector
in interface Matrix
getRowVector
in interface SparseMatrix
row
- the index of row to returnSparseDoubleVector
of the row's datapublic int rows()
Matrix
.public void set(int row, int col, double val)
public void setColumn(int column, double[] values)
Matrix
using the provided
array. Note that the array itself is not made internal to the instance
itself.public void setColumn(int column, DoubleVector values)
Matrix
using the provided
DoubleVector
. Note that the DoubleVector
itself is not
made internal to the instance itself.public void setRow(int row, double[] values)
Matrix
using the provided
array. Note that the array itself is not made internal to the instance
itself.public void setRow(int row, DoubleVector values)
Matrix
using the provided
DoubleVector
. Note that the DoubleVector
itself is not
made internal to the instance itself.public double[][] toDenseArray()
Matrix
to a two dimensional array. Note that for
large matrices, this may exhaust all available memory.toDenseArray
in interface Matrix
Matrix
.Copyright © 2012. All Rights Reserved.