Class OrderedComplexEigenDecomposition
- java.lang.Object
-
- org.hipparchus.linear.ComplexEigenDecomposition
-
- org.hipparchus.linear.OrderedComplexEigenDecomposition
-
public class OrderedComplexEigenDecomposition extends ComplexEigenDecomposition
Given a matrix A, it computes a complex eigen decomposition A = VDV^{T}. It ensures that eigen values in the diagonal of D are in ascending order.
-
-
Field Summary
-
Fields inherited from class org.hipparchus.linear.ComplexEigenDecomposition
DEFAULT_EIGENVECTORS_EQUALITY, DEFAULT_EPSILON, DEFAULT_EPSILON_AV_VD_CHECK
-
-
Constructor Summary
Constructors Constructor Description OrderedComplexEigenDecomposition(RealMatrix matrix)
Constructor for the decomposition.OrderedComplexEigenDecomposition(RealMatrix matrix, double eigenVectorsEquality, double epsilon, double epsilonAVVDCheck)
Constructor for decomposition.OrderedComplexEigenDecomposition(RealMatrix matrix, double eigenVectorsEquality, double epsilon, double epsilonAVVDCheck, Comparator<Complex> eigenValuesComparator)
Constructor for decomposition.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description FieldMatrix<Complex>
getVT()
Getter VT.-
Methods inherited from class org.hipparchus.linear.ComplexEigenDecomposition
checkDefinition, findEigenValues, findEigenVectors, getD, getDeterminant, getEigenvalues, getEigenvector, getV, hasComplexEigenvalues, matricesToEigenArrays
-
-
-
-
Constructor Detail
-
OrderedComplexEigenDecomposition
public OrderedComplexEigenDecomposition(RealMatrix matrix)
Constructor for the decomposition.- Parameters:
matrix
- real matrix.
-
OrderedComplexEigenDecomposition
public OrderedComplexEigenDecomposition(RealMatrix matrix, double eigenVectorsEquality, double epsilon, double epsilonAVVDCheck)
Constructor for decomposition.The
eigenVectorsEquality
threshold is used to ensure the L∞-normalized eigenvectors found using inverse iteration are different from each other. if \(min(|e_i-e_j|,|e_i+e_j|)\) is smaller than this threshold, the algorithm considers it has found again an already known vector, so it drops it and attempts a new inverse iteration with a different start vector. This value should be much larger thanepsilon
which is used for convergenceThis constructor calls
OrderedComplexEigenDecomposition(RealMatrix, double, double, double, Comparator)
with a comparator using real ordering as the primary sort order and imaginary ordering as the secondary sort order..- Parameters:
matrix
- real matrix.eigenVectorsEquality
- threshold below which eigenvectors are considered equalepsilon
- Epsilon used for internal tests (e.g. is singular, eigenvalue ratio, etc.)epsilonAVVDCheck
- Epsilon criteria for final AV=VD check- Since:
- 1.9
-
OrderedComplexEigenDecomposition
public OrderedComplexEigenDecomposition(RealMatrix matrix, double eigenVectorsEquality, double epsilon, double epsilonAVVDCheck, Comparator<Complex> eigenValuesComparator)
Constructor for decomposition.The
eigenVectorsEquality
threshold is used to ensure the L∞-normalized eigenvectors found using inverse iteration are different from each other. if \(min(|e_i-e_j|,|e_i+e_j|)\) is smaller than this threshold, the algorithm considers it has found again an already known vector, so it drops it and attempts a new inverse iteration with a different start vector. This value should be much larger thanepsilon
which is used for convergence- Parameters:
matrix
- real matrix.eigenVectorsEquality
- threshold below which eigenvectors are considered equalepsilon
- Epsilon used for internal tests (e.g. is singular, eigenvalue ratio, etc.)epsilonAVVDCheck
- Epsilon criteria for final AV=VD checkeigenValuesComparator
- comparator for sorting eigen values- Since:
- 3.0
-
-
Method Detail
-
getVT
public FieldMatrix<Complex> getVT()
Getter VT.- Overrides:
getVT
in classComplexEigenDecomposition
- Returns:
- VT.
-
-