Stokhos
Development
|
#include <block_monitor.h>
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 |
default_monitor
: Implements standard convergence criteria and reporting for iterative solvers.
ValueType | scalar type used in the solver (e.g. float or cusp::complex<double> ). |
verbose_monitor
|
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.
b | right-hand-side of the linear system A x = b |
iteration_limit | maximum number of solver iterations to allow |
relative_tolerance | determines convergence criteria |
absolute_tolerance | determines convergence criteria |
VectorType | vector |
|
inline |
absolute tolerance
Referenced by cusp::default_block_monitor< ValueType >::tolerance().
|
inline |
whether the last tested residual satifies the convergence tolerance
References cusp::default_block_monitor< ValueType >::tolerance().
Referenced by cusp::default_block_monitor< ValueType >::finished().
|
inline |
applies convergence criteria to determine whether iteration is finished
r | residual vector of the linear system (r = b - A x) |
Vector | vector |
References cusp::default_block_monitor< ValueType >::converged(), cusp::default_block_monitor< ValueType >::iteration_count(), cusp::default_block_monitor< ValueType >::iteration_limit(), and cusp::default_block_monitor< ValueType >::tolerance().
|
inline |
number of iterations
Referenced by cusp::default_block_monitor< ValueType >::finished().
|
inline |
maximum number of iterations
Referenced by cusp::default_block_monitor< ValueType >::finished().
|
inline |
increment the iteration count
|
inline |
relative tolerance
Referenced by cusp::default_block_monitor< ValueType >::tolerance().
|
inline |
tolerance
Equal to absolute_tolerance() + relative_tolerance() * ||b||
References cusp::default_block_monitor< ValueType >::absolute_tolerance(), and cusp::default_block_monitor< ValueType >::relative_tolerance().
Referenced by cusp::default_block_monitor< ValueType >::converged(), and cusp::default_block_monitor< ValueType >::finished().