org.jutil.math.matrix
Class ExplicitShiftQRSchurDecomposer

java.lang.Object
  |
  +--org.jutil.math.matrix.ExplicitShiftQRSchurDecomposer
All Implemented Interfaces:
SchurDecomposer

public class ExplicitShiftQRSchurDecomposer
extends java.lang.Object
implements SchurDecomposer

A class of schur decomposers using an explict shift


Field Summary
static java.lang.String CVS_REVISION
           
 
Constructor Summary
ExplicitShiftQRSchurDecomposer(HessenbergReducer reducer)
          Initialize a new ExplicitShiftQRSchurDecomposer with the given HessenbergReducer
ExplicitShiftQRSchurDecomposer(HessenbergReducer reducer, double epsilon)
          Initialize a new ExplicitShiftQRSchurDecomposer with the given HessenbergReducer
 
Method Summary
 SchurDecomposition decompose(Matrix matrix)
          See superclass
 double getEpsilon()
          Return the precision with which the results must be computed.
 HessenbergReducer getHessenbergReducer()
          Return the HessenbergReducer used by this ExplicitShiftQRSchurDecomposer to calculate Schur 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

ExplicitShiftQRSchurDecomposer

public ExplicitShiftQRSchurDecomposer(HessenbergReducer reducer)
Initialize a new ExplicitShiftQRSchurDecomposer with the given HessenbergReducer

Parameters:
reducer - The HessenbergReducer to be used by this ExplicitShiftQRSchurDecomposer.

Specifications:
public behavior
requires reducer != null;
ensures getHessenbergReducer() == reducer;
ensures getEpsilon() == 1.0E-16;

ExplicitShiftQRSchurDecomposer

public ExplicitShiftQRSchurDecomposer(HessenbergReducer reducer,
                                      double epsilon)
Initialize a new ExplicitShiftQRSchurDecomposer with the given HessenbergReducer

Parameters:
reducer - The HessenbergReducer to be used by this ExplicitShiftQRSchurDecomposer.
epsilon - The precision with which the results must be computed.

Specifications:
public behavior
requires reducer != null;
requires epsilon > 0;
ensures getHessenbergReducer() == reducer;
ensures getEpsilon() == epsilon;
Method Detail

getHessenbergReducer

public HessenbergReducer getHessenbergReducer()
Return the HessenbergReducer used by this ExplicitShiftQRSchurDecomposer to calculate Schur decompositions.

Specifications:
public behavior
ensures \result != null;

getEpsilon

public double getEpsilon()
Return the precision with which the results must be computed.

Specifications:
public behavior
ensures \result > 0;

decompose

public SchurDecomposition decompose(Matrix matrix)
See superclass
Specifications inherited from overridden method in interface SchurDecomposer:
public behavior
requires matrix != null;
requires matrix.isSquare();
ensures \result != null;
ensures (* \result.Q().times(\result.R()).equals(matrix) *);
ensures \result .Q().getNbRows() == matrix.getNbRows();