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

FoundationClasses
TKMath
math


math_Crout Class Reference

This class implements the Crout algorithm used to solve a
system A*X = B where A is a symmetric matrix. It can be used to
invert a symmetric matrix.
This algorithm is similar to Gauss but is faster than Gauss.
Only the inferior triangle of A and the diagonal can be given.
.

#include <math_Crout.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_Crout (const math_Matrix &A, const Standard_Real MinPivot=1.0e-20)
 Given an input matrix A, this algorithm inverts A by the
Crout algorithm. The user can give only the inferior
triangle for the implementation.
A can be decomposed like this:
A = L * D * T(L) where L is triangular inferior and D is
diagonal.
If one element of A is less than MinPivot, A is
considered as singular.
Exception NotSquare is raised if A is not a square matrix.
.
Standard_Boolean IsDone () const
 Returns True if all has been correctly done.
.
Standard_EXPORT void Solve (const math_Vector &B, math_Vector &X) const
 Given an input vector , this routine returns the
solution of the set of linear equations A . X = B.
Exception NotDone is raised if the decomposition was not
done successfully.
Exception DimensionError is raised if the range of B is
not equal to the rowrange of A.
.

const math_MatrixInverse () const
 returns the inverse matrix of A. Only the inferior
triangle is returned.
Exception NotDone is raised if NotDone.

void Invert (math_Matrix &Inv) const
 returns in Inv the inverse matrix of A. Only the inferior
triangle is returned.
Exception NotDone is raised if NotDone.

Standard_Real Determinant () const
 Returns the value of the determinant of the previously LU
decomposed matrix A. Zero is returned if the matrix A is considered as singular.
Exceptions
StdFail_NotDone if the algorithm fails (and IsDone returns false).
.
Standard_EXPORT void Dump (Standard_OStream &o) const
 Prints on the stream o information on the current state
of the object.
.

Private Attributes

math_Matrix InvA
Standard_Boolean Done
Standard_Real Det


Constructor & Destructor Documentation

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


Member Function Documentation

Standard_Real math_Crout::Determinant  )  const [inline]
 

Standard_EXPORT void math_Crout::Dump Standard_OStream o  )  const
 

const math_Matrix & math_Crout::Inverse  )  const [inline]
 

void math_Crout::Invert math_Matrix Inv  )  const [inline]
 

Standard_Boolean math_Crout::IsDone  )  const [inline]
 

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

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

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

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


Field Documentation

Standard_Real math_Crout::Det [private]
 

Standard_Boolean math_Crout::Done [private]
 

math_Matrix math_Crout::InvA [private]
 


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