Public Member Functions | Protected Member Functions | Protected Attributes

Implements a conjugate gradient method as sparse linear algebra solver for symmetric linear systems. More...

#include <symmetric_conjugate_gradient_method.hpp>

Inheritance diagram for SymmetricConjugateGradientMethod:
Inheritance graph
[legend]

List of all members.

Public Member Functions

virtual SparseSolverclone () const
virtual returnValue setIndices (const int *rowIdx_, const int *colIdx_)
virtual returnValue setIndices (const int *indices_)
 SymmetricConjugateGradientMethod ()
 SymmetricConjugateGradientMethod (const SymmetricConjugateGradientMethod &arg)
virtual ~SymmetricConjugateGradientMethod ()

Protected Member Functions

virtual returnValue applyInversePreconditioner (double *x_)
virtual returnValue applyPreconditioner (double *b)
virtual returnValue computePreconditioner (double *A_)
virtual void multiply (double *xx, double *result)

Protected Attributes

int * diag
int ** index
int * nIndex

Detailed Description

Implements a conjugate gradient method as sparse linear algebra solver for symmetric linear systems.

The class SymmetricConjugateGradientMethod is a conjugate gradient method
which allows to solve symmetric linear equation of the form

A * x = b

where A is symmetric and positive definite.

Author:
Boris Houska, Hans Joachim Ferreau
Date:
2009

Definition at line 61 of file symmetric_conjugate_gradient_method.hpp.


Constructor & Destructor Documentation

Default constructor.

Definition at line 46 of file symmetric_conjugate_gradient_method.cpp.

Copy constructor (deep copy).

Definition at line 55 of file symmetric_conjugate_gradient_method.cpp.

Destructor.

Definition at line 88 of file symmetric_conjugate_gradient_method.cpp.


Member Function Documentation

Applies the inverse of the preconditioner to the vector x (only internal use)

Implements ConjugateGradientMethod.

Definition at line 263 of file symmetric_conjugate_gradient_method.cpp.

Applies the preconditioner to the vector b (only internal use)

Implements ConjugateGradientMethod.

Definition at line 250 of file symmetric_conjugate_gradient_method.cpp.

Clone operator (deep copy).

Implements ConjugateGradientMethod.

Definition at line 105 of file symmetric_conjugate_gradient_method.cpp.

Computes the preconditioner and Applies it to the input matrix.

Implements ConjugateGradientMethod.

Definition at line 227 of file symmetric_conjugate_gradient_method.cpp.

void SymmetricConjugateGradientMethod::multiply ( double *  xx,
double *  result 
) [protected, virtual]

Evaluates the matrix-vector product result = A*xx efficiently. (only internal use)

Implements ConjugateGradientMethod.

Definition at line 207 of file symmetric_conjugate_gradient_method.cpp.

returnValue SymmetricConjugateGradientMethod::setIndices ( const int *  rowIdx_,
const int *  colIdx_ 
) [virtual]

Sets an index list containing the positions of the
non-zero elements in the matrix A.

Implements ConjugateGradientMethod.

Definition at line 111 of file symmetric_conjugate_gradient_method.cpp.

returnValue SymmetricConjugateGradientMethod::setIndices ( const int *  indices_) [virtual]

Sets an index list containing the positions of the
non-zero elements in the matrix A.

Definition at line 117 of file symmetric_conjugate_gradient_method.cpp.


Member Data Documentation

Definition at line 128 of file symmetric_conjugate_gradient_method.hpp.

Definition at line 126 of file symmetric_conjugate_gradient_method.hpp.

Definition at line 127 of file symmetric_conjugate_gradient_method.hpp.


The documentation for this class was generated from the following files:


acado
Author(s): Milan Vukov, Rien Quirynen
autogenerated on Sat Jun 8 2019 19:40:26