org.apache.commons.math3.linear
Class QRDecomposition.Solver

java.lang.Object
  extended by org.apache.commons.math3.linear.QRDecomposition.Solver
All Implemented Interfaces:
DecompositionSolver
Enclosing class:
QRDecomposition

private static class QRDecomposition.Solver
extends Object
implements DecompositionSolver

Specialized solver.


Field Summary
private  double[][] qrt
          A packed TRANSPOSED representation of the QR decomposition.
private  double[] rDiag
          The diagonal elements of R.
private  double threshold
          Singularity threshold.
 
Constructor Summary
private QRDecomposition.Solver(double[][] qrt, double[] rDiag, double threshold)
          Build a solver from decomposed matrix.
 
Method Summary
 RealMatrix getInverse()
          Get the inverse (or pseudo-inverse) of the decomposed matrix.
 boolean isNonSingular()
          Check if the decomposed matrix is non-singular.
 RealMatrix solve(RealMatrix b)
          Solve the linear equation A × X = B for matrices A.
 RealVector solve(RealVector b)
          Solve the linear equation A × X = B for matrices A.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

qrt

private final double[][] qrt
A packed TRANSPOSED representation of the QR decomposition.

The elements BELOW the diagonal are the elements of the UPPER triangular matrix R, and the rows ABOVE the diagonal are the Householder reflector vectors from which an explicit form of Q can be recomputed if desired.


rDiag

private final double[] rDiag
The diagonal elements of R.


threshold

private final double threshold
Singularity threshold.

Constructor Detail

QRDecomposition.Solver

private QRDecomposition.Solver(double[][] qrt,
                               double[] rDiag,
                               double threshold)
Build a solver from decomposed matrix.

Parameters:
qrt - Packed TRANSPOSED representation of the QR decomposition.
rDiag - Diagonal elements of R.
threshold - Singularity threshold.
Method Detail

isNonSingular

public boolean isNonSingular()
Check if the decomposed matrix is non-singular.

Specified by:
isNonSingular in interface DecompositionSolver
Returns:
true if the decomposed matrix is non-singular.

solve

public RealVector solve(RealVector b)
Solve the linear equation A × X = B for matrices A.

The A matrix is implicit, it is provided by the underlying decomposition algorithm.

Specified by:
solve in interface DecompositionSolver
Parameters:
b - right-hand side of the equation A × X = B
Returns:
a vector X that minimizes the two norm of A × X - B

solve

public RealMatrix solve(RealMatrix b)
Solve the linear equation A × X = B for matrices A.

The A matrix is implicit, it is provided by the underlying decomposition algorithm.

Specified by:
solve in interface DecompositionSolver
Parameters:
b - right-hand side of the equation A × X = B
Returns:
a matrix X that minimizes the two norm of A × X - B

getInverse

public RealMatrix getInverse()
Get the inverse (or pseudo-inverse) of the decomposed matrix.

Specified by:
getInverse in interface DecompositionSolver
Returns:
inverse matrix


Copyright (c) 2003-2013 Apache Software Foundation