org.jutil.math.matrix
Class SchurEigenvalueDecomposer

java.lang.Object
  |
  +--org.jutil.math.matrix.SchurEigenvalueDecomposer
All Implemented Interfaces:
EigenvalueDecomposer

public class SchurEigenvalueDecomposer
extends java.lang.Object
implements EigenvalueDecomposer

A class of eigenvalue decomposers using an explict shift algorithm.


Field Summary
static java.lang.String CVS_REVISION
           
 
Constructor Summary
SchurEigenvalueDecomposer(SchurDecomposer decomposer, LinSolver linSolver)
          Initialize a new SchurEigenvalueDecomposer with the given HessenbergReducer
 
Method Summary
 EigenvalueDecomposition decompose(Matrix matrix)
          See superclass
 LinSolver getLinSolver()
          Return the LinSolver used by this SchurEigenvalueDecomposer to calculate eigenvalue decompositions.
 SchurDecomposer getSchurDecomposer()
          Return the SchurDecomposer used by this SchurEigenvalueDecomposer to calculate eigenvalue decompositions.
 
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

SchurEigenvalueDecomposer

public SchurEigenvalueDecomposer(SchurDecomposer decomposer,
                                 LinSolver linSolver)
Initialize a new SchurEigenvalueDecomposer with the given HessenbergReducer

Parameters:
decomposer - The SchurDecomposer to be used by this SchurEigenvalueDecomposer.
linSolver - The LinSolver to be used by this SchurEigenvalueDecomposer.

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

getSchurDecomposer

public SchurDecomposer getSchurDecomposer()
Return the SchurDecomposer used by this SchurEigenvalueDecomposer to calculate eigenvalue decompositions.

Specifications:
public behavior
ensures \result != null;

getLinSolver

public LinSolver getLinSolver()
Return the LinSolver used by this SchurEigenvalueDecomposer to calculate eigenvalue decompositions.

Specifications:
public behavior
ensures \result != null;

decompose

public EigenvalueDecomposition decompose(Matrix matrix)
See superclass
Specifications inherited from overridden method in interface EigenvalueDecomposer:
public behavior
requires matrix != null;
requires matrix.getNbRows() == matrix.getNbColumns();
requires (* matrix is not singular *);
ensures \result != null;
ensures (* \result.getEigenvectors().times(\result.lambda()).equals(matrix) *);
ensures (* (\forall int i; i>=1 && i<= matrix.getNbRows(); \result.getEigenvectors().times(\result.getEigenvector(i)).equals(\result.getEigenvector(i).times(\result.getEigenvalue(i))) *);
ensures \result .getEigenvectors().getNbRows() == matrix.getNbRows();
ensures \result .getEigenvectors().getNbColumns() == matrix.getNbColumns();