All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
viennacl::linalg::cg_solver< VectorT > Class Template Reference

`#include <cg.hpp>`

## Public Types

typedef viennacl::result_of::cpu_value_type < VectorT >::type | numeric_type

## Public Member Functions

| cg_solver (cg_tag const &tag)
template<typename MatrixT , typename PreconditionerT >
VectorT | operator() (MatrixT const &A, VectorT const &b, PreconditionerT const &precond) const
template<typename MatrixT >
VectorT | operator() (MatrixT const &A, VectorT const &b) const
void | set_initial_guess (VectorT const &x)
| Specifies an initial guess for the iterative solver. More...
void | set_monitor (bool(*monitor_fun)(VectorT const &, numeric_type, void *), void *user_data)
| Sets a monitor function pointer to be called in each iteration. Set to NULL to run without monitor. More...
cg_tag const & | tag () const
| Returns the solver tag containing basic configuration such as tolerances, etc. More...

## Detailed Description

### template<typename VectorT>
class viennacl::linalg::cg_solver< VectorT >

Examples:
  iterative-custom.cpp.

Definition at line 380 of file cg.hpp.

## Member Typedef Documentation

template<typename VectorT >

typedef viennacl::result_of::cpu_value_type<VectorT>::type viennacl::linalg::cg_solver< VectorT >::numeric_type

Definition at line 383 of file cg.hpp.

## Constructor & Destructor Documentation

template<typename VectorT >

viennacl::linalg::cg_solver< VectorT >::cg_solver | ( | cg_tag const & | tag | ) |

inline

Definition at line 385 of file cg.hpp.

## Member Function Documentation

template<typename VectorT >
template<typename MatrixT , typename PreconditionerT >

VectorT viennacl::linalg::cg_solver< VectorT >::operator() | ( | MatrixT const & | A,
|  | VectorT const & | b,
|  | PreconditionerT const & | precond
| ) |  | const

inline

Definition at line 388 of file cg.hpp.

template<typename VectorT >
template<typename MatrixT >

VectorT viennacl::linalg::cg_solver< VectorT >::operator() | ( | MatrixT const & | A,
|  | VectorT const & | b
| ) |  | const

inline

Definition at line 402 of file cg.hpp.

template<typename VectorT >

void viennacl::linalg::cg_solver< VectorT >::set_initial_guess | ( | VectorT const & | x | ) |

inline

Specifies an initial guess for the iterative solver.

An iterative solver for Ax = b with initial guess x_0 is equivalent to an iterative solver for Ay = b' := b - Ax_0, where x = x_0 + y.

Definition at line 411 of file cg.hpp.

template<typename VectorT >

void viennacl::linalg::cg_solver< VectorT >::set_monitor | ( | bool(*)(VectorT const &, numeric_type, void *) | monitor_fun,
|  | void * | user_data
| ) |  |

inline

Sets a monitor function pointer to be called in each iteration. Set to NULL to run without monitor.

The monitor function is called with the current guess for the result as first argument and the current relative residual estimate as second argument. The third argument is a pointer to user-defined data, through which additional information can be passed. This pointer needs to be set with set_monitor_data. If not set, NULL is passed. If the montior function returns true, the solver terminates (either convergence or divergence).

Definition at line 420 of file cg.hpp.

template<typename VectorT >

cg_tag const& viennacl::linalg::cg_solver< VectorT >::tag | ( |  | ) | const

inline

Returns the solver tag containing basic configuration such as tolerances, etc.

Definition at line 427 of file cg.hpp.

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

- viennacl/linalg/cg.hpp