public class SymmTridiagMatrix extends AbstractMatrix
TridiagMatrix, but only one
off-diagonal array is stored.Matrix.NormnumColumns, numRows| Constructor and Description |
|---|
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
|
| Modifier and Type | Method and Description |
|---|---|
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.
|
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.
|
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, transRank2clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitforEach, spliteratorpublic 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 SymmTridiagMatrixpublic double[] getDiagonal()
npublic double[] getOffDiagonal()
n-1public void add(int row,
int column,
double value)
MatrixA(row,column) += valueadd in interface Matrixadd in class AbstractMatrixpublic double get(int row,
int column)
MatrixA(row,column)get in interface Matrixget in class AbstractMatrixpublic void set(int row,
int column,
double value)
MatrixA(row,column) = valueset in interface Matrixset in class AbstractMatrixpublic SymmTridiagMatrix copy()
Matrixcopy in interface Matrixcopy in class AbstractMatrixpublic SymmTridiagMatrix zero()
Matrixzero in interface Matrixzero in class AbstractMatrixpublic 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 Iterator<MatrixEntry> iterator()
iterator in interface Iterable<MatrixEntry>iterator in class AbstractMatrixCopyright © 2015. All Rights Reserved.