no.uib.cipr.matrix
Class SymmTridiagEVD

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

public class SymmTridiagEVD
extends java.lang.Object

Computes eigenvalues of symmetrical, tridiagonal matrices


Constructor Summary
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 matrices
SymmTridiagEVD(int n, double abstol)
          Sets up an eigenvalue decomposition for symmetrical, tridiagonal matrices.
 
Method Summary
 SymmTridiagEVD factor(SymmTridiagMatrix A)
          Computes the eigenvalue decomposition of the given matrix
static SymmTridiagEVD factorize(Matrix A)
          Convenience method for computing the full eigenvalue decomposition of the given matrix
 double[] getEigenvalues()
          Gets the eigenvalues (stored in ascending order)
 DenseMatrix getEigenvectors()
          Gets the eigenvectors, if available
 boolean hasEigenvectors()
          True if the eigenvectors have been computed
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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