Package no.uib.cipr.matrix
Class SymmTridiagEVD
- java.lang.Object
-
- no.uib.cipr.matrix.SymmTridiagEVD
-
public class SymmTridiagEVD extends java.lang.Object
Computes eigenvalues of symmetrical, tridiagonal matrices
-
-
Constructor Summary
Constructors Constructor Description SymmTridiagEVD(int n)
Sets up an eigenvalue decomposition for symmetrical, tridiagonal matrices.SymmTridiagEVD(int n, boolean vectors)
Sets up an eigenvalue decomposition for symmetrical, tridiagonal matrices.SymmTridiagEVD(int n, boolean vectors, double abstol)
Sets up an eigenvalue decomposition for symmetrical, tridiagonal matricesSymmTridiagEVD(int n, double abstol)
Sets up an eigenvalue decomposition for symmetrical, tridiagonal matrices.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description SymmTridiagEVD
factor(SymmTridiagMatrix A)
Computes the eigenvalue decomposition of the given matrixstatic SymmTridiagEVD
factorize(Matrix A)
Convenience method for computing the full eigenvalue decomposition of the given matrixdouble[]
getEigenvalues()
Gets the eigenvalues (stored in ascending order)DenseMatrix
getEigenvectors()
Gets the eigenvectors, if availableboolean
hasEigenvectors()
True if the eigenvectors have been computed
-
-
-
Constructor Detail
-
SymmTridiagEVD
public SymmTridiagEVD(int n)
Sets up an eigenvalue decomposition for symmetrical, tridiagonal matrices. Computes all eigenvalues and eigenvectors, and uses a low default tolerance criteria- Parameters:
n
- Size of the matrix
-
SymmTridiagEVD
public SymmTridiagEVD(int n, double abstol)
Sets up an eigenvalue decomposition for symmetrical, tridiagonal matrices. Computes all eigenvalues and eigenvectors- Parameters:
n
- Size of the matrixabstol
- Absolute tolerance criteria
-
SymmTridiagEVD
public SymmTridiagEVD(int n, boolean vectors)
Sets up an eigenvalue decomposition for symmetrical, tridiagonal matrices. Uses a low default tolerance criteria- Parameters:
n
- Size of the matrixvectors
- True to compute the eigenvectors, false for just the eigenvalues
-
SymmTridiagEVD
public SymmTridiagEVD(int n, boolean vectors, double abstol)
Sets up an eigenvalue decomposition for symmetrical, tridiagonal matrices- Parameters:
n
- Size of the matrixvectors
- True to compute the eigenvectors, false for just the eigenvaluesabstol
- Absolute tolerance criteria
-
-
Method Detail
-
factorize
public static SymmTridiagEVD factorize(Matrix A) throws NotConvergedException
Convenience method for computing the full eigenvalue decomposition of the given matrix- Parameters:
A
- Matrix to factorize. Main diagonal and superdiagonal is copied, and the matrix is not modified- Returns:
- Newly allocated decomposition
- Throws:
NotConvergedException
-
factor
public SymmTridiagEVD factor(SymmTridiagMatrix A) throws NotConvergedException
Computes the eigenvalue decomposition of the given matrix- Parameters:
A
- Matrix to factorize. Overwritten on return- Returns:
- The current eigenvalue decomposition
- Throws:
NotConvergedException
-
getEigenvalues
public double[] getEigenvalues()
Gets the eigenvalues (stored in ascending order)
-
getEigenvectors
public DenseMatrix getEigenvectors()
Gets the eigenvectors, if available
-
hasEigenvectors
public boolean hasEigenvectors()
True if the eigenvectors have been computed
-
-