OCC Main Page | FoundationClasses | Toolkits | Packages | Class Hierarchy | Data Structures | File List | Data Fields | Globals

FoundationClasses
TKMath
math


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

void * operator new (size_t, void *anAddress)
void * operator new (size_t size)
void operator delete (void *anAddress)
Standard_EXPORT 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.
.
Standard_EXPORT 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.
.
Standard_EXPORT 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.
.
Standard_EXPORT void Dump (Standard_OStream &o) const
 Prints informations on the current state of the object.
.

Protected Member Functions

Standard_EXPORT 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.
.

Private Attributes

math_Matrix Sol
math_Matrix Q
Standard_Boolean Done
Standard_Integer mylowerArow
Standard_Integer myupperArow
Standard_Integer mylowerAcol
Standard_Integer myupperAcol


Constructor & Destructor Documentation

Standard_EXPORT math_Householder::math_Householder const math_Matrix A,
const math_Matrix B,
const Standard_Real  EPS = 1.0e-20
 

Standard_EXPORT 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
 

Standard_EXPORT 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 [inline]
 

Standard_EXPORT void math_Householder::Dump Standard_OStream o  )  const
 

Standard_Boolean math_Householder::IsDone  )  const [inline]
 

void math_Householder::operator delete void *  anAddress  )  [inline]
 

void* math_Householder::operator new size_t  size  )  [inline]
 

void* math_Householder::operator new size_t  ,
void *  anAddress
[inline]
 

Standard_EXPORT 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 [inline]
 


Field Documentation

Standard_Boolean math_Householder::Done [private]
 

Standard_Integer math_Householder::mylowerAcol [private]
 

Standard_Integer math_Householder::mylowerArow [private]
 

Standard_Integer math_Householder::myupperAcol [private]
 

Standard_Integer math_Householder::myupperArow [private]
 

math_Matrix math_Householder::Q [private]
 

math_Matrix math_Householder::Sol [private]
 


The documentation for this class was generated from the following files:
Generated on Mon Aug 25 13:12:46 2008 for OpenCASCADE by  doxygen 1.4.1