public class ArrayMatrix extends Object implements Matrix
Matrix backed by an array. The matrix is represented in
row-striped format, so row-based access will have better performance.
The DoubleVector views of this matrix are back by data in the
array so changes to the vectors will be reflected in the matrix and vice
versa.
Matrix.Type| Constructor and Description |
|---|
ArrayMatrix(double[][] matrix2d)
Create a
ArrayMatrix from a two dimensional array. |
ArrayMatrix(int rows,
int cols)
Create a
ArrayMatrix of size rows by cols. |
ArrayMatrix(int rows,
int cols,
double[] matrix1D)
Create a new
ArrayMatrix which is of dimensions rows by
cols, and takes ownership of matrix1d as the values of
this ArrayMatrix. |
| Modifier and Type | Method and Description |
|---|---|
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[] |
getColumn(int column)
Returns the entire column.
|
DoubleVector |
getColumnVector(int column)
Returns the column as a vector.
|
double[] |
getRow(int row)
Returns the entire row.
|
DoubleVector |
getRowVector(int row)
Returns a
DoubleVector for an entire row. |
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[] columns)
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 ArrayMatrix(int rows,
int cols)
ArrayMatrix of size rows by cols.rows - The number of rows this ArrayMatrix will represent.cols - The number of columns this ArrayMatrix will
represent.public ArrayMatrix(double[][] matrix2d)
ArrayMatrix from a two dimensional array.matrix2d - The two dimensional array this ArrayMatrix will
represent.IllegalArgumentExceptiona - if matrix2d is invalid.public ArrayMatrix(int rows,
int cols,
double[] matrix1D)
ArrayMatrix which is of dimensions rows by
cols, and takes ownership of matrix1d as the values of
this ArrayMatrix. Note that matrix1D should be of length
rows * cols.rows - The number of rows this ArrayMatrix will represent.cols - The number of columns this ArrayMatrix will
represent.matrix1D - A 1 dimensional representation of the vaues this ArrayMatrix will have.IllegalArgumentException - if either rows or cols
is negative, or matrix1d is invalid.public double get(int row,
int col)
Matrix at the provided row and column.public double[] getColumn(int column)
public DoubleVector getColumnVector(int column)
SparseVector instance.getColumnVector in interface Matrixcolumn - The column to return a DoubleVector for.DoubleVector representing the column at column.public double[] getRow(int row)
public DoubleVector getRowVector(int row)
DoubleVector for an entire row. Implementations should
return an approriately typed DoubleVector. Whether updates to the vector
are written through to the backing matrix is left open to the specific
implementation. Implementations that maintain their data in a sparse
format are encouraged to return a SparseVector instance.getRowVector in interface Matrixrow - the index of the row to return.DoubleVector representing the row at row.public int columns()
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[] columns)
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 MatrixMatrix.Copyright © 2012. All Rights Reserved.