|
|||||||||||
| 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 this
public 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 valid
public 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 valid
public 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 invalid
public 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 invalid
public 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 valid
public 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 valid
public 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 valid
public 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 valid
public BigDecimal getEntry(int row,
int column)
throws MatrixIndexException
Row and column indices start at 0 and must satisfy
0 <= row < rowDimension 0 <= column < columnDimensionMatrixIndexException 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 valid
public double getEntryAsDouble(int row,
int column)
throws MatrixIndexException
Row and column indices start at 0 and must satisfy
0 <= row < rowDimension 0 <= column < columnDimensionMatrixIndexException 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 invertible
public 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 singular
public 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 | ||||||||||