|
||||||||||
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
public class UpperTriangDenseMatrix
Upper triangular dense matrix. It has the same storage layout as the
DenseMatrix
, but only refers to
elements above or on the main diagonal. The remaining elements are assumed to
be zero, but since they are never accessed, they need not be.
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 | |
---|---|
UpperTriangDenseMatrix(int n)
Constructor for UpperTriangDenseMatrix |
|
UpperTriangDenseMatrix(Matrix A)
Constructor for UpperTriangDenseMatrix |
|
UpperTriangDenseMatrix(Matrix A,
boolean deep)
Constructor for UpperTriangDenseMatrix |
|
UpperTriangDenseMatrix(Matrix A,
int k)
Constructor for UpperTriangDenseMatrix |
|
UpperTriangDenseMatrix(Matrix A,
int k,
boolean deep)
Constructor for UpperTriangDenseMatrix |
Method Summary | |
---|---|
void |
add(int row,
int column,
double value)
A(row,column) += value |
UpperTriangDenseMatrix |
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 UpperTriangDenseMatrix(int n)
n
- Size of the matrix. Since the matrix must be square, this
equals both the number of rows and columnspublic UpperTriangDenseMatrix(Matrix A)
A
- Matrix to copy from. Only the upper triangular part is copiedpublic UpperTriangDenseMatrix(Matrix A, boolean deep)
A
- Matrix to copy from. Only the upper triangular part is copieddeep
- True for deep copy, false for reference (in which case
A
must be a dense matrix)public UpperTriangDenseMatrix(Matrix A, int k)
A
- Matrix to copy from. Only the upper triangular part is copiedk
- Size of matrix to refer.
k<min(numRows,numColumns)
public UpperTriangDenseMatrix(Matrix A, int k, boolean deep)
A
- Matrix to copy from. Only the upper triangular part is copiedk
- Size of matrix to refer.
k<min(numRows,numColumns)
deep
- True for deep copy, false for reference (in which case
A
must be a dense matrix)Method Detail |
---|
public void add(int row, int column, double value)
Matrix
A(row,column) += value
add
in interface Matrix
public double get(int row, int column)
Matrix
A(row,column)
get
in interface Matrix
public void set(int row, int column, double value)
Matrix
A(row,column) = value
set
in interface Matrix
public UpperTriangDenseMatrix copy()
Matrix
copy
in interface Matrix
copy
in class AbstractMatrix
public Vector mult(double alpha, Vector x, Vector y)
Matrix
y = alpha*A*x
mult
in interface Matrix
mult
in class AbstractMatrix
x
- Vector of size A.numColumns()
y
- Vector of size A.numRows()
public Vector transMult(double alpha, Vector x, Vector y)
Matrix
y = alpha*AT*x
transMult
in interface Matrix
transMult
in class AbstractMatrix
x
- Vector of size A.numRows()
y
- Vector of size A.numColumns()
public Matrix mult(double alpha, Matrix B, Matrix C)
Matrix
C = alpha*A*B
mult
in interface Matrix
mult
in class AbstractMatrix
B
- 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)
Matrix
C = alpha*AT*B
transAmult
in interface Matrix
transAmult
in class AbstractMatrix
B
- 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)
Matrix
X = 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 Matrix
solve
in class AbstractMatrix
B
- Matrix with the same number of rows as A
, and
the same number of columns as X
X
- Matrix with a number of rows equal A.numColumns()
,
and the same number of columns as B
public Vector solve(Vector b, Vector x)
Matrix
x = 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 Matrix
solve
in class AbstractMatrix
b
- Vector of size A.numRows()
x
- Vector of size A.numColumns()
public Matrix transSolve(Matrix B, Matrix X)
Matrix
X = 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 Matrix
transSolve
in class AbstractMatrix
B
- Matrix with a number of rows equal A.numColumns()
,
and the same number of columns as X
X
- Matrix with the same number of rows as A
, and
the same number of columns as B
public Vector transSolve(Vector b, Vector x)
Matrix
x = 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 Matrix
transSolve
in class AbstractMatrix
b
- 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 AbstractMatrix
public double[] getData()
public Matrix set(Matrix B)
Matrix
A=B
. The matrices must be of the same size
set
in interface Matrix
set
in class AbstractMatrix
public Matrix zero()
Matrix
zero
in interface Matrix
zero
in class AbstractMatrix
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |