|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.ejml.alg.dense.decomposition.hessenberg.TridiagonalDecompositionHouseholder
public class TridiagonalDecompositionHouseholder
Performs a similar tridiagonal decomposition on a square symmetric input matrix.
Householder vectors perform the similar operation and the symmetry is taken advantage
of for good performance.
Finds the decomposition of a matrix in the form of:
A = O*T*OT
where A is a symmetric m by m matrix, O is an orthogonal matrix, and T is a tridiagonal matrix.
This implementation is based off of the algorithm described in:
David S. Watkins, "Fundamentals of Matrix Computations," Second Edition. Page 349-355
| Constructor Summary | |
|---|---|
TridiagonalDecompositionHouseholder()
|
|
| Method Summary | |
|---|---|
boolean |
decompose(DenseMatrix64F A)
Decomposes the provided symmetric matrix. |
void |
getDiagonal(double[] diag,
double[] off)
Extracts the diagonal and off diagonal elements of the decomposed tridiagonal matrix. |
DenseMatrix64F |
getQ(DenseMatrix64F Q,
boolean transposed)
An orthogonal matrix that has the following property: T = QTAQ |
DenseMatrix64F |
getQT()
Returns the internal matrix where the decomposed results are stored. |
DenseMatrix64F |
getT(DenseMatrix64F T)
Extracts the tridiagonal matrix found in the decomposition. |
void |
householderSymmetric(int row,
double gamma)
Performs the householder operations on left and right and side of the matrix. |
void |
init(DenseMatrix64F A)
If needed declares and sets up internal data structures. |
boolean |
inputModified()
Is the input matrix to DecompositionInterface.decompose(org.ejml.data.Matrix64F) is modified during
the decomposition process. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public TridiagonalDecompositionHouseholder()
| Method Detail |
|---|
public DenseMatrix64F getQT()
public void getDiagonal(double[] diag,
double[] off)
TridiagonalSimilarDecomposition
getDiagonal in interface TridiagonalSimilarDecomposition<DenseMatrix64F>diag - Diagonal elements. Modified.off - off diagonal elements. Modified.public DenseMatrix64F getT(DenseMatrix64F T)
getT in interface TridiagonalSimilarDecomposition<DenseMatrix64F>T - If not null then the results will be stored here. Otherwise a new matrix will be created.
public DenseMatrix64F getQ(DenseMatrix64F Q,
boolean transposed)
getQ in interface TridiagonalSimilarDecomposition<DenseMatrix64F>Q - If not null then the results will be stored here. Otherwise a new matrix will be created.
public boolean decompose(DenseMatrix64F A)
decompose in interface DecompositionInterface<DenseMatrix64F>A - Symmetric matrix that is going to be decomposed. Not modified.
public void householderSymmetric(int row,
double gamma)
row - Specifies the submatrix.gamma - The gamma for the householder operationpublic void init(DenseMatrix64F A)
A - Matrix being decomposed.public boolean inputModified()
DecompositionInterfaceDecompositionInterface.decompose(org.ejml.data.Matrix64F) is modified during
the decomposition process.
inputModified in interface DecompositionInterface<DenseMatrix64F>
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||