org.jutil.math.matrix
Class SchurEigenvalueDecomposition

java.lang.Object
  |
  +--org.jutil.math.matrix.SchurEigenvalueDecomposition
All Implemented Interfaces:
EigenvalueDecomposition

public class SchurEigenvalueDecomposition
extends java.lang.Object
implements EigenvalueDecomposition

A class of eigenvalue decomposers using an explict shift algorithm.


Field Summary
static java.lang.String CVS_REVISION
           
 
Constructor Summary
SchurEigenvalueDecomposition(SchurDecomposition decomposition, LinSolver linSolver)
          Initialize a new SchurEigenvalueDecomposition with the given decomposition and LinSolver.
 
Method Summary
 double getEigenvalue(int index)
          See superclass
 Column getEigenvalues()
          See superclass
 Column getEigenvector(int index)
          See superclass
 Matrix getEigenvectors()
          See superclass
 LinSolver getLinSolver()
          Return the LinSolver used to compute the eigenvectors.
 int getNbEigenvalues()
          See superclass
 Matrix lambda()
          See superclass
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CVS_REVISION

public static final java.lang.String CVS_REVISION
Constructor Detail

SchurEigenvalueDecomposition

public SchurEigenvalueDecomposition(SchurDecomposition decomposition,
                                    LinSolver linSolver)
Initialize a new SchurEigenvalueDecomposition with the given decomposition and LinSolver.

Parameters:
decomposition - The schur decomposition of the matrix.
linSolver - The LinSolver to be used for calculating the eigenvectors.

Specifications:
public behavior
requires decomposition != null;
requires linSolver != null;
ensures getLinSolver() == linSolver;
Method Detail

lambda

public Matrix lambda()
See superclass
Specifications inherited from overridden method in interface EigenvalueDecomposition:
public behavior
ensures \result != null;
ensures \result .isDiagonal();
ensures \result .getNbRows() == getNbEigenvalues();
ensures \result .isSquare();
ensures ( \forall int i; i >= 1&&i <= getNbEigenvalues(); \result .elementAt(i,i) == getEigenvalue(i));

getNbEigenvalues

public int getNbEigenvalues()
See superclass
Specifications inherited from overridden method in interface EigenvalueDecomposition:
public behavior
ensures \result == getEigenvalues().size();

getEigenvectors

public Matrix getEigenvectors()
See superclass
Specifications inherited from overridden method in interface EigenvalueDecomposition:
public behavior
ensures \result != null;

getEigenvalues

public Column getEigenvalues()
See superclass
Specifications inherited from overridden method in interface EigenvalueDecomposition:
public behavior
ensures \result != null;
ensures ( \forall int i; i >= 1&&i <= \result .size(); \result .elementAt(i) != 0);

getEigenvector

public Column getEigenvector(int index)
See superclass
Specifications inherited from overridden method in interface EigenvalueDecomposition:
public behavior
requires index >= 1;
requires index <= getNbEigenvalues();
ensures \result .equals(getEigenvectors().getColumn(index));

getEigenvalue

public double getEigenvalue(int index)
See superclass
Specifications inherited from overridden method in interface EigenvalueDecomposition:
public behavior
requires index >= 1;
requires index <= getNbEigenvalues();
ensures \result == getEigenvalues().elementAt(index);

getLinSolver

public LinSolver getLinSolver()
Return the LinSolver used to compute the eigenvectors.