Open CASCADE Technology 6.6.0
Public Member Functions | Protected Member Functions
math_Householder Class Reference

This class implements the least square solution of a set of
linear equations of m unknowns (n >= m) using the Householder
method. It solves A.X = B.
This algorithm has more numerical stability than
GaussLeastSquare but is longer.
It must be used if the matrix is singular or nearly singular.
It is about 16% longer than GaussLeastSquare if there is only
one member B to solve.
It is about 30% longer if there are twenty B members to solve.

#include <math_Householder.hxx>

Public Member Functions

 math_Householder (const math_Matrix &A, const math_Matrix &B, const Standard_Real EPS=1.0e-20)
 Given an input matrix A with n>= m, given an input matrix B
this constructor performs the least square resolution of
the set of linear equations A.X = B for each column of B.
If a column norm is less than EPS, the resolution can't
be done.
Exception DimensionError is raised if the row number of B
is different from the A row number.

 math_Householder (const math_Matrix &A, const math_Matrix &B, const Standard_Integer lowerArow, const Standard_Integer upperArow, const Standard_Integer lowerAcol, const Standard_Integer upperAcol, const Standard_Real EPS=1.0e-20)
 Given an input matrix A with n>= m, given an input matrix B
this constructor performs the least square resolution of
the set of linear equations A.X = B for each column of B.
If a column norm is less than EPS, the resolution can't
be done.
Exception DimensionError is raised if the row number of B
is different from the A row number.

 math_Householder (const math_Matrix &A, const math_Vector &B, const Standard_Real EPS=1.0e-20)
 Given an input matrix A with n>= m, given an input vector B
this constructor performs the least square resolution of
the set of linear equations A.X = B.
If a column norm is less than EPS, the resolution can't
be done.
Exception DimensionError is raised if the length of B
is different from the A row number.

Standard_Boolean IsDone () const
 Returns true if the computations are successful, otherwise returns false.

void Value (math_Vector &sol, const Standard_Integer Index=1) const
 Given the integer Index, this routine returns the
corresponding least square solution sol.
Exception NotDone is raised if the resolution has not be
done.
Exception OutOfRange is raised if Index <=0 or
Index is more than the number of columns of B.

const math_MatrixAllValues () const
 Returns the matrix sol of all the solutions of the system
A.X = B.
Exception NotDone is raised is the resolution has not be
done.

void Dump (Standard_OStream &o) const
 Prints informations on the current state of the object.

Protected Member Functions

void Perform (const math_Matrix &A, const math_Matrix &B, const Standard_Real EPS)
 This method is used internally for each constructor
above and can't be used directly.


Constructor & Destructor Documentation

math_Householder::math_Householder ( const math_Matrix A,
const math_Matrix B,
const Standard_Real  EPS = 1.0e-20 
)
math_Householder::math_Householder ( const math_Matrix A,
const math_Matrix B,
const Standard_Integer  lowerArow,
const Standard_Integer  upperArow,
const Standard_Integer  lowerAcol,
const Standard_Integer  upperAcol,
const Standard_Real  EPS = 1.0e-20 
)
math_Householder::math_Householder ( const math_Matrix A,
const math_Vector B,
const Standard_Real  EPS = 1.0e-20 
)

Member Function Documentation

const math_Matrix& math_Householder::AllValues ( ) const
void math_Householder::Dump ( Standard_OStream o) const
Standard_Boolean math_Householder::IsDone ( ) const
void math_Householder::Perform ( const math_Matrix A,
const math_Matrix B,
const Standard_Real  EPS 
) [protected]
void math_Householder::Value ( math_Vector sol,
const Standard_Integer  Index = 1 
) const

The documentation for this class was generated from the following file:
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines