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
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
CVS_REVISION
public static final java.lang.String CVS_REVISION
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;
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();