Class HessenbergSimilarDecomposition_ZDRM
java.lang.Object
org.ejml.dense.row.decompose.hessenberg.HessenbergSimilarDecomposition_ZDRM
- All Implemented Interfaces:
 DecompositionInterface<ZMatrixRMaj>
public class HessenbergSimilarDecomposition_ZDRM
extends Object
implements DecompositionInterface<ZMatrixRMaj>
 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
ConstructorsConstructorDescriptionHessenbergSimilarDecomposition_ZDRM(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 TypeMethodDescriptionbooleanComputes the decomposition of the provided matrix.double[]getH(@Nullable ZMatrixRMaj H) An upper Hessenberg matrix from the decomposition.getQ(@Nullable ZMatrixRMaj Q) An orthogonal matrix that has the following property: H = QTAQgetQH()The raw QH matrix that is stored internally.booleanChecks if the input matrix toDecompositionInterface.decompose(org.ejml.data.Matrix)is modified during the decomposition process. 
- 
Constructor Details
- 
HessenbergSimilarDecomposition_ZDRM
public HessenbergSimilarDecomposition_ZDRM(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_ZDRM
public HessenbergSimilarDecomposition_ZDRM() 
 - 
 - 
Method Details
- 
decompose
Computes the decomposition of the provided matrix. If no errors are detected then true is returned, false otherwise.- Specified by:
 decomposein interfaceDecompositionInterface<ZMatrixRMaj>- Parameters:
 A- The matrix that is being decomposed. Not modified.- Returns:
 - If it detects any errors or not.
 
 - 
inputModified
public boolean inputModified()Description copied from interface:DecompositionInterfaceChecks if the input matrix toDecompositionInterface.decompose(org.ejml.data.Matrix)is modified during the decomposition process.- Specified by:
 inputModifiedin interfaceDecompositionInterface<ZMatrixRMaj>- Returns:
 - true if the input matrix to decompose() is modified.
 
 - 
getQH
The raw QH matrix that is stored internally.- Returns:
 - QH matrix.
 
 - 
getH
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
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 double[] getGammas() 
 -