|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Interface defining a real-valued matrix with basic algebraic operations, using BigDecimal representations for the entries.
Matrix element indexing is 0-based -- e.g., getEntry(0, 0)
returns the element in the first row, first column of the matrix.
Method Summary | |
BigMatrix |
add(BigMatrix m)
Compute the sum of this and m. |
BigMatrix |
copy()
Returns a (deep) copy of this. |
BigDecimal[] |
getColumn(int col)
Returns the entries in column number col as an array. |
double[] |
getColumnAsDoubleArray(int col)
Returns the entries in column number col as an array
of double values. |
int |
getColumnDimension()
Returns the number of columns in the matrix. |
BigMatrix |
getColumnMatrix(int column)
Returns the entries in column number column
as a column matrix. |
BigDecimal[][] |
getData()
Returns matrix entries as a two-dimensional array. |
double[][] |
getDataAsDoubleArray()
Returns matrix entries as a two-dimensional array. |
BigDecimal |
getDeterminant()
Returns the determinant of this matrix. |
BigDecimal |
getEntry(int row,
int column)
Returns the entry in the specified row and column. |
double |
getEntryAsDouble(int row,
int column)
Returns the entry in the specified row and column as a double. |
BigDecimal |
getNorm()
Returns the maximum absolute row sum norm of the matrix. |
int |
getRoundingMode()
Gets the rounding mode |
BigDecimal[] |
getRow(int row)
Returns the entries in row number row as an array. |
double[] |
getRowAsDoubleArray(int row)
Returns the entries in row number row as an array
of double values. |
int |
getRowDimension()
Returns the number of rows in the matrix. |
BigMatrix |
getRowMatrix(int row)
Returns the entries in row number row
as a row matrix. |
BigMatrix |
getSubMatrix(int[] selectedRows,
int[] selectedColumns)
Gets a submatrix. |
BigMatrix |
getSubMatrix(int startRow,
int endRow,
int startColumn,
int endColumn)
Gets a submatrix. |
BigDecimal |
getTrace()
Returns the trace of the matrix (the sum of the elements on the main diagonal). |
BigMatrix |
inverse()
Returns the inverse of this matrix. |
boolean |
isSingular()
Is this a singular matrix? |
boolean |
isSquare()
Is this a square matrix? |
BigMatrix |
multiply(BigMatrix m)
Returns the result of postmultiplying this by m. |
BigDecimal[] |
operate(BigDecimal[] v)
Returns the result of multiplying this by the vector v . |
BigDecimal[] |
preMultiply(BigDecimal[] v)
Returns the (row) vector result of premultiplying this by the vector v . |
BigMatrix |
preMultiply(BigMatrix m)
Returns the result premultiplying this by m . |
BigMatrix |
scalarAdd(BigDecimal d)
Returns the result of adding d to each entry of this. |
BigMatrix |
scalarMultiply(BigDecimal d)
Returns the result multiplying each entry of this by d. |
BigDecimal[] |
solve(BigDecimal[] b)
Returns the solution vector for a linear system with coefficient matrix = this and constant vector = b . |
BigMatrix |
solve(BigMatrix b)
Returns a matrix of (column) solution vectors for linear systems with coefficient matrix = this and constant vectors = columns of b . |
BigMatrix |
subtract(BigMatrix m)
Compute this minus m. |
BigMatrix |
transpose()
Returns the transpose of this matrix. |
Method Detail |
public BigMatrix copy()
public BigMatrix add(BigMatrix m) throws IllegalArgumentException
m
- matrix to be added
IllegalArgumentException
- if m is not the same size as thispublic BigMatrix subtract(BigMatrix m) throws IllegalArgumentException
m
- matrix to be subtracted
IllegalArgumentException
- if m is not the same size as thispublic BigMatrix scalarAdd(BigDecimal d)
d
- value to be added to each entry
public BigMatrix scalarMultiply(BigDecimal d)
d
- value to multiply all entries by
public BigMatrix multiply(BigMatrix m) throws IllegalArgumentException
m
- matrix to postmultiply by
IllegalArgumentException
- if columnDimension(this) != rowDimension(m)public BigMatrix preMultiply(BigMatrix m) throws IllegalArgumentException
m
.
m
- matrix to premultiply by
IllegalArgumentException
- if rowDimension(this) != columnDimension(m)public BigDecimal[][] getData()
public double[][] getDataAsDoubleArray()
public int getRoundingMode()
public BigDecimal getNorm()
public BigMatrix getSubMatrix(int startRow, int endRow, int startColumn, int endColumn) throws MatrixIndexException
startRow
- Initial row indexendRow
- Final row indexstartColumn
- Initial column indexendColumn
- Final column index
MatrixIndexException
- if the indices are not validpublic BigMatrix getSubMatrix(int[] selectedRows, int[] selectedColumns) throws MatrixIndexException
selectedRows
- Array of row indices.selectedColumns
- Array of column indices.
MatrixIndexException
- if row or column selections are not validpublic BigMatrix getRowMatrix(int row) throws MatrixIndexException
row
as a row matrix. Row indices start at 0.
row
- the row to be fetched
MatrixIndexException
- if the specified row index is invalidpublic BigMatrix getColumnMatrix(int column) throws MatrixIndexException
column
as a column matrix. Column indices start at 0.
column
- the column to be fetched
MatrixIndexException
- if the specified column index is invalidpublic BigDecimal[] getRow(int row) throws MatrixIndexException
row
as an array.
Row indices start at 0. A MatrixIndexException
is thrown
unless 0 <= row < rowDimension.
row
- the row to be fetched
MatrixIndexException
- if the specified row index is not validpublic double[] getRowAsDoubleArray(int row) throws MatrixIndexException
row
as an array
of double values.
Row indices start at 0. A MatrixIndexException
is thrown
unless 0 <= row < rowDimension.
row
- the row to be fetched
MatrixIndexException
- if the specified row index is not validpublic BigDecimal[] getColumn(int col) throws MatrixIndexException
col
as an array.
Column indices start at 0. A MatrixIndexException
is thrown
unless 0 <= column < columnDimension.
col
- the column to be fetched
MatrixIndexException
- if the specified column index is not validpublic double[] getColumnAsDoubleArray(int col) throws MatrixIndexException
col
as an array
of double values.
Column indices start at 0. A MatrixIndexException
is thrown
unless 0 <= column < columnDimension.
col
- the column to be fetched
MatrixIndexException
- if the specified column index is not validpublic BigDecimal getEntry(int row, int column) throws MatrixIndexException
Row and column indices start at 0 and must satisfy
0 <= row < rowDimension
0 <= column < columnDimension
MatrixIndexException
is thrown.
row
- row location of entry to be fetchedcolumn
- column location of entry to be fetched
MatrixIndexException
- if the row or column index is not validpublic double getEntryAsDouble(int row, int column) throws MatrixIndexException
Row and column indices start at 0 and must satisfy
0 <= row < rowDimension
0 <= column < columnDimension
MatrixIndexException
is thrown.
row
- row location of entry to be fetchedcolumn
- column location of entry to be fetched
MatrixIndexException
- if the row or column index is not validpublic BigMatrix transpose()
public BigMatrix inverse() throws InvalidMatrixException
InvalidMatrixException
- if
this is not invertiblepublic BigDecimal getDeterminant() throws InvalidMatrixException
InvalidMatrixException
- if
matrix is not squarepublic boolean isSquare()
public boolean isSingular()
public int getRowDimension()
public int getColumnDimension()
public BigDecimal getTrace()
public BigDecimal[] operate(BigDecimal[] v) throws IllegalArgumentException
v
.
v
- the vector to operate on
IllegalArgumentException
- if columnDimension != v.size()public BigDecimal[] preMultiply(BigDecimal[] v) throws IllegalArgumentException
v
.
v
- the row vector to premultiply by
IllegalArgumentException
- if rowDimension != v.size()public BigDecimal[] solve(BigDecimal[] b) throws IllegalArgumentException, InvalidMatrixException
b
.
b
- constant vector
IllegalArgumentException
- if this.rowDimension != b.length
InvalidMatrixException
- if this matrix is not square or is singularpublic BigMatrix solve(BigMatrix b) throws IllegalArgumentException, InvalidMatrixException
b
.
b
- matrix of constant vectors forming RHS of linear systems to
to solve
IllegalArgumentException
- if this.rowDimension != row dimension
InvalidMatrixException
- if this matrix is not square or is singular
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |