|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectno.uib.cipr.matrix.AbstractMatrix
no.uib.cipr.matrix.UpperTriangDenseMatrix
no.uib.cipr.matrix.UnitUpperTriangDenseMatrix
public class UnitUpperTriangDenseMatrix
Unit upper triangular dense matrix. Almost the same as the
UpperTriangDenseMatrix,
but additionally assumes the main diagonal to be all ones. However it does
not access it, so it may be actually be different.
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from interface no.uib.cipr.matrix.Matrix |
|---|
Matrix.Norm |
| Field Summary |
|---|
| Fields inherited from class no.uib.cipr.matrix.AbstractMatrix |
|---|
numColumns, numRows |
| Constructor Summary | |
|---|---|
UnitUpperTriangDenseMatrix(int n)
Constructor for UnitUpperTriangDenseMatrix |
|
UnitUpperTriangDenseMatrix(Matrix A)
Constructor for UnitUpperTriangDenseMatrix. |
|
UnitUpperTriangDenseMatrix(Matrix A,
boolean deep)
Constructor for UnitUpperTriangDenseMatrix. |
|
| Method Summary | |
|---|---|
void |
add(int row,
int column,
double value)
A(row,column) += value |
UnitUpperTriangDenseMatrix |
copy()
Creates a deep copy of the matrix |
double |
get(int row,
int column)
Returns A(row,column) |
double[] |
getData()
Returns the matrix contents. |
java.util.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 B)
A=B. |
Matrix |
solve(Matrix B,
Matrix X)
X = A\B. |
Vector |
solve(Vector b,
Vector x)
x = A\b. |
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. |
| Methods inherited from class no.uib.cipr.matrix.AbstractMatrix |
|---|
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, toString, transABmult, transABmult, transABmultAdd, transABmultAdd, transAmult, transAmultAdd, transAmultAdd, transBmult, transBmult, transBmultAdd, transBmultAdd, transMult, transMultAdd, transMultAdd, transpose, transpose, transRank1, transRank1, transRank2, transRank2 |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
|---|
public UnitUpperTriangDenseMatrix(int n)
n - Size of the matrix. Since the matrix must be square, this
equals both the number of rows and columnspublic UnitUpperTriangDenseMatrix(Matrix A)
A - Matrix to copy from. Only the strictly upper triangular part
is copied
public UnitUpperTriangDenseMatrix(Matrix A,
boolean deep)
A - Matrix to copy from. Only the strictly upper 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 matrix| Method Detail |
|---|
public void add(int row,
int column,
double value)
MatrixA(row,column) += value
add in interface Matrixadd in class UpperTriangDenseMatrix
public double get(int row,
int column)
MatrixA(row,column)
get in interface Matrixget in class UpperTriangDenseMatrix
public void set(int row,
int column,
double value)
MatrixA(row,column) = value
set in interface Matrixset in class UpperTriangDenseMatrixpublic UnitUpperTriangDenseMatrix copy()
Matrix
copy in interface Matrixcopy in class UpperTriangDenseMatrixpublic Matrix zero()
Matrix
zero in interface Matrix
public Vector mult(double alpha,
Vector x,
Vector y)
Matrixy = alpha*A*x
mult 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*x
transMult 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*B
mult 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*B
transAmult 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 solver
solve 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 B
public 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 solver
solve 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
solver
transSolve 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 B
public 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 solver
transSolve in interface MatrixtransSolve in class AbstractMatrixb - Vector of size A.numColumns()x - Vector of size A.numRows()
public java.util.Iterator<MatrixEntry> iterator()
iterator in interface java.lang.Iterable<MatrixEntry>iterator in class AbstractMatrixpublic double[] getData()
public Matrix set(Matrix B)
MatrixA=B. The matrices must be of the same size
set in interface Matrixset in class AbstractMatrix
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||