org.jutil.math.matrix
Class HouseholderQRDecomposition

java.lang.Object
  |
  +--org.jutil.math.matrix.HouseholderQRDecomposition
All Implemented Interfaces:
QRDecomposition

public class HouseholderQRDecomposition
extends java.lang.Object
implements QRDecomposition

This class represents a HouseHolder QR factorization of a matrix.

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

Field Summary
static java.lang.String CVS_REVISION
           
 
Constructor Summary
HouseholderQRDecomposition(Matrix R, Column[] vs)
          public behavior

pre R != null;
pre R.isUpperTriangular();
pre vs != null;
pre vs.length == R.getNbRows();
pre (\forall int i; i>=0 && i vs[i] != null
vs[i].size() == R.getNbRows() - i);

post R().equals(R);
post (\forall int i; i>=1 && i<= vs.length;
getV(i).equals(vs[i-1]));
Initialize a new HouseholderQRDecomposition combination with the given R matrix and v vectors.
 
Method Summary
 Column getV(int i)
          Return the i-th v vector as computed by the Householder algorithm that computed this QR decomposition.
 Matrix Q()
          See superclass
 Matrix Qreduced()
          See superclass
 Column QreducedTimes(Column column)
          See superclass
 Column QreducedTransposeTimes(Column column)
          See superclass
 Column Qtimes(Column column)
          See superclass
 Column QtransposeTimes(Column column)
          See superclass
 Matrix R()
          See superclass
 Matrix Rreduced()
          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

HouseholderQRDecomposition

public HouseholderQRDecomposition(Matrix R,
                                  Column[] vs)
public behavior

pre R != null;
pre R.isUpperTriangular();
pre vs != null;
pre vs.length == R.getNbRows();
pre (\forall int i; i>=0 && i vs[i] != null
vs[i].size() == R.getNbRows() - i);

post R().equals(R);
post (\forall int i; i>=1 && i<= vs.length;
getV(i).equals(vs[i-1]));
Initialize a new HouseholderQRDecomposition combination with the given R matrix and v vectors.
Parameters:
R - The R matrix of the QR factorization
vs - An array of v vectors produce by the HouseHolder factorization The first vector of the algorithm is at position -, the last vector is at position vs.length - 1
Method Detail

R

public Matrix R()
See superclass
Specified by:
R in interface QRDecomposition

getV

public Column getV(int i)

Return the i-th v vector as computed by the Householder algorithm that computed this QR decomposition.

Parameters:
i -

The index of the requested v vector. Indices start from 1.


Q

public Matrix Q()
See superclass
Specified by:
Q in interface QRDecomposition

Qreduced

public Matrix Qreduced()
See superclass
Specified by:
Qreduced in interface QRDecomposition

Rreduced

public Matrix Rreduced()
See superclass
Specified by:
Rreduced in interface QRDecomposition

Qtimes

public Column Qtimes(Column column)
See superclass
Specified by:
Qtimes in interface QRDecomposition
Following copied from interface: org.jutil.math.matrix.QRDecomposition
Parameters:
column - The vector with which Q() must be multiplied

QreducedTimes

public Column QreducedTimes(Column column)
See superclass
Specified by:
QreducedTimes in interface QRDecomposition
Following copied from interface: org.jutil.math.matrix.QRDecomposition
Parameters:
column - The vector with which Qreduced must be multiplied

QtransposeTimes

public Column QtransposeTimes(Column column)
See superclass
Specified by:
QtransposeTimes in interface QRDecomposition
Following copied from interface: org.jutil.math.matrix.QRDecomposition
Parameters:
column - The vector with which Q must be multiplied

QreducedTransposeTimes

public Column QreducedTransposeTimes(Column column)
See superclass
Specified by:
QreducedTransposeTimes in interface QRDecomposition
Following copied from interface: org.jutil.math.matrix.QRDecomposition
Parameters:
column - The vector with which Q must be multiplied