|
Open CASCADE Technology
6.7.1
|
This class implements the least square solution of a set of
n linear equations of m unknowns (n >= m) using the gauss LU
decomposition algorithm.
This algorithm is more likely subject to numerical instability
than math_SVD.
More...
#include <math_GaussLeastSquare.hxx>
Public Member Functions | |
| math_GaussLeastSquare (const math_Matrix &A, const Standard_Real MinPivot=1.0e-20) | |
| Given an input n X m matrix A with n >= m this constructor performs the LU decomposition with partial pivoting (interchange of rows) of the matrix AA = A.Transposed() * A; This LU decomposition is stored internally and may be used to do subsequent calculation. If the largest pivot found is less than MinPivot the matrix is considered as singular. More... | |
| Standard_Boolean | IsDone () const |
| Returns true if the computations are successful, otherwise returns false.e More... | |
| void | Solve (const math_Vector &B, math_Vector &X) const |
| Given the input Vector this routine solves the set of linear equations A . X = B. Exception NotDone is raised if the decomposition of A was not done successfully. Exception DimensionError is raised if the range of B Inv is not equal to the rowrange of A. Exception DimensionError is raised if the range of X Inv is not equal to the colrange of A. More... | |
| void | Dump (Standard_OStream &o) const |
| Prints on the stream o information on the current state of the object. Is used to redefine the operator <<. More... | |
Protected Attributes | |
| Standard_Boolean | Singular |
| math_Matrix | LU |
| math_Matrix | A2 |
| math_IntegerVector | Index |
| Standard_Real | D |
This class implements the least square solution of a set of
n linear equations of m unknowns (n >= m) using the gauss LU
decomposition algorithm.
This algorithm is more likely subject to numerical instability
than math_SVD.
| math_GaussLeastSquare::math_GaussLeastSquare | ( | const math_Matrix & | A, |
| const Standard_Real | MinPivot = 1.0e-20 |
||
| ) |
Given an input n X m matrix A with n >= m this constructor
performs the LU decomposition with partial pivoting
(interchange of rows) of the matrix AA = A.Transposed() * A;
This LU decomposition is stored internally and may be used
to do subsequent calculation.
If the largest pivot found is less than MinPivot the matrix
is considered as singular.
| void math_GaussLeastSquare::Dump | ( | Standard_OStream & | o | ) | const |
Prints on the stream o information on the current state
of the object.
Is used to redefine the operator <<.
| Standard_Boolean math_GaussLeastSquare::IsDone | ( | ) | const |
Returns true if the computations are successful, otherwise returns false.e
| void math_GaussLeastSquare::Solve | ( | const math_Vector & | B, |
| math_Vector & | X | ||
| ) | const |
Given the input Vector this routine solves the set
of linear equations A . X = B.
Exception NotDone is raised if the decomposition of A was
not done successfully.
Exception DimensionError is raised if the range of B Inv is
not equal to the rowrange of A.
Exception DimensionError is raised if the range of X Inv is
not equal to the colrange of A.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
1.8.5