public class LowerSymmDenseMatrix extends AbstractMatrix
DenseMatrix, but only refers to
elements below or on the main diagonal. The remaining elements are never
accessed nor changed, and is known only by symmetry.Matrix.NormnumColumns, numRows| Constructor and Description |
|---|
LowerSymmDenseMatrix(int n)
Constructor for LowerSymmDenseMatrix
|
LowerSymmDenseMatrix(Matrix A)
Constructor for LowerSymmDenseMatrix
|
LowerSymmDenseMatrix(Matrix A,
boolean deep)
Constructor for LowerSymmDenseMatrix
|
| Modifier and Type | Method and Description |
|---|---|
void |
add(int row,
int column,
double value)
A(row,column) += value |
LowerSymmDenseMatrix |
copy()
Creates a deep copy of the matrix
|
double |
get(int row,
int column)
Returns
A(row,column) |
double[] |
getData()
Returns the matrix contents.
|
Matrix |
multAdd(double alpha,
Matrix B,
Matrix C)
C = alpha*A*B + C |
Vector |
multAdd(double alpha,
Vector x,
Vector y)
y = alpha*A*x + y |
Matrix |
rank1(double alpha,
Matrix C)
A = alpha*C*CT + A. |
Matrix |
rank1(double alpha,
Vector x,
Vector y)
A = alpha*x*yT + A. |
Matrix |
rank2(double alpha,
Matrix B,
Matrix C)
A = alpha*B*CT + alpha*C*BT + A. |
Matrix |
rank2(double alpha,
Vector x,
Vector y)
A = alpha*x*yT + alpha*y*xT + A. |
void |
set(int row,
int column,
double value)
A(row,column) = value |
Matrix |
set(Matrix B)
A=B. |
Matrix |
solve(Matrix B,
Matrix X)
X = A\B. |
Vector |
solve(Vector b,
Vector x)
x = A\b. |
String |
toString() |
Matrix |
transAmultAdd(double alpha,
Matrix B,
Matrix C)
C = alpha*AT*B + C |
Vector |
transMultAdd(double alpha,
Vector x,
Vector y)
y = alpha*AT*x + y |
Matrix |
transpose()
Transposes the matrix in-place.
|
Matrix |
transRank1(double alpha,
Matrix C)
A = alpha*CT*C + A The matrices must be square
and of the same size |
Matrix |
transRank2(double alpha,
Matrix B,
Matrix C)
A = alpha*BT*C + alpha*CT*B + A. |
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, iterator, max, max, mult, mult, mult, mult, multAdd, multAdd, norm, norm1, normF, normInf, numColumns, numRows, rank1, rank1, rank1, rank1, rank2, rank2, scale, set, transABmult, transABmult, transABmultAdd, transABmultAdd, transAmult, transAmult, transAmultAdd, transBmult, transBmult, transBmultAdd, transBmultAdd, transMult, transMult, transMultAdd, transpose, transRank1, transRank2clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitforEach, spliteratorpublic LowerSymmDenseMatrix(int n)
n - Size of the matrix. Since the matrix must be square, this
equals both the number of rows and columnspublic LowerSymmDenseMatrix(Matrix A)
A - Matrix to copy. It must be a square matrix, and only the lower
triangular part is copiedpublic LowerSymmDenseMatrix(Matrix A, boolean deep)
A - Matrix to copy. It must be a square matrix, and only the lower
triangular part is copieddeep - If false, a shallow copy is made. In that case, 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 LowerSymmDenseMatrix copy()
Matrixcopy in interface Matrixcopy in class AbstractMatrixpublic Matrix multAdd(double alpha, Matrix B, Matrix C)
MatrixC = alpha*A*B + CmultAdd in interface MatrixmultAdd 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 transAmultAdd(double alpha, Matrix B, Matrix C)
MatrixC = alpha*AT*B + CtransAmultAdd in interface MatrixtransAmultAdd 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 rank1(double alpha, Vector x, Vector y)
MatrixA = alpha*x*yT + A. The matrix must be square,
and the vectors of the same lengthrank1 in interface Matrixrank1 in class AbstractMatrixpublic Matrix rank2(double alpha, Vector x, Vector y)
MatrixA = alpha*x*yT + alpha*y*xT + A. The
matrix must be square, and the vectors of the same lengthrank2 in interface Matrixrank2 in class AbstractMatrixpublic Vector multAdd(double alpha, Vector x, Vector y)
Matrixy = alpha*A*x + ymultAdd in interface MatrixmultAdd in class AbstractMatrixx - Vector of size A.numColumns()y - Vector of size A.numRows()public Vector transMultAdd(double alpha, Vector x, Vector y)
Matrixy = alpha*AT*x + ytransMultAdd in interface MatrixtransMultAdd in class AbstractMatrixx - Vector of size A.numRows()y - Vector of size A.numColumns()public Matrix rank1(double alpha, Matrix C)
MatrixA = alpha*C*CT + A. The matrices must be square
and of the same sizerank1 in interface Matrixrank1 in class AbstractMatrixpublic Matrix transRank1(double alpha, Matrix C)
MatrixA = alpha*CT*C + A The matrices must be square
and of the same sizetransRank1 in interface MatrixtransRank1 in class AbstractMatrixpublic Matrix rank2(double alpha, Matrix B, Matrix C)
MatrixA = alpha*B*CT + alpha*C*BT + A. This
matrix must be squarerank2 in interface Matrixrank2 in class AbstractMatrixB - Matrix with the same number of rows as A and the
same number of columns as CC - Matrix with the same number of rows as A and the
same number of columns as Bpublic Matrix transRank2(double alpha, Matrix B, Matrix C)
MatrixA = alpha*BT*C + alpha*CT*B + A. This
matrix must be squaretransRank2 in interface MatrixtransRank2 in class AbstractMatrixB - Matrix with the same number of rows as C and the
same number of columns as AC - Matrix with the same number of rows as B and the
same number of columns as Apublic 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 Matrix transpose()
Matrixtranspose in interface Matrixtranspose in class AbstractMatrixpublic double[] getData()
public Matrix set(Matrix B)
MatrixA=B. The matrices must be of the same sizeset in interface Matrixset in class AbstractMatrixpublic Matrix zero()
Matrixzero in interface Matrixzero in class AbstractMatrixpublic String toString()
toString in class AbstractMatrixCopyright © 2015. All Rights Reserved.