org.jutil.math.matrix
Interface HessenbergReduction

All Known Implementing Classes:
HouseholderHessenbergReduction

public interface HessenbergReduction

A HessenbergReduction represents a Hessenberg reduction of a matrix.

The Hessenberg reduction of a matrix A contains a Hessenberg matrix H and a unitary matrix Q such that H=(Q*)*A*Q. (Q*) is the adjoint of Q.

Version:
$Revision: 1.3 $
Author:
Marko van Dooren

Field Summary
static java.lang.String CVS_REVISION
           
 
Method Summary
 Matrix H()
          public behavior

post \result != null;
post \result.isSquare();
post \result.isHessenberg();
Return the Hessenberg matrix of this HessenbergReduction.
 Matrix Q()
          public behavior

post \result != null;
post \result.isSquare();
post (* \result.isUnitary() *);
Return the unitary Q matrix of this HessenbergReduction.
 Column Qtimes(Column column)
          public behavior

pre column != null;
pre column.size() = Q().getNbColumns();

post \result.equals(Q().times(column));
Return Q().times(column)
 Column QtransposeTimes(Column column)
          public behavior

pre column != null;
pre column.size() = Q().getNbRows();

post \result.equals(Q().returnTranspose().times(column));
Return Q().returnTranspose().times(column)
 

Field Detail

CVS_REVISION

public static final java.lang.String CVS_REVISION
Method Detail

H

public Matrix H()
public behavior

post \result != null;
post \result.isSquare();
post \result.isHessenberg();
Return the Hessenberg matrix of this HessenbergReduction.

Q

public Matrix Q()
public behavior

post \result != null;
post \result.isSquare();
post (* \result.isUnitary() *);
Return the unitary Q matrix of this HessenbergReduction.

Qtimes

public Column Qtimes(Column column)
public behavior

pre column != null;
pre column.size() = Q().getNbColumns();

post \result.equals(Q().times(column));
Return Q().times(column)
Parameters:
column - The vector with which Q() must be multiplied

QtransposeTimes

public Column QtransposeTimes(Column column)
public behavior

pre column != null;
pre column.size() = Q().getNbRows();

post \result.equals(Q().returnTranspose().times(column));
Return Q().returnTranspose().times(column)
Parameters:
column - The vector with which Q must be multiplied