Class SymmTridiagEVD

java.lang.Object
no.uib.cipr.matrix.SymmTridiagEVD

public class SymmTridiagEVD extends Object
Computes eigenvalues of symmetrical, tridiagonal matrices
  • Constructor Details

    • 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 matrix
      abstol - 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 matrix
      vectors - 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 matrix
      vectors - True to compute the eigenvectors, false for just the eigenvalues
      abstol - Absolute tolerance criteria
  • Method Details

    • 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

      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