public class LowerTriangDenseMatrix extends AbstractMatrix
DenseMatrix, but only refers to
elements below or on the main diagonal. The remaining elements are assumed to
be zero, but since they are never accessed, they need not be.Matrix.NormnumColumns, numRows| Constructor and Description |
|---|
LowerTriangDenseMatrix(int n)
Constructor for LowerTriangDenseMatrix
|
LowerTriangDenseMatrix(Matrix A)
Constructor for LowerTriangDenseMatrix
|
LowerTriangDenseMatrix(Matrix A,
boolean deep)
Constructor for LowerTriangDenseMatrix
|
LowerTriangDenseMatrix(Matrix A,
int k)
Constructor for LowerTriangDenseMatrix
|
LowerTriangDenseMatrix(Matrix A,
int k,
boolean deep)
Constructor for LowerTriangDenseMatrix
|
| Modifier and Type | Method and Description |
|---|---|
void |
add(int row,
int column,
double value)
A(row,column) += value |
LowerTriangDenseMatrix |
copy()
Creates a deep copy of the matrix
|
double |
get(int row,
int column)
Returns
A(row,column) |
double[] |
getData()
Returns the matrix contents.
|
Iterator<MatrixEntry> |
iterator() |
Matrix |
mult(double alpha,
Matrix B,
Matrix C)
C = alpha*A*B |
Vector |
mult(double alpha,
Vector x,
Vector y)
y = alpha*A*x |
void |
set(int row,
int column,
double value)
A(row,column) = value |
Matrix |
set(Matrix A)
A=B. |
Matrix |
solve(Matrix B,
Matrix X)
X = A\B. |
Vector |
solve(Vector b,
Vector x)
x = A\b. |
String |
toString() |
Matrix |
transAmult(double alpha,
Matrix B,
Matrix C)
C = alpha*AT*B |
Vector |
transMult(double alpha,
Vector x,
Vector y)
y = alpha*AT*x |
Matrix |
transSolve(Matrix B,
Matrix X)
X = AT\B. |
Vector |
transSolve(Vector b,
Vector x)
x = AT\b. |
Matrix |
zero()
Zeros all the entries in the matrix, while preserving any underlying
structure.
|
add, add, check, checkMultAdd, checkMultAdd, checkRank1, checkRank1, checkRank2, checkRank2, checkSize, checkSolve, checkSolve, checkTransABmultAdd, checkTransAmultAdd, checkTransBmultAdd, checkTransMultAdd, checkTranspose, checkTranspose, checkTransRank1, checkTransRank2, isSquare, max, max, mult, mult, multAdd, multAdd, multAdd, multAdd, norm, norm1, normF, normInf, numColumns, numRows, rank1, rank1, rank1, rank1, rank1, rank1, rank2, rank2, rank2, rank2, scale, set, transABmult, transABmult, transABmultAdd, transABmultAdd, transAmult, transAmultAdd, transAmultAdd, transBmult, transBmult, transBmultAdd, transBmultAdd, transMult, transMultAdd, transMultAdd, transpose, transpose, transRank1, transRank1, transRank2, transRank2clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitforEach, spliteratorpublic LowerTriangDenseMatrix(int n)
n - Size of the matrix. Since the matrix must be square, this
equals both the number of rows and columnspublic LowerTriangDenseMatrix(Matrix A)
A - Matrix to copy from. Only the lower triangular part is copiedpublic LowerTriangDenseMatrix(Matrix A, boolean deep)
A - Matrix to copy from. Only the lower triangular part is copieddeep - If true, A is copied, else a shallow copy is made
and the matrices share underlying storage. For this,
A must be a dense matrixpublic LowerTriangDenseMatrix(Matrix A, int k)
A - Matrix to copy from. Only the lower triangular part is copiedk - Size of matrix to refer.
k<min(numRows,numColumns)public LowerTriangDenseMatrix(Matrix A, int k, boolean deep)
A - Matrix to copy from. Only the lower triangular part is copiedk - Size of matrix to refer.
k<min(numRows,numColumns)deep - If true, A is copied, else a shallow copy is made
and the matrices share underlying storage. For this,
A must be a dense matrixpublic void add(int row,
int column,
double value)
MatrixA(row,column) += valuepublic double get(int row,
int column)
MatrixA(row,column)public void set(int row,
int column,
double value)
MatrixA(row,column) = valuepublic LowerTriangDenseMatrix copy()
Matrixcopy in interface Matrixcopy in class AbstractMatrixpublic Matrix set(Matrix A)
MatrixA=B. The matrices must be of the same sizepublic Vector mult(double alpha, Vector x, Vector y)
Matrixy = alpha*A*xmult in interface Matrixmult in class AbstractMatrixx - Vector of size A.numColumns()y - Vector of size A.numRows()public Vector transMult(double alpha, Vector x, Vector y)
Matrixy = alpha*AT*xtransMult in interface MatrixtransMult in class AbstractMatrixx - Vector of size A.numRows()y - Vector of size A.numColumns()public Matrix mult(double alpha, Matrix B, Matrix C)
MatrixC = alpha*A*Bmult in interface Matrixmult in class AbstractMatrixB - Matrix such that B.numRows() == A.numColumns()
and B.numColumns() == C.numColumns()C - Matrix such that C.numRows() == A.numRows() and
B.numColumns() == C.numColumns()public Matrix transAmult(double alpha, Matrix B, Matrix C)
MatrixC = alpha*AT*BtransAmult in interface MatrixtransAmult in class AbstractMatrixB - Matrix such that B.numRows() == A.numRows() and
B.numColumns() == C.numColumns()C - Matrix such that C.numRows() == A.numColumns()
and B.numColumns() == C.numColumns()public Matrix solve(Matrix B, Matrix X)
MatrixX = A\B. Not all matrices support this operation, those that
do not throw UnsupportedOperationException. Note that it is
often more efficient to use a matrix decomposition and its associated
solversolve in interface Matrixsolve in class AbstractMatrixB - Matrix with the same number of rows as A, and the
same number of columns as XX - Matrix with a number of rows equal A.numColumns()
, and the same number of columns as Bpublic Vector solve(Vector b, Vector x)
Matrixx = A\b. Not all matrices support this operation, those that
do not throw UnsupportedOperationException. Note that it is
often more efficient to use a matrix decomposition and its associated
solversolve in interface Matrixsolve in class AbstractMatrixb - Vector of size A.numRows()x - Vector of size A.numColumns()public Matrix transSolve(Matrix B, Matrix X)
MatrixX = AT\B. Not all matrices support this
operation, those that do not throw
UnsupportedOperationException. Note that it is often more
efficient to use a matrix decomposition and its associated transpose
solvertransSolve in interface MatrixtransSolve in class AbstractMatrixB - Matrix with a number of rows equal A.numColumns()
, and the same number of columns as XX - Matrix with the same number of rows as A, and the
same number of columns as Bpublic Vector transSolve(Vector b, Vector x)
Matrixx = AT\b. Not all matrices support this
operation, those that do not throw
UnsupportedOperationException. Note that it is often more
efficient to use a matrix decomposition and its associated solvertransSolve in interface MatrixtransSolve in class AbstractMatrixb - Vector of size A.numColumns()x - Vector of size A.numRows()public Iterator<MatrixEntry> iterator()
iterator in interface Iterable<MatrixEntry>iterator in class AbstractMatrixpublic double[] getData()
public Matrix zero()
Matrixzero in interface Matrixzero in class AbstractMatrixpublic String toString()
toString in class AbstractMatrixCopyright © 2015. All Rights Reserved.