public class UpperSPDBandMatrix extends UpperSymmBandMatrix
UpperSymmBandMatrix
.Matrix.Norm
numColumns, numRows
Constructor and Description |
---|
UpperSPDBandMatrix(int n,
int kd)
Constructor for UpperSPDBandMatrix
|
UpperSPDBandMatrix(Matrix A,
int kd)
Constructor for UpperSPDBandMatrix
|
UpperSPDBandMatrix(Matrix A,
int kd,
boolean deep)
Constructor for UpperSPDBandMatrix
|
Modifier and Type | Method and Description |
---|---|
UpperSPDBandMatrix |
copy()
Creates a deep copy of the matrix
|
double[] |
getData()
Returns the matrix contents
|
java.util.Iterator<MatrixEntry> |
iterator() |
Vector |
multAdd(double alpha,
Vector x,
Vector y)
y = alpha*A*x + y |
int |
numSubDiagonals()
Returns the number of lower diagonals
|
int |
numSuperDiagonals()
Returns the number of upper diagonals
|
Matrix |
set(Matrix B)
A=B . |
Matrix |
solve(Matrix B,
Matrix X)
X = A\B . |
Vector |
solve(Vector b,
Vector x)
x = A\b . |
Vector |
transMultAdd(double alpha,
Vector x,
Vector y)
y = alpha*AT*x + y |
Matrix |
transpose()
Transposes the matrix in-place.
|
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, get, set
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, mult, mult, 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, transAmult, transAmultAdd, transAmultAdd, transBmult, transBmult, transBmultAdd, transBmultAdd, transMult, transMult, transMultAdd, transpose, transRank1, transRank1, transRank2, transRank2
public UpperSPDBandMatrix(int n, int kd)
n
- Size of the matrix. Since the matrix must be square, this
equals both the number of rows and columnskd
- Number of bands off the main diagonal (off diagonals)public UpperSPDBandMatrix(Matrix A, int kd)
A
- Matrix to copy contents from. Only the parts of A
that lie within the allocated band are copied over, the rest
is ignoredkd
- Number of bands off the main diagonal (off diagonals)public UpperSPDBandMatrix(Matrix A, int kd, boolean deep)
A
- Matrix to copy contents from. Only the parts of A
that lie within the allocated band are copied over, the rest
is ignoredkd
- Number of bands off the main diagonal (off diagonals)deep
- True for a deep copy. For shallow copies, A
must be a banded matrixpublic UpperSPDBandMatrix copy()
Matrix
copy
in interface Matrix
copy
in class UpperSymmBandMatrix
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 solverpublic Vector multAdd(double alpha, Vector x, Vector y)
Matrix
y = alpha*A*x + y
multAdd
in interface Matrix
multAdd
in class AbstractMatrix
x
- Vector of size A.numColumns()
y
- Vector of size A.numRows()
public Vector transMultAdd(double alpha, Vector x, Vector y)
Matrix
y = alpha*AT*x + y
transMultAdd
in interface Matrix
transMultAdd
in class AbstractMatrix
x
- Vector of size A.numRows()
y
- Vector of size A.numColumns()
public java.util.Iterator<MatrixEntry> iterator()
iterator
in interface java.lang.Iterable<MatrixEntry>
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 solversolve
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
solvertransSolve
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 solvertransSolve
in interface Matrix
transSolve
in class AbstractMatrix
b
- Vector of size A.numColumns()
x
- Vector of size A.numRows()
public Matrix transpose()
Matrix
transpose
in interface Matrix
transpose
in class AbstractMatrix
public double[] getData()
public int numSubDiagonals()
public int numSuperDiagonals()
public Matrix set(Matrix B)
Matrix
A=B
. The matrices must be of the same sizeset
in interface Matrix
set
in class AbstractMatrix