Class TridiagonalDecompositionHouseholder_CDRM
java.lang.Object
org.ejml.dense.row.decompose.hessenberg.TridiagonalDecompositionHouseholder_CDRM
- All Implemented Interfaces:
org.ejml.interfaces.decomposition.DecompositionInterface<org.ejml.data.CMatrixRMaj>,org.ejml.interfaces.decomposition.TridiagonalSimilarDecomposition<org.ejml.data.CMatrixRMaj>,org.ejml.interfaces.decomposition.TridiagonalSimilarDecomposition_F32<org.ejml.data.CMatrixRMaj>
@Generated("org.ejml.dense.row.decompose.hessenberg.TridiagonalDecompositionHouseholder_ZDRM") public class TridiagonalDecompositionHouseholder_CDRM extends Object implements org.ejml.interfaces.decomposition.TridiagonalSimilarDecomposition_F32<org.ejml.data.CMatrixRMaj>
Performs a complex similar tridiagonal decomposition on a
square Hermitian matrix. Householder vectors perform the similar operation and the symmetry
is taken advantage of for good performance.
Finds the decomposition of a matrix in the form of:
A = O*T*OH
where A is a Hermitian m by m matrix, O is an orthogonal matrix, and T is a tridiagonal matrix.
This implementation is inspired by description of the real symmetric decomposition in:
David S. Watkins, "Fundamentals of Matrix Computations," Second Edition. Page 349-355
-
Constructor Summary
Constructors Constructor Description TridiagonalDecompositionHouseholder_CDRM() -
Method Summary
Modifier and Type Method Description booleandecompose(org.ejml.data.CMatrixRMaj A)Decomposes the provided symmetric matrix.voidgetDiagonal(float[] diag, float[] off)float[]getGammas()org.ejml.data.CMatrixRMajgetQ(@Nullable org.ejml.data.CMatrixRMaj Q, boolean transposed)An orthogonal matrix that has the following property: T = QHAQorg.ejml.data.CMatrixRMajgetQT()Returns the internal matrix where the decomposed results are stored.org.ejml.data.CMatrixRMajgetT(@Nullable org.ejml.data.CMatrixRMaj T)Extracts the tridiagonal matrix found in the decomposition.voidhouseholderSymmetric(int row, float gamma)Performs the householder operations on left and right and side of the matrix.voidinit(org.ejml.data.CMatrixRMaj A)If needed declares and sets up internal data structures.booleaninputModified()
-
Constructor Details
-
TridiagonalDecompositionHouseholder_CDRM
public TridiagonalDecompositionHouseholder_CDRM()
-
-
Method Details
-
getQT
public org.ejml.data.CMatrixRMaj getQT()Returns the internal matrix where the decomposed results are stored. -
getDiagonal
public void getDiagonal(float[] diag, float[] off)- Specified by:
getDiagonalin interfaceorg.ejml.interfaces.decomposition.TridiagonalSimilarDecomposition_F32<org.ejml.data.CMatrixRMaj>
-
getT
public org.ejml.data.CMatrixRMaj getT(@Nullable @Nullable org.ejml.data.CMatrixRMaj T)Extracts the tridiagonal matrix found in the decomposition.- Specified by:
getTin interfaceorg.ejml.interfaces.decomposition.TridiagonalSimilarDecomposition<org.ejml.data.CMatrixRMaj>- Parameters:
T- If not null then the results will be stored here. Otherwise a new matrix will be created.- Returns:
- The extracted T matrix.
-
getQ
public org.ejml.data.CMatrixRMaj getQ(@Nullable @Nullable org.ejml.data.CMatrixRMaj Q, boolean transposed)An orthogonal matrix that has the following property: T = QHAQ- Specified by:
getQin interfaceorg.ejml.interfaces.decomposition.TridiagonalSimilarDecomposition<org.ejml.data.CMatrixRMaj>- Parameters:
Q- If not null then the results will be stored here. Otherwise a new matrix will be created.- Returns:
- The extracted Q matrix.
-
decompose
public boolean decompose(org.ejml.data.CMatrixRMaj A)Decomposes the provided symmetric matrix.- Specified by:
decomposein interfaceorg.ejml.interfaces.decomposition.DecompositionInterface<org.ejml.data.CMatrixRMaj>- Parameters:
A- Symmetric matrix that is going to be decomposed. Not modified.
-
householderSymmetric
public void householderSymmetric(int row, float gamma)Performs the householder operations on left and right and side of the matrix. QTAQ- Parameters:
row- Specifies the submatrix.gamma- The gamma for the householder operation
-
init
public void init(org.ejml.data.CMatrixRMaj A)If needed declares and sets up internal data structures.- Parameters:
A- Matrix being decomposed.
-
inputModified
public boolean inputModified()- Specified by:
inputModifiedin interfaceorg.ejml.interfaces.decomposition.DecompositionInterface<org.ejml.data.CMatrixRMaj>
-
getGammas
public float[] getGammas()
-