Class HessenbergTransformer

java.lang.Object
org.hipparchus.linear.HessenbergTransformer

public class HessenbergTransformer extends Object
Class transforming a general real matrix to Hessenberg form.

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.

See Also:
  • Constructor Details

    • HessenbergTransformer

      public HessenbergTransformer(RealMatrix matrix)
      Build the transformation to Hessenberg form of a general matrix.
      Parameters:
      matrix - matrix to transform
      Throws:
      MathIllegalArgumentException - if the matrix is not square
  • Method Details

    • getP

      public RealMatrix getP()
      Returns the matrix P of the transform.

      P is an orthogonal matrix, i.e. its inverse is also its transpose.

      Returns:
      the P matrix
    • getPT

      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.

      Returns:
      the transpose of the P matrix
    • getH

      public RealMatrix getH()
      Returns the Hessenberg matrix H of the transform.
      Returns:
      the H matrix