public class UnitLowerTriangPackMatrix extends LowerTriangPackMatrix
LowerTriangPackMatrix
, but
the main diagonal is assumed to be all ones.Matrix.Norm
numColumns, numRows
Constructor and Description |
---|
UnitLowerTriangPackMatrix(int n)
Constructor for UnitLowerTriangPackMatrix
|
UnitLowerTriangPackMatrix(Matrix A)
Constructor for UnitLowerTriangPackMatrix
|
UnitLowerTriangPackMatrix(Matrix A,
boolean deep)
Constructor for UnitLowerTriangPackMatrix
|
Modifier and Type | Method and Description |
---|---|
void |
add(int row,
int column,
double value)
A(row,column) += value |
UnitLowerTriangPackMatrix |
copy()
Creates a deep copy of the matrix
|
double |
get(int row,
int column)
Returns
A(row,column) |
double[] |
getData()
Returns the matrix contents.
|
Iterator<MatrixEntry> |
iterator() |
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 . |
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.
|
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, 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, transAmult, transAmultAdd, transAmultAdd, transBmult, transBmult, transBmultAdd, transBmultAdd, transMult, transMultAdd, transMultAdd, transpose, transpose, transRank1, transRank1, transRank2, transRank2
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
forEach, spliterator
public UnitLowerTriangPackMatrix(int n)
n
- Size of the matrix. Since the matrix must be square, this
equals both the number of rows and columnspublic UnitLowerTriangPackMatrix(Matrix A)
A
- Matrix to copy contents from. Only the entries of the relevant
part are copiedpublic UnitLowerTriangPackMatrix(Matrix A, boolean deep)
A
- Matrix to copy contents from. Only the entries of the relevant
part are copieddeep
- True if the copy is deep, else false (giving a shallow copy).
For shallow copies, A
must be a packed matrixpublic void add(int row, int column, double value)
Matrix
A(row,column) += value
add
in interface Matrix
add
in class LowerTriangPackMatrix
public double get(int row, int column)
Matrix
A(row,column)
get
in interface Matrix
get
in class LowerTriangPackMatrix
public void set(int row, int column, double value)
Matrix
A(row,column) = value
set
in interface Matrix
set
in class LowerTriangPackMatrix
public UnitLowerTriangPackMatrix copy()
Matrix
copy
in interface Matrix
copy
in class LowerTriangPackMatrix
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 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
solversolve
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
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 Iterator<MatrixEntry> iterator()
iterator
in interface Iterable<MatrixEntry>
iterator
in class AbstractMatrix
public double[] getData()
public Matrix set(Matrix B)
Matrix
A=B
. The matrices must be of the same sizeset
in interface Matrix
set
in class AbstractMatrix
Copyright © 2015. All Rights Reserved.