YANE-Framework 1.1.0
Public Member Functions | Protected Attributes | Static Protected Attributes

yane::EqSys::Cholesky Class Reference

Class of the Cholesky method for solving symmetric and positive definit linear equation problems. More...

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

List of all members.

Public Member Functions

void backwardSolution (double *x)
 Method to solve an upper triangular linear equation system.
 Cholesky ()
 Constructor.
void decomposition (void)
 Method to compute the Cholesky 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 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 setCheckmatrix (bool checkmatrix)
 Method to set the symmetry checking decision variable.
void solve (double *x)
 Method to solve the linear equation problem.
 ~Cholesky ()
 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.

Detailed Description

<


Member Function Documentation

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

Method to solve an upper triangular linear equation system

Parameters:
xSolution vector of the problems
LIB_EXPORT void yane::EqSys::Cholesky::decomposition ( void  ) [virtual]

Method to compute the Cholesky decomposition

Exceptions:
yane::Utils::NotInitializedExceptionis thrown if the linear equation problem has not been initialized

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::LinearEquations::initialize ( double *  A,
int  dimensionRows,
int  dimensionColumns,
double *  b,
int  dimensionB 
) [inherited]

Method to initialize the linear equation problem

Parameters:
ASystem matrix
dimensionRowsRow dimension of the system matrix
dimensionColumnsColumn dimension of the system matrix
bData vector of the problem
dimensionBDimension of the data vector
Exceptions:
ValueExceptionis 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:
ASystem matrix
dimensionRowsRow dimension of the system matrix
dimensionColumnsColumn dimension of the system matrix
bData vector of the problem
dimensionBDimension of the data vector
Exceptions:
ValueExceptionis thrown if row dimension of the matrix and dimension of the data vector are not identical
LIB_EXPORT void yane::EqSys::Cholesky::setCheckmatrix ( bool  checkmatrix)

Method to set the symmetry checking decision variable

Parameters:
checkmatrixDecision variable if check for symmetry shall be executed
LIB_EXPORT void yane::EqSys::Cholesky::solve ( double *  x) [virtual]

Method to solve the linear equation problem

Parameters:
xSolution vector of the problem
Exceptions:
yane::Utils::NotInitializedExceptionis thrown if the linear equation problem has not been initialized

Reimplemented from yane::EqSys::DirectMethods.