Class SymmetricQrAlgorithm_FDRM
java.lang.Object
org.ejml.dense.row.decomposition.eig.symm.SymmetricQrAlgorithm_FDRM
@Generated("org.ejml.dense.row.decomposition.eig.symm.SymmetricQrAlgorithm_DDRM")
public class SymmetricQrAlgorithm_FDRM
extends Object
Computes the eigenvalues and eigenvectors of a symmetric tridiagonal matrix using the symmetric QR algorithm.
 This implementation is based on the algorithm is sketched out in:
 David S. Watkins, "Fundamentals of Matrix Computations," Second Edition. page 377-385
 
- 
Constructor SummaryConstructorsConstructorDescriptionCreates a new SymmetricQREigenvalue class that declares its own SymmetricQREigenHelper.
- 
Method SummaryModifier and TypeMethodDescriptionfloatgetEigenvalue(int index) Returns the eigenvalue at the specified index.intReturns the number of eigenvalues available.@Nullable FMatrixRMajgetQ()voidFirst looks for zeros and then performs the implicit single step in the QR Algorithm.booleanprocess(int sideLength, @org.jetbrains.annotations.Nullable float[] diag, @org.jetbrains.annotations.Nullable float[] off) booleanprocess(int sideLength, @org.jetbrains.annotations.Nullable float[] diag, @org.jetbrains.annotations.Nullable float[] off, float[] eigenvalues) Computes the eigenvalue of the provided tridiagonal matrix.voidsetFastEigenvalues(boolean fastEigenvalues) voidsetMaxIterations(int maxIterations) voidsetQ(@Nullable FMatrixRMaj q) 
- 
Constructor Details- 
SymmetricQrAlgorithm_FDRM
- 
SymmetricQrAlgorithm_FDRMpublic SymmetricQrAlgorithm_FDRM()Creates a new SymmetricQREigenvalue class that declares its own SymmetricQREigenHelper.
 
- 
- 
Method Details- 
setMaxIterationspublic void setMaxIterations(int maxIterations) 
- 
getQ
- 
setQ
- 
setFastEigenvaluespublic void setFastEigenvalues(boolean fastEigenvalues) 
- 
getEigenvaluepublic float getEigenvalue(int index) Returns the eigenvalue at the specified index.- Parameters:
- index- Which eigenvalue.
- Returns:
- The eigenvalue.
 
- 
getNumberOfEigenvaluespublic int getNumberOfEigenvalues()Returns the number of eigenvalues available.- Returns:
- How many eigenvalues there are.
 
- 
processpublic boolean process(int sideLength, @Nullable @org.jetbrains.annotations.Nullable float[] diag, @Nullable @org.jetbrains.annotations.Nullable float[] off, float[] eigenvalues) Computes the eigenvalue of the provided tridiagonal matrix. Note that only the upper portion needs to be tridiagonal. The bottom diagonal is assumed to be the same as the top.- Parameters:
- sideLength- Number of rows and columns in the input matrix.
- diag- Diagonal elements from tridiagonal matrix. Modified.
- off- Off diagonal elements from tridiagonal matrix. Modified.
- Returns:
- true if it succeeds and false if it fails.
 
- 
processpublic boolean process(int sideLength, @Nullable @org.jetbrains.annotations.Nullable float[] diag, @Nullable @org.jetbrains.annotations.Nullable float[] off) 
- 
performSteppublic void performStep()First looks for zeros and then performs the implicit single step in the QR Algorithm.
 
-