ConicBundle
Public Member Functions | List of all members
CH_Matrix_Classes::IterativeSolverObject Class Referenceabstract

Abstract interface to iterative methods for solving Ax=b given by an IterativeSystemObject. More...

#include <IterativeSystemObject.hxx>

Inheritance diagram for CH_Matrix_Classes::IterativeSolverObject:
CH_Matrix_Classes::MinRes CH_Matrix_Classes::PCG CH_Matrix_Classes::Psqmr

Public Member Functions

virtual int compute (IterativeSystemObject &system, Matrix &x, Real termprec, Matrix *storex=0, Integer storestep=0)=0
 compute the solution for system into x with (absolute) residual precision termprec More...
 
Set and Get Parameters

There should be no need to set any parameters, default values should be available and reasonable.

virtual void set_maxit (Integer in_maxit)=0
 set maximum number of iterations
 
virtual Integer get_maxit () const =0
 get maximum number of iterations
 
virtual int get_err () const =0
 returns the error code of the last call
 
virtual Integer get_nmult () const =0
 returns the number of matrix-vector multiplications of the last call
 
virtual Real get_residual_norm () const =0
 returns the residual norm of last call
 
virtual Real get_avg_reduction () const =0
 returns the average of the achieved reduction factor per iteration
 
virtual Real get_termprec () const =0
 returns the (absolute) precision requirement for termination used in the last call
 
Input/Output
virtual void set_out (std::ostream *out=0, int print_level=1)=0
 set output stream and level of detail of log output (for debugging)
 

Detailed Description

Abstract interface to iterative methods for solving Ax=b given by an IterativeSystemObject.

Member Function Documentation

◆ compute()

virtual int CH_Matrix_Classes::IterativeSolverObject::compute ( IterativeSystemObject system,
Matrix x,
Real  termprec,
Matrix storex = 0,
Integer  storestep = 0 
)
pure virtual

compute the solution for system into x with (absolute) residual precision termprec

Parameters
systemthe system information with precond
xon input: starting point (x.dim()==0 uses 0-vector), on output: approx. sol.,
termprec!absolute! termination precision, stop if residual norm<= termprec,
storexif not null, store initial x and the x of i*recordstep
storestepif 0 and xrecord!=0 store only the initial x

Implemented in CH_Matrix_Classes::MinRes, CH_Matrix_Classes::PCG, and CH_Matrix_Classes::Psqmr.


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