ViennaCL - The Vienna Computing Library  1.7.1
Free open-source GPU-accelerated linear algebra and solver library.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
viennacl::linalg::bicgstab_solver< VectorT > Class Template Reference

#include <bicgstab.hpp>

Public Types

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

Public Member Functions

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

Detailed Description

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

Examples:
iterative-custom.cpp.

Definition at line 538 of file bicgstab.hpp.

Member Typedef Documentation

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

Definition at line 541 of file bicgstab.hpp.

Constructor & Destructor Documentation

template<typename VectorT >
viennacl::linalg::bicgstab_solver< VectorT >::bicgstab_solver ( bicgstab_tag const &  tag)
inline

Definition at line 543 of file bicgstab.hpp.

Member Function Documentation

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

Definition at line 546 of file bicgstab.hpp.

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

Definition at line 560 of file bicgstab.hpp.

template<typename VectorT >
void viennacl::linalg::bicgstab_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 569 of file bicgstab.hpp.

template<typename VectorT >
void viennacl::linalg::bicgstab_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 578 of file bicgstab.hpp.

template<typename VectorT >
bicgstab_tag const& viennacl::linalg::bicgstab_solver< VectorT >::tag ( ) const
inline

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

Definition at line 585 of file bicgstab.hpp.


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