|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.ejml.alg.block.decomposition.hessenberg.TridiagonalDecompositionBlockHouseholder
public class TridiagonalDecompositionBlockHouseholder
Tridiagonal similar decomposition for block matrices. Orthogonal matrices are computed using householder vectors.
Based off algorithm in section 2 of J. J. Dongarra, D. C. Sorensen, S. J. Hammarling,
"Block Reduction of Matrices to Condensed Forms for Eigenvalue Computations" Journal of
Computations and Applied Mathematics 27 (1989) 215-227
Computations of Householder reflectors has been modified from what is presented in that paper to how
it is performed in "Fundamentals of Matrix Computations" 2nd ed. by David S. Watkins.
| Field Summary | |
|---|---|
protected BlockMatrix64F |
A
|
protected double[] |
gammas
|
protected BlockMatrix64F |
tmp
|
protected BlockMatrix64F |
V
|
protected DenseMatrix64F |
zerosM
|
| Constructor Summary | |
|---|---|
TridiagonalDecompositionBlockHouseholder()
|
|
| Method Summary | |
|---|---|
boolean |
decompose(BlockMatrix64F orig)
Computes the decomposition of the input matrix. |
void |
getDiagonal(double[] diag,
double[] off)
Extracts the diagonal and off diagonal elements of the decomposed tridiagonal matrix. |
BlockMatrix64F |
getQ(BlockMatrix64F Q,
boolean transposed)
An orthogonal matrix that has the following property: T = QTAQ |
BlockMatrix64F |
getT(BlockMatrix64F T)
Extracts the tridiagonal matrix found in the decomposition. |
boolean |
inputModified()
Is the input matrix to DecompositionInterface.decompose(org.ejml.data.Matrix64F) is modified during
the decomposition process. |
static void |
multPlusTransA(int blockLength,
D1Submatrix64F A,
D1Submatrix64F B,
D1Submatrix64F C)
C = C + A^T*B |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected BlockMatrix64F A
protected BlockMatrix64F V
protected BlockMatrix64F tmp
protected double[] gammas
protected DenseMatrix64F zerosM
| Constructor Detail |
|---|
public TridiagonalDecompositionBlockHouseholder()
| Method Detail |
|---|
public BlockMatrix64F getT(BlockMatrix64F T)
TridiagonalSimilarDecomposition
getT in interface TridiagonalSimilarDecomposition<BlockMatrix64F>T - If not null then the results will be stored here. Otherwise a new matrix will be created.
public BlockMatrix64F getQ(BlockMatrix64F Q,
boolean transposed)
TridiagonalSimilarDecomposition
getQ in interface TridiagonalSimilarDecomposition<BlockMatrix64F>Q - If not null then the results will be stored here. Otherwise a new matrix will be created.
public void getDiagonal(double[] diag,
double[] off)
TridiagonalSimilarDecomposition
getDiagonal in interface TridiagonalSimilarDecomposition<BlockMatrix64F>diag - Diagonal elements. Modified.off - off diagonal elements. Modified.public boolean decompose(BlockMatrix64F orig)
DecompositionInterfaceDecompositionInterface.inputModified() will return true and the matrix should not be
modified until the decomposition is no longer needed.
decompose in interface DecompositionInterface<BlockMatrix64F>orig - The matrix which is being decomposed. Modification is implementation dependent.
public static void multPlusTransA(int blockLength,
D1Submatrix64F A,
D1Submatrix64F B,
D1Submatrix64F C)
blockLength - A - row block vectorB - row block vectorC - public boolean inputModified()
DecompositionInterfaceDecompositionInterface.decompose(org.ejml.data.Matrix64F) is modified during
the decomposition process.
inputModified in interface DecompositionInterface<BlockMatrix64F>
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||