public class HessenbergSimilarDecomposition_D64
extends java.lang.Object
implements org.ejml.interfaces.decomposition.DecompositionInterface<org.ejml.data.DenseMatrix64F>
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_D64() |
HessenbergSimilarDecomposition_D64(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.DenseMatrix64F A)
Computes the decomposition of the provided matrix.
|
double[] |
getGammas() |
org.ejml.data.DenseMatrix64F |
getH(org.ejml.data.DenseMatrix64F H)
An upper Hessenberg matrix from the decompostion.
|
org.ejml.data.DenseMatrix64F |
getQ(org.ejml.data.DenseMatrix64F Q)
An orthogonal matrix that has the following property: H = QTAQ
|
org.ejml.data.DenseMatrix64F |
getQH()
The raw QH matrix that is stored internally.
|
boolean |
inputModified() |
public HessenbergSimilarDecomposition_D64(int initialSize)
initialSize - Expected size of the matrices it will decompose.public HessenbergSimilarDecomposition_D64()
public boolean decompose(org.ejml.data.DenseMatrix64F A)
decompose in interface org.ejml.interfaces.decomposition.DecompositionInterface<org.ejml.data.DenseMatrix64F>A - The matrix that is being decomposed. Not modified.public boolean inputModified()
inputModified in interface org.ejml.interfaces.decomposition.DecompositionInterface<org.ejml.data.DenseMatrix64F>public org.ejml.data.DenseMatrix64F getQH()
public org.ejml.data.DenseMatrix64F getH(org.ejml.data.DenseMatrix64F H)
H - If not null then the results will be stored here. Otherwise a new matrix will be created.public org.ejml.data.DenseMatrix64F getQ(org.ejml.data.DenseMatrix64F Q)
Q - If not null then the results will be stored here. Otherwise a new matrix will be created.public double[] getGammas()