|
Open CASCADE Technology
6.7.1
|
This class implements the Gauss LU decomposition (Crout algorithm)
with partial pivoting (rows interchange) of a square matrix and
the different possible derived calculation :
More...
#include <math_Gauss.hxx>
Public Member Functions | |
| math_Gauss (const math_Matrix &A, const Standard_Real MinPivot=1.0e-20) | |
| Given an input n X n matrix A this constructor performs its LU decomposition with partial pivoting (interchange of rows). 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 A is considered as singular. Exception NotSquare is raised if A is not a square matrix. More... | |
| Standard_Boolean | IsDone () const |
| Returns true if the computations are successful, otherwise returns false More... | |
| void | Solve (const math_Vector &B, math_Vector &X) const |
| Given the input Vector B this routine returns the solution X of 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 is not equal to the number of rows of A. More... | |
| void | Solve (math_Vector &B) const |
| Given the input Vector B this routine solves the set of linear equations A . X = B. B is replaced by the vector solution X. Exception NotDone is raised if the decomposition of A was not done successfully. Exception DimensionError is raised if the range of B is not equal to the number of rows of A. More... | |
| Standard_Real | Determinant () const |
| This routine returns the value of the determinant of the previously LU decomposed matrix A. Exception NotDone may be raised if the decomposition of A was not done successfully, zero is returned if the matrix A was considered as singular. More... | |
| void | Invert (math_Matrix &Inv) const |
| This routine outputs Inv the inverse of the previously LU decomposed matrix A. Exception DimensionError is raised if the ranges of B are not equal to the ranges 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_IntegerVector | Index |
| Standard_Real | D |
This class implements the Gauss LU decomposition (Crout algorithm)
with partial pivoting (rows interchange) of a square matrix and
the different possible derived calculation :
| math_Gauss::math_Gauss | ( | const math_Matrix & | A, |
| const Standard_Real | MinPivot = 1.0e-20 |
||
| ) |
Given an input n X n matrix A this constructor performs its LU
decomposition with partial pivoting (interchange of rows).
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 A is
considered as singular.
Exception NotSquare is raised if A is not a square matrix.
| Standard_Real math_Gauss::Determinant | ( | ) | const |
This routine returns the value of the determinant of the previously LU
decomposed matrix A.
Exception NotDone may be raised if the decomposition of A was not done
successfully, zero is returned if the matrix A was considered as singular.
| void math_Gauss::Dump | ( | Standard_OStream & | o | ) | const |
Prints on the stream o information on the current state
of the object.
Is used to redefine the operator <<.
| void math_Gauss::Invert | ( | math_Matrix & | Inv | ) | const |
This routine outputs Inv the inverse of the previously LU decomposed
matrix A.
Exception DimensionError is raised if the ranges of B are not
equal to the ranges of A.
| Standard_Boolean math_Gauss::IsDone | ( | ) | const |
Returns true if the computations are successful, otherwise returns false
| void math_Gauss::Solve | ( | const math_Vector & | B, |
| math_Vector & | X | ||
| ) | const |
Given the input Vector B this routine returns the solution X of 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 is not
equal to the number of rows of A.
| void math_Gauss::Solve | ( | math_Vector & | B | ) | const |
Given the input Vector B this routine solves the set of linear
equations A . X = B. B is replaced by the vector solution X.
Exception NotDone is raised if the decomposition of A was not done
successfully.
Exception DimensionError is raised if the range of B is not
equal to the number of rows of A.
|
protected |
|
protected |
|
protected |
|
protected |
1.8.5