public class HessenbergSimilarDecomposition_DDRM
extends java.lang.Object
implements org.ejml.interfaces.decomposition.DecompositionInterface<org.ejml.data.DMatrixRMaj>
Finds the decomposition of a matrix in the form of:
A = OHOT
where A is an m by m matrix, O is an orthogonal matrix, and H is an upper Hessenberg matrix.
A matrix is upper Hessenberg if aij = 0 for all i > j+1. For example, the following matrix
is upper Hessenberg.
WRITE IT OUT USING A TABLE
This decomposition is primarily used as a step for computing the eigenvalue decomposition of a matrix. The basic algorithm comes from David S. Watkins, "Fundamentals of MatrixComputations" Second Edition.
Constructor and Description |
---|
HessenbergSimilarDecomposition_DDRM() |
HessenbergSimilarDecomposition_DDRM(int initialSize)
Creates a decomposition that won't need to allocate new memory if it is passed matrices up to
the specified size.
|
Modifier and Type | Method and Description |
---|---|
boolean |
decompose(org.ejml.data.DMatrixRMaj A)
Computes the decomposition of the provided matrix.
|
double[] |
getGammas() |
org.ejml.data.DMatrixRMaj |
getH(org.ejml.data.DMatrixRMaj H)
An upper Hessenberg matrix from the decomposition.
|
org.ejml.data.DMatrixRMaj |
getQ(org.ejml.data.DMatrixRMaj Q)
An orthogonal matrix that has the following property: H = QTAQ
|
org.ejml.data.DMatrixRMaj |
getQH()
The raw QH matrix that is stored internally.
|
boolean |
inputModified() |
public HessenbergSimilarDecomposition_DDRM(int initialSize)
initialSize
- Expected size of the matrices it will decompose.public HessenbergSimilarDecomposition_DDRM()
public boolean decompose(org.ejml.data.DMatrixRMaj A)
decompose
in interface org.ejml.interfaces.decomposition.DecompositionInterface<org.ejml.data.DMatrixRMaj>
A
- The matrix that is being decomposed. Not modified.public boolean inputModified()
inputModified
in interface org.ejml.interfaces.decomposition.DecompositionInterface<org.ejml.data.DMatrixRMaj>
public org.ejml.data.DMatrixRMaj getQH()
public org.ejml.data.DMatrixRMaj getH(org.ejml.data.DMatrixRMaj H)
H
- If not null then the results will be stored here. Otherwise a new matrix will be created.public org.ejml.data.DMatrixRMaj getQ(org.ejml.data.DMatrixRMaj Q)
Q
- If not null then the results will be stored here. Otherwise a new matrix will be created.public double[] getGammas()