org.apache.commons.math.linear
Class QRDecompositionImpl

java.lang.Object
  extended by org.apache.commons.math.linear.QRDecompositionImpl
All Implemented Interfaces:
QRDecomposition

public class QRDecompositionImpl
extends java.lang.Object
implements QRDecomposition

Calculates the QR-decomposition of a matrix.

The QR-decomposition of a matrix A consists of two matrices Q and R that satisfy: A = QR, Q is orthogonal (QTQ = I), and R is upper triangular. If A is m×n, Q is m×m and R m×n.

This class compute the decomposition using Householder reflectors.

For efficiency purposes, the decomposition in packed form is transposed. This allows inner loop to iterate inside rows, which is much more cache-efficient in Java.

Since:
1.2
Version:
$Revision: 799857 $ $Date: 2009-08-01 09:07:12 -0400 (Sat, 01 Aug 2009) $
See Also:
MathWorld, Wikipedia

Constructor Summary
QRDecompositionImpl(RealMatrix matrix)
          Calculates the QR-decomposition of the given matrix.
 
Method Summary
 RealMatrix getH()
          Returns the Householder reflector vectors.
 RealMatrix getQ()
          Returns the matrix Q of the decomposition.
 RealMatrix getQT()
          Returns the transpose of the matrix Q of the decomposition.
 RealMatrix getR()
          Returns the matrix R of the decomposition.
 DecompositionSolver getSolver()
          Get a solver for finding the A × X = B solution in least square sense.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

QRDecompositionImpl

public QRDecompositionImpl(RealMatrix matrix)
Calculates the QR-decomposition of the given matrix.

Parameters:
matrix - The matrix to decompose.
Method Detail

getR

public RealMatrix getR()
Returns the matrix R of the decomposition.

R is an upper-triangular matrix

Specified by:
getR in interface QRDecomposition
Returns:
the R matrix

getQ

public RealMatrix getQ()
Returns the matrix Q of the decomposition.

Q is an orthogonal matrix

Specified by:
getQ in interface QRDecomposition
Returns:
the Q matrix

getQT

public RealMatrix getQT()
Returns the transpose of the matrix Q of the decomposition.

Q is an orthogonal matrix

Specified by:
getQT in interface QRDecomposition
Returns:
the Q matrix

getH

public RealMatrix getH()
Returns the Householder reflector vectors.

H is a lower trapezoidal matrix whose columns represent each successive Householder reflector vector. This matrix is used to compute Q.

Specified by:
getH in interface QRDecomposition
Returns:
a matrix containing the Householder reflector vectors

getSolver

public DecompositionSolver getSolver()
Get a solver for finding the A × X = B solution in least square sense.

Specified by:
getSolver in interface QRDecomposition
Returns:
a solver


Copyright © 2003-2010 Apache Software Foundation. All Rights Reserved.