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