public class TridiagonalDecompositionHouseholder_B64
extends java.lang.Object
implements org.ejml.interfaces.decomposition.TridiagonalSimilarDecomposition<org.ejml.data.BlockMatrix64F>
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.
| Modifier and Type | Field and Description |
|---|---|
protected org.ejml.data.BlockMatrix64F |
A |
protected double[] |
gammas |
protected org.ejml.data.BlockMatrix64F |
tmp |
protected org.ejml.data.BlockMatrix64F |
V |
protected org.ejml.data.DenseMatrix64F |
zerosM |
| Constructor and Description |
|---|
TridiagonalDecompositionHouseholder_B64() |
| Modifier and Type | Method and Description |
|---|---|
boolean |
decompose(org.ejml.data.BlockMatrix64F orig) |
void |
getDiagonal(double[] diag,
double[] off) |
org.ejml.data.BlockMatrix64F |
getQ(org.ejml.data.BlockMatrix64F Q,
boolean transposed) |
org.ejml.data.BlockMatrix64F |
getT(org.ejml.data.BlockMatrix64F T) |
boolean |
inputModified() |
static void |
multPlusTransA(int blockLength,
org.ejml.data.D1Submatrix64F A,
org.ejml.data.D1Submatrix64F B,
org.ejml.data.D1Submatrix64F C)
C = C + A^T*B
|
protected org.ejml.data.BlockMatrix64F A
protected org.ejml.data.BlockMatrix64F V
protected org.ejml.data.BlockMatrix64F tmp
protected double[] gammas
protected org.ejml.data.DenseMatrix64F zerosM
public TridiagonalDecompositionHouseholder_B64()
public org.ejml.data.BlockMatrix64F getT(org.ejml.data.BlockMatrix64F T)
getT in interface org.ejml.interfaces.decomposition.TridiagonalSimilarDecomposition<org.ejml.data.BlockMatrix64F>public org.ejml.data.BlockMatrix64F getQ(org.ejml.data.BlockMatrix64F Q,
boolean transposed)
getQ in interface org.ejml.interfaces.decomposition.TridiagonalSimilarDecomposition<org.ejml.data.BlockMatrix64F>public void getDiagonal(double[] diag,
double[] off)
getDiagonal in interface org.ejml.interfaces.decomposition.TridiagonalSimilarDecomposition<org.ejml.data.BlockMatrix64F>public boolean decompose(org.ejml.data.BlockMatrix64F orig)
decompose in interface org.ejml.interfaces.decomposition.DecompositionInterface<org.ejml.data.BlockMatrix64F>public static void multPlusTransA(int blockLength,
org.ejml.data.D1Submatrix64F A,
org.ejml.data.D1Submatrix64F B,
org.ejml.data.D1Submatrix64F C)
blockLength - A - row block vectorB - row block vectorC - public boolean inputModified()
inputModified in interface org.ejml.interfaces.decomposition.DecompositionInterface<org.ejml.data.BlockMatrix64F>