|
||||||||||
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.SymmTridiagMatrix
public class SymmTridiagMatrix
Symmetrical tridiagonal matrix. Storage as for
TridiagMatrix
, but only one
off-diagonal array is stored.
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 | |
---|---|
SymmTridiagMatrix(double[] diag,
double[] offDiag)
Constructor for SymmTridiagMatrix |
|
SymmTridiagMatrix(double[] diag,
double[] offDiag,
int n)
Constructor for SymmTridiagMatrix |
|
SymmTridiagMatrix(int n)
Constructor for SymmTridiagMatrix |
|
SymmTridiagMatrix(Matrix A)
Constructor for SymmTridiagMatrix |
|
SymmTridiagMatrix(Matrix A,
boolean deep)
Constructor for SymmTridiagMatrix |
Method Summary | |
---|---|
void |
add(int row,
int column,
double value)
A(row,column) += value |
SymmTridiagMatrix |
copy()
Creates a deep copy of the matrix |
double |
get(int row,
int column)
Returns A(row,column) |
double[] |
getDiagonal()
Returns the diagonal entries. |
double[] |
getOffDiagonal()
Returns the off diagonal entries. |
java.util.Iterator<MatrixEntry> |
iterator()
|
void |
set(int row,
int column,
double value)
A(row,column) = value |
Matrix |
solve(Matrix B,
Matrix X)
X = A\B . |
Vector |
solve(Vector b,
Vector x)
x = A\b . |
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 . |
SymmTridiagMatrix |
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, mult, mult, multAdd, multAdd, multAdd, multAdd, norm, norm1, normF, normInf, numColumns, numRows, rank1, rank1, rank1, rank1, rank1, rank1, rank2, rank2, rank2, rank2, scale, set, set, toString, transABmult, transABmult, transABmultAdd, transABmultAdd, transAmult, transAmult, transAmultAdd, transAmultAdd, transBmult, transBmult, transBmultAdd, transBmultAdd, transMult, transMult, transMultAdd, transMultAdd, 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 SymmTridiagMatrix(double[] diag, double[] offDiag, int n)
diag
- Main diagonaloffDiag
- Offdiagonals, both upper and lowern
- Size of the matrix. The main diagonal must be at least as long
as n, and the off diagonal part must be at least as long as
n-1public SymmTridiagMatrix(double[] diag, double[] offDiag)
diag
- Main diagonaloffDiag
- Offdiagonals. Must be one shorter than diagpublic SymmTridiagMatrix(int n)
n
- Size of the matrix. Since the matrix must be square, this
equals both the number of rows and columns. n
cannot be zeropublic SymmTridiagMatrix(Matrix A)
A
- Matrix to copy contents from. Only main and the superdiagonal
is copied overpublic SymmTridiagMatrix(Matrix A, boolean deep)
A
- Matrix to copy contents from. Only main and the superdiagonal
is copied over. It must be square and cannot have any zero
dimension lengthsdeep
- True for a deep copy. For shallow copies A
must
be a SymmTridiagMatrix
Method Detail |
---|
public double[] getDiagonal()
n
public double[] getOffDiagonal()
n-1
public void add(int row, int column, double value)
Matrix
A(row,column) += value
add
in interface Matrix
add
in class AbstractMatrix
public double get(int row, int column)
Matrix
A(row,column)
get
in interface Matrix
get
in class AbstractMatrix
public void set(int row, int column, double value)
Matrix
A(row,column) = value
set
in interface Matrix
set
in class AbstractMatrix
public SymmTridiagMatrix copy()
Matrix
copy
in interface Matrix
copy
in class AbstractMatrix
public SymmTridiagMatrix zero()
Matrix
zero
in interface Matrix
zero
in class AbstractMatrix
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 Matrix transpose()
Matrix
transpose
in interface Matrix
transpose
in class AbstractMatrix
public java.util.Iterator<MatrixEntry> iterator()
iterator
in interface java.lang.Iterable<MatrixEntry>
iterator
in class AbstractMatrix
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |