Stokhos  Development
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator
Public Types | Public Member Functions | Protected Attributes
cusp::default_block_monitor< ValueType > Class Template Reference

#include <block_monitor.h>

List of all members.

Public Types

typedef norm_type< ValueType >
::type 
Real

Public Member Functions

template<typename MV >
 default_block_monitor (const MV &b, size_t iteration_limit=500, Real absolute_tolerance=1e-6, Real relative_tolerance=1e-6, bool verbose=true)
void operator++ (void)
template<typename MV >
bool finished (const MV &r)
template<typename MV >
bool converged (MV &r) const
size_t iteration_count () const
size_t iteration_limit () const
Real relative_tolerance () const
Real absolute_tolerance () const
Real tolerance (int i) const

Protected Attributes

Real relative_tolerance_
Real absolute_tolerance_
bool verbose_
size_t numRHS
size_t iteration_limit_
size_t iteration_count_
cusp::array1d< ValueType,
cusp::host_memory > 
b_norm

Detailed Description

template<typename ValueType>
class cusp::default_block_monitor< ValueType >

default_monitor : Implements standard convergence criteria and reporting for iterative solvers.

Template Parameters:
ValueTypescalar type used in the solver (e.g. float or cusp::complex<double>).
See also:
verbose_monitor

Constructor & Destructor Documentation

template<typename ValueType >
template<typename MV >
cusp::default_block_monitor< ValueType >::default_block_monitor ( const MV &  b,
size_t  iteration_limit = 500,
Real  absolute_tolerance = 1e-6,
Real  relative_tolerance = 1e-6,
bool  verbose = true 
) [inline]

Construct a default_monitor for a given right-hand-side b

The default_monitor terminates iteration when the residual norm satisfies the condition ||b - A x|| <= absolute_tolerance + relative_tolerance * ||b|| or when the iteration limit is reached.

Parameters:
bright-hand-side of the linear system A x = b
iteration_limitmaximum number of solver iterations to allow
relative_tolerancedetermines convergence criteria
absolute_tolerancedetermines convergence criteria
Template Parameters:
VectorTypevector

Member Function Documentation

template<typename ValueType >
Real cusp::default_block_monitor< ValueType >::absolute_tolerance ( ) const [inline]

absolute tolerance

template<typename ValueType >
template<typename MV >
bool cusp::default_block_monitor< ValueType >::converged ( MV &  r) const [inline]

whether the last tested residual satifies the convergence tolerance

template<typename ValueType >
template<typename MV >
bool cusp::default_block_monitor< ValueType >::finished ( const MV &  r) [inline]

applies convergence criteria to determine whether iteration is finished

Parameters:
rresidual vector of the linear system (r = b - A x)
Template Parameters:
Vectorvector
template<typename ValueType >
size_t cusp::default_block_monitor< ValueType >::iteration_count ( ) const [inline]

number of iterations

template<typename ValueType >
size_t cusp::default_block_monitor< ValueType >::iteration_limit ( ) const [inline]

maximum number of iterations

template<typename ValueType >
void cusp::default_block_monitor< ValueType >::operator++ ( void  ) [inline]

increment the iteration count

template<typename ValueType >
Real cusp::default_block_monitor< ValueType >::relative_tolerance ( ) const [inline]

relative tolerance

template<typename ValueType >
Real cusp::default_block_monitor< ValueType >::tolerance ( int  i) const [inline]

tolerance

Equal to absolute_tolerance() + relative_tolerance() * ||b||


The documentation for this class was generated from the following file:
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator