A m × m matrix A can be written as the product of three matrices: A = P × H × PT with P an orthogonal matrix and H a Hessenberg matrix. Both P and H are m × m matrices.
Transformation to Hessenberg form is often not a goal by itself, but it is an
intermediate step in more general decomposition algorithms like
eigen decomposition. This class is therefore
intended for internal use by the library and is not public. As a consequence
of this explicitly limited scope, many methods directly returns references to
internal arrays, not copies.
This class is based on the method orthes in class EigenvalueDecomposition from the JAMA library.
| Modifier and Type | Field and Description |
|---|---|
| private RealMatrix | cachedH
Cached value of H. |
| private RealMatrix | cachedP
Cached value of P. |
| private RealMatrix | cachedPt
Cached value of Pt. |
| private final double[][] | householderVectors
Householder vectors. |
| private final double[] | ort
Temporary storage vector. |
| Access | Constructor and Description |
|---|---|
| pack-priv | HessenbergTransformer(final RealMatrix
matrix to transform matrix)Build the transformation to Hessenberg form of a general matrix. |
| Modifier and Type | Method and Description |
|---|---|
| public RealMatrix | |
| pack-priv double[][] | Returns: the main diagonal elements of the B matrixGet the Householder vectors of the transform. |
| public RealMatrix | |
| public RealMatrix | Returns: the transpose of the P matrixReturns the transpose of the matrix P of the transform. |
| private void |
| cachedH | back to summary |
|---|---|
| private RealMatrix cachedH Cached value of H. | |
| cachedP | back to summary |
|---|---|
| private RealMatrix cachedP Cached value of P. | |
| cachedPt | back to summary |
|---|---|
| private RealMatrix cachedPt Cached value of Pt. | |
| householderVectors | back to summary |
|---|---|
| private final double[][] householderVectors Householder vectors. | |
| ort | back to summary |
|---|---|
| private final double[] ort Temporary storage vector. | |
| HessenbergTransformer | back to summary |
|---|---|
| pack-priv HessenbergTransformer(final RealMatrix matrix) Build the transformation to Hessenberg form of a general matrix.
| |
| getH | back to summary |
|---|---|
| public RealMatrix getH() Returns the Hessenberg matrix H of the transform.
| |
| getHouseholderVectorsRef | back to summary |
|---|---|
| pack-priv double[][] getHouseholderVectorsRef() Get the Householder vectors of the transform. Note that since this class is only intended for internal use, it returns directly a reference to its internal arrays, not a copy.
| |
| getP | back to summary |
|---|---|
| public RealMatrix getP() Returns the matrix P of the transform. P is an orthogonal matrix, i.e. its inverse is also its transpose.
| |
| getPT | back to summary |
|---|---|
| public RealMatrix getPT() Returns the transpose of the matrix P of the transform. P is an orthogonal matrix, i.e. its inverse is also its transpose.
| |
| transform | back to summary |
|---|---|
| private void transform() Transform original matrix to Hessenberg form. Transformation is done using Householder transforms. | |