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 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 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.
-
-