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

FoundationClasses
TKMath
math


math_Gauss Class Reference

This class implements the Gauss LU decomposition (Crout algorithm)
with partial pivoting (rows interchange) of a square matrix and
the different possible derived calculation :
- solution of a set of linear equations.
- inverse of a matrix.
- determinant of a matrix.
.

#include <math_Gauss.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_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_Boolean IsDone () const
 Returns true if the computations are successful, otherwise returns false
.
Standard_EXPORT 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.
.
Standard_EXPORT 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.
.
Standard_EXPORT 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.
.
Standard_EXPORT 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.
.
Standard_EXPORT 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 <<.
.

Protected Attributes

Standard_Boolean Singular
math_Matrix LU
math_IntegerVector Index
Standard_Real D

Private Attributes

Standard_Boolean Done


Constructor & Destructor Documentation

Standard_EXPORT math_Gauss::math_Gauss const math_Matrix A,
const Standard_Real  MinPivot = 1.0e-20
 


Member Function Documentation

Standard_EXPORT Standard_Real math_Gauss::Determinant  )  const
 

Standard_EXPORT void math_Gauss::Dump Standard_OStream o  )  const
 

Standard_EXPORT void math_Gauss::Invert math_Matrix Inv  )  const
 

Standard_Boolean math_Gauss::IsDone  )  const [inline]
 

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

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

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

Standard_EXPORT void math_Gauss::Solve math_Vector B  )  const
 

Standard_EXPORT void math_Gauss::Solve const math_Vector B,
math_Vector X
const
 


Field Documentation

Standard_Real math_Gauss::D [protected]
 

Standard_Boolean math_Gauss::Done [private]
 

math_IntegerVector math_Gauss::Index [protected]
 

math_Matrix math_Gauss::LU [protected]
 

Standard_Boolean math_Gauss::Singular [protected]
 


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