ViennaCL - The Vienna Computing Library  1.7.0
Free open-source GPU-accelerated linear algebra and solver library.
viennacl::linalg::gmres_solver< VectorT > Class Template Reference

#include <gmres.hpp>

Public Types

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

Public Member Functions

 gmres_solver (gmres_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...
 
gmres_tag const & tag () const
 Returns the solver tag containing basic configuration such as tolerances, etc. More...
 

Detailed Description

template<typename VectorT>
class viennacl::linalg::gmres_solver< VectorT >

Examples:
iterative-custom.cpp.

Definition at line 678 of file gmres.hpp.

Member Typedef Documentation

template<typename VectorT>
typedef viennacl::result_of::cpu_value_type<VectorT>::type viennacl::linalg::gmres_solver< VectorT >::numeric_type

Definition at line 681 of file gmres.hpp.

Constructor & Destructor Documentation

template<typename VectorT>
viennacl::linalg::gmres_solver< VectorT >::gmres_solver ( gmres_tag const &  tag)
inline

Definition at line 683 of file gmres.hpp.

Member Function Documentation

template<typename VectorT>
template<typename MatrixT , typename PreconditionerT >
VectorT viennacl::linalg::gmres_solver< VectorT >::operator() ( MatrixT const &  A,
VectorT const &  b,
PreconditionerT const &  precond 
) const
inline

Definition at line 686 of file gmres.hpp.

template<typename VectorT>
template<typename MatrixT >
VectorT viennacl::linalg::gmres_solver< VectorT >::operator() ( MatrixT const &  A,
VectorT const &  b 
) const
inline

Definition at line 700 of file gmres.hpp.

template<typename VectorT>
void viennacl::linalg::gmres_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 709 of file gmres.hpp.

template<typename VectorT>
void viennacl::linalg::gmres_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 718 of file gmres.hpp.

template<typename VectorT>
gmres_tag const& viennacl::linalg::gmres_solver< VectorT >::tag ( ) const
inline

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

Definition at line 725 of file gmres.hpp.


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