no.uib.cipr.matrix
Class SymmBandEVD

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

public class SymmBandEVD
extends java.lang.Object

Computes eigenvalues of symmetrical, banded matrices


Constructor Summary
SymmBandEVD(int n, boolean upper)
          Sets up an eigenvalue decomposition for symmetrical, banded matrices.
SymmBandEVD(int n, boolean upper, boolean vectors)
          Sets up an eigenvalue decomposition for symmetrical, banded matrices
 
Method Summary
 SymmBandEVD factor(LowerSymmBandMatrix A)
          Computes the eigenvalue decomposition of the given matrix
 SymmBandEVD factor(UpperSymmBandMatrix A)
          Computes the eigenvalue decomposition of the given matrix
static SymmBandEVD factorize(Matrix A, int kd)
          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

SymmBandEVD

public SymmBandEVD(int n,
                   boolean upper)
Sets up an eigenvalue decomposition for symmetrical, banded matrices. Computes all eigenvalues and eigenvectors

Parameters:
n - Size of the matrix
upper - True if the upper part of the matrix is stored, and false if the lower part of the matrix is stored instead

SymmBandEVD

public SymmBandEVD(int n,
                   boolean upper,
                   boolean vectors)
Sets up an eigenvalue decomposition for symmetrical, banded matrices

Parameters:
n - Size of the matrix
upper - True if the upper part of the matrix is stored, and false if the lower part of the matrix is stored instead
vectors - True to compute the eigenvectors, false for just the eigenvalues
Method Detail

factorize

public static SymmBandEVD factorize(Matrix A,
                                    int kd)
                             throws NotConvergedException
Convenience method for computing the full eigenvalue decomposition of the given matrix

Parameters:
A - Matrix to factorize. The upper triangular part is extracted, and the matrix is not modified
kd - Number of diagonals to extract
Returns:
Newly allocated decomposition
Throws:
NotConvergedException

factor

public SymmBandEVD factor(LowerSymmBandMatrix 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

factor

public SymmBandEVD factor(UpperSymmBandMatrix 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