 YANE-Framework 1.1.0

yane::EqSys::Gauss Class Reference

Class of the Gauss Method for linear equation systems. More...

Inheritance diagram for yane::EqSys::Gauss:
[legend]
Collaboration diagram for yane::EqSys::Gauss:
[legend]

List of all members.

Public Member Functions

void backwardSolution (double *x)
Method to solve an upper triangular linear equation system.
void decomposition (void)
Method to compute the Gauss decomposition.
int dimensionColumns ()
Method to obtain the column dimension of the system matrix.
int dimensionRows ()
Method to obtain the row dimension of the system matrix.
void exchangeRows (int i, int j)
Method to exchange rows within the matrix.
Gauss ()
Constructor.
void initialize (double *A, int dimensionRows, int dimensionColumns, double *b, int dimensionB)
Method to initialize the linear equation problem.
void initializeLargescale (double **A, int dimensionRows, int dimensionColumns, double *b, int dimensionB)
Method to initialize the linear equation problem.
void solve (double *x)
Method to solve the linear equation problem.
~Gauss ()
Destructor.

Protected Attributes

double * _A
System matrix stored by line in a large vector.
double ** _A_largescale
System matrix with double pointers for large scale matrices.
double * _b
Data vector of the problem.
int _dimensionB
Dimension of data vector.
int _dimensionColumns
Column dimension of the system matrix.
int _dimensionRows
Row dimension of the system matrix.
bool _initialized
Decision variable on initialization status of the linear equation problem.
bool _largescale
Decision variable whether large scale solution methods shall be used.

Static Protected Attributes

static const double _epsilon = 1e-12
Constant to check for numerical singularity of the system matrix.

<

Member Function Documentation

 LIB_EXPORT void yane::EqSys::DirectMethods::backwardSolution ( double * x ) [inherited]

Method to solve an upper triangular linear equation system

Parameters:
 x Solution vector of the problems
 LIB_EXPORT void yane::EqSys::Gauss::decomposition ( void ) [virtual]

Method to compute the Gauss decomposition

Exceptions:
 yane::Utils::NotInitializedException is thrown if the linear equation problem is not initialized yane::Utils::IndexException is thrown if the matrix is not quadratic yane::Utils::Exception is thrown if matrix is numerically singular

Implements yane::EqSys::DirectMethods.

 LIB_EXPORT int yane::EqSys::LinearEquations::dimensionColumns ( ) [inherited]

Method to obtain the column dimension of the system matrix

Returns:
Column dimension of the system matrix
 LIB_EXPORT int yane::EqSys::LinearEquations::dimensionRows ( ) [inherited]

Method to obtain the row dimension of the system matrix

Returns:
Row dimension of the system matrix
 LIB_EXPORT void yane::EqSys::Gauss::exchangeRows ( int i, int j )

Method to exchange rows within the matrix

Parameters:
 i Row index i j Row index j
 LIB_EXPORT void yane::EqSys::LinearEquations::initialize ( double * A, int dimensionRows, int dimensionColumns, double * b, int dimensionB ) [inherited]

Method to initialize the linear equation problem

Parameters:
 A System matrix dimensionRows Row dimension of the system matrix dimensionColumns Column dimension of the system matrix b Data vector of the problem dimensionB Dimension of the data vector
Exceptions:
 ValueException is thrown if row dimension of the matrix and dimension of the data vector are not identical
 LIB_EXPORT void yane::EqSys::LinearEquations::initializeLargescale ( double ** A, int dimensionRows, int dimensionColumns, double * b, int dimensionB ) [inherited]

Method to initialize the linear equation problem

Parameters:
 A System matrix dimensionRows Row dimension of the system matrix dimensionColumns Column dimension of the system matrix b Data vector of the problem dimensionB Dimension of the data vector
Exceptions:
 ValueException is thrown if row dimension of the matrix and dimension of the data vector are not identical
 LIB_EXPORT void yane::EqSys::DirectMethods::solve ( double * x ) [virtual, inherited]

Method to solve the linear equation problem

Parameters:
 x Solution vector of the problem
Exceptions:
 yane::Utils::NotInitializedException is thrown if the linear equation problem has not been initialized yane::Utils::Exception is thrown if the decomposition matrix could not be computed

Implements yane::EqSys::LinearEquations.

Reimplemented in yane::EqSys::Cholesky.