|
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().
1.8.5