Reduces a squared matrix to an Hessemberg form. More...
Public Types | |
| enum | { Size, SizeMinusOne } |
|
typedef Matrix< Scalar, SizeMinusOne, 1 > | CoeffVectorType |
|
typedef NestByValue < DiagonalCoeffs< MatrixType > >::RealReturnType | DiagonalReturnType |
|
typedef Matrix< RealScalar, Size, 1 > | DiagonalType |
| typedef _MatrixType | MatrixType |
| typedef NumTraits< Scalar >::Real | RealScalar |
| typedef MatrixType::Scalar | Scalar |
|
typedef NestByValue < DiagonalCoeffs< NestByValue < Block< MatrixType, SizeMinusOne, SizeMinusOne > > > >::RealReturnType | SubDiagonalReturnType |
|
typedef Matrix< RealScalar, SizeMinusOne, 1 > | SubDiagonalType |
Public Member Functions | |
| void | compute (const MatrixType &matrix) |
| HessenbergDecomposition (const MatrixType &matrix) | |
| HessenbergDecomposition (int size=Size==Dynamic?2:Size) | |
| CoeffVectorType | householderCoefficients (void) const |
| MatrixType | matrixH (void) const |
| MatrixType | matrixQ (void) const |
| const MatrixType & | packedMatrix (void) const |
Protected Attributes | |
| CoeffVectorType | m_hCoeffs |
| MatrixType | m_matrix |
Reduces a squared matrix to an Hessemberg form.
| MatrixType | the type of the matrix of which we are computing the Hessenberg decomposition |
This class performs an Hessenberg decomposition of a matrix
such that:
where
is unitary and
a Hessenberg matrix.
| HessenbergDecomposition | ( | int | size = Size==Dynamic ? 2 : Size |
) | [inline] |
This constructor initializes a HessenbergDecomposition object for further use with HessenbergDecomposition::compute()
| void compute | ( | const MatrixType & | matrix | ) | [inline] |
Computes or re-compute the Hessenberg decomposition for the matrix matrix.
This method allows to re-use the allocated data.
| CoeffVectorType householderCoefficients | ( | void | ) | const [inline] |
| HessenbergDecomposition< MatrixType >::MatrixType matrixH | ( | void | ) | const |
constructs and returns the matrix H. Note that the matrix H is equivalent to the upper part of the packed matrix (including the lower sub-diagonal). Therefore, it might be often sufficient to directly use the packed matrix instead of creating a new one.
| HessenbergDecomposition< MatrixType >::MatrixType matrixQ | ( | void | ) | const |
reconstructs and returns the matrix Q
| const MatrixType& packedMatrix | ( | void | ) | const [inline] |
The returned matrix contains the following information:
See LAPACK for further details on this packed storage.
1.7.1