Package org.hipparchus.linear
Class SchurTransformer
java.lang.Object
org.hipparchus.linear.SchurTransformer
Class transforming a general real matrix to Schur form.
A m × m matrix A can be written as the product of three matrices: A = P × T × PT with P an orthogonal matrix and T an quasi-triangular matrix. Both P and T are m × m matrices.
Transformation to Schur 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 expert use. 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 hqr2 in class EigenvalueDecomposition from the JAMA library.
-
Constructor Summary
ConstructorDescriptionSchurTransformer
(RealMatrix matrix) Build the transformation to Schur form of a general real matrix.SchurTransformer
(RealMatrix matrix, double epsilon) Build the transformation to Schur form of a general real matrix. -
Method Summary
-
Constructor Details
-
SchurTransformer
Build the transformation to Schur form of a general real matrix.- Parameters:
matrix
- matrix to transform- Throws:
MathIllegalArgumentException
- if the matrix is not square
-
SchurTransformer
Build the transformation to Schur form of a general real matrix.- Parameters:
matrix
- matrix to transformepsilon
- convergence criteria- Throws:
MathIllegalArgumentException
- if the matrix is not square- Since:
- 3.0
-
-
Method Details
-
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
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
-
getT
Returns the quasi-triangular Schur matrix T of the transform.- Returns:
- the T matrix
-