Class HessenbergSimilarDecomposition_CDRM
java.lang.Object
org.ejml.dense.row.decompose.hessenberg.HessenbergSimilarDecomposition_CDRM
- All Implemented Interfaces:
org.ejml.interfaces.decomposition.DecompositionInterface<org.ejml.data.CMatrixRMaj>
@Generated("org.ejml.dense.row.decompose.hessenberg.HessenbergSimilarDecomposition_ZDRM") public class HessenbergSimilarDecomposition_CDRM extends Object implements org.ejml.interfaces.decomposition.DecompositionInterface<org.ejml.data.CMatrixRMaj>
Complex Hessenberg decomposition. It find matrices O and P such that:
A = OPOH
where A is an m by m matrix, O is an orthogonal matrix, and P 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 Summary
Constructors Constructor Description HessenbergSimilarDecomposition_CDRM()HessenbergSimilarDecomposition_CDRM(int initialSize)Creates a decomposition that won't need to allocate new memory if it is passed matrices up to the specified size. -
Method Summary
Modifier and Type Method Description booleandecompose(org.ejml.data.CMatrixRMaj A)Computes the decomposition of the provided matrix.float[]getGammas()org.ejml.data.CMatrixRMajgetH(@Nullable org.ejml.data.CMatrixRMaj H)An upper Hessenberg matrix from the decomposition.org.ejml.data.CMatrixRMajgetQ(@Nullable org.ejml.data.CMatrixRMaj Q)An orthogonal matrix that has the following property: H = QTAQorg.ejml.data.CMatrixRMajgetQH()The raw QH matrix that is stored internally.booleaninputModified()
-
Constructor Details
-
HessenbergSimilarDecomposition_CDRM
public HessenbergSimilarDecomposition_CDRM(int initialSize)Creates a decomposition that won't need to allocate new memory if it is passed matrices up to the specified size.- Parameters:
initialSize- Expected size of the matrices it will decompose.
-
HessenbergSimilarDecomposition_CDRM
public HessenbergSimilarDecomposition_CDRM()
-
-
Method Details
-
decompose
public boolean decompose(org.ejml.data.CMatrixRMaj A)Computes the decomposition of the provided matrix. If no errors are detected then true is returned, false otherwise.- Specified by:
decomposein interfaceorg.ejml.interfaces.decomposition.DecompositionInterface<org.ejml.data.CMatrixRMaj>- Parameters:
A- The matrix that is being decomposed. Not modified.- Returns:
- If it detects any errors or not.
-
inputModified
public boolean inputModified()- Specified by:
inputModifiedin interfaceorg.ejml.interfaces.decomposition.DecompositionInterface<org.ejml.data.CMatrixRMaj>
-
getQH
public org.ejml.data.CMatrixRMaj getQH()The raw QH matrix that is stored internally.- Returns:
- QH matrix.
-
getH
public org.ejml.data.CMatrixRMaj getH(@Nullable @Nullable org.ejml.data.CMatrixRMaj H)An upper Hessenberg matrix from the decomposition.- Parameters:
H- If not null then the results will be stored here. Otherwise a new matrix will be created.- Returns:
- The extracted H matrix.
-
getQ
public org.ejml.data.CMatrixRMaj getQ(@Nullable @Nullable org.ejml.data.CMatrixRMaj Q)An orthogonal matrix that has the following property: H = QTAQ- Parameters:
Q- If not null then the results will be stored here. Otherwise a new matrix will be created.- Returns:
- The extracted Q matrix.
-
getGammas
public float[] getGammas()
-