Bridge++  Ver. 2.0.2
ASolver_SAP_MINRES< AFIELD > Class Template Reference

#include <asolver_SAP_MINRES.h>

Inheritance diagram for ASolver_SAP_MINRES< AFIELD >:
ASolver< AFIELD >

Public Types

typedef AFIELD::real_t real_t
 
typedef AIndex_block_lex< real_t, AFIELD::IMPL > block_index_t
 
- Public Types inherited from ASolver< AFIELD >
enum  InitialGuess { RHS, GIVEN, ZERO }
 
typedef AFIELD::real_t real_t
 

Public Member Functions

 ASolver_SAP_MINRES (AFopr_dd< AFIELD > *fopr, const block_index_t *block_index)
 constructor. More...
 
 ASolver_SAP_MINRES (AFopr< AFIELD > *fopr)
 
 ~ASolver_SAP_MINRES ()
 destructor. More...
 
void set_block (block_index_t *block_index)
 setting block. More...
 
void set_parameters (const Parameters &params)
 setting parameters by a Parameter object. More...
 
void set_parameters (const int Niter, const real_t Stop_cond)
 setting parameters. More...
 
void solve (AFIELD &xq, const AFIELD &b, int &nconv, real_t &diff, const int eo)
 solver main. More...
 
AFopr< AFIELD > * get_afopr ()
 returns the pointer to the fermion operator. More...
 
double flop_count ()
 returns the floating point operation count. More...
 
const std::string class_name
 
const std::string class_name
 
- Public Member Functions inherited from ASolver< AFIELD >
 ASolver ()
 
virtual ~ASolver ()
 
void set_parameter_verboselevel (const Bridge::VerboseLevel vl)
 
virtual void set_init_mode (const InitialGuess init_guess)
 
virtual AFopr< AFIELD > * get_fopr ()
 
virtual void solve (AFIELD &x, const AFIELD &b, int &nconv, real_t &diff)
 

Static Public Attributes

static const std::string class_name = "ASolver_SAP_MINRES"
 

Protected Types

using complex_t = typename AFIELD::complex_t
 

Protected Member Functions

 ASolver_SAP_MINRES ()
 calling constructor without fermion operator is forbidden. More...
 
void init (void)
 
void tidyup (void)
 

Protected Attributes

const block_index_tm_block_index
 
AFopr_dd< AFIELD > * m_fopr
 need mult_sap() More...
 
int m_Niter
 maximum iteration number. More...
 
real_t m_Stop_cond
 stopping criterion (squared). More...
 
int m_nconv
 to remember convergence iteration to provide flop count. More...
 
AFIELD m_r
 working vectors. More...
 
AFIELD m_p
 
std::vector< real_tm_r2_block
 
std::vector< real_tm_p2_block
 
std::vector< complex_tm_alpha_block
 
- Protected Attributes inherited from ASolver< AFIELD >
Bridge::VerboseLevel m_vl
 

Private Member Functions

void calc_flop_each ()
 

Private Attributes

double m_flop_each
 

Detailed Description

template<typename AFIELD>
class ASolver_SAP_MINRES< AFIELD >

Definition at line 26 of file asolver_SAP_MINRES.h.

Member Typedef Documentation

◆ block_index_t

template<typename AFIELD >
typedef AIndex_block_lex<real_t, AFIELD::IMPL> ASolver_SAP_MINRES< AFIELD >::block_index_t

Definition at line 30 of file asolver_SAP_MINRES.h.

◆ complex_t

template<typename AFIELD >
using ASolver_SAP_MINRES< AFIELD >::complex_t = typename AFIELD::complex_t
protected

Definition at line 52 of file asolver_SAP_MINRES.h.

◆ real_t

template<typename AFIELD >
typedef AFIELD::real_t ASolver_SAP_MINRES< AFIELD >::real_t

Definition at line 29 of file asolver_SAP_MINRES.h.

Constructor & Destructor Documentation

◆ ASolver_SAP_MINRES() [1/3]

template<typename AFIELD >
ASolver_SAP_MINRES< AFIELD >::ASolver_SAP_MINRES ( )
inlineprotected

calling constructor without fermion operator is forbidden.

Definition at line 47 of file asolver_SAP_MINRES.h.

◆ ASolver_SAP_MINRES() [2/3]

template<typename AFIELD >
ASolver_SAP_MINRES< AFIELD >::ASolver_SAP_MINRES ( AFopr_dd< AFIELD > *  fopr,
const block_index_t block_index 
)
inline

constructor.

Definition at line 64 of file asolver_SAP_MINRES.h.

◆ ASolver_SAP_MINRES() [3/3]

template<typename AFIELD >
ASolver_SAP_MINRES< AFIELD >::ASolver_SAP_MINRES ( AFopr< AFIELD > *  fopr)
inline

Definition at line 72 of file asolver_SAP_MINRES.h.

◆ ~ASolver_SAP_MINRES()

template<typename AFIELD >
ASolver_SAP_MINRES< AFIELD >::~ASolver_SAP_MINRES ( )
inline

destructor.

Definition at line 82 of file asolver_SAP_MINRES.h.

Member Function Documentation

◆ calc_flop_each()

template<typename AFIELD >
void ASolver_SAP_MINRES< AFIELD >::calc_flop_each
private

Definition at line 183 of file asolver_SAP_MINRES-tmpl.h.

◆ class_name() [1/2]

const std::string ASolver_SAP_MINRES< AField< double, QXS > >::class_name

Definition at line 42 of file asolver_SAP_MINRES_double.cpp.

◆ class_name() [2/2]

const std::string ASolver_SAP_MINRES< AField< float, QXS > >::class_name

Definition at line 42 of file asolver_SAP_MINRES_float.cpp.

◆ flop_count()

template<typename AFIELD >
double ASolver_SAP_MINRES< AFIELD >::flop_count
virtual

returns the floating point operation count.

Reimplemented from ASolver< AFIELD >.

Definition at line 175 of file asolver_SAP_MINRES-tmpl.h.

◆ get_afopr()

template<typename AFIELD >
AFopr<AFIELD>* ASolver_SAP_MINRES< AFIELD >::get_afopr ( )
inline

returns the pointer to the fermion operator.

Definition at line 101 of file asolver_SAP_MINRES.h.

◆ init()

template<typename AFIELD >
void ASolver_SAP_MINRES< AFIELD >::init ( void  )
protected

Definition at line 18 of file asolver_SAP_MINRES-tmpl.h.

◆ set_block()

template<typename AFIELD >
void ASolver_SAP_MINRES< AFIELD >::set_block ( block_index_t block_index)
inline

setting block.

Definition at line 85 of file asolver_SAP_MINRES.h.

◆ set_parameters() [1/2]

template<typename AFIELD >
void ASolver_SAP_MINRES< AFIELD >::set_parameters ( const int  Niter,
const real_t  Stop_cond 
)

setting parameters.

Definition at line 80 of file asolver_SAP_MINRES-tmpl.h.

◆ set_parameters() [2/2]

template<typename AFIELD >
void ASolver_SAP_MINRES< AFIELD >::set_parameters ( const Parameters params)
virtual

setting parameters by a Parameter object.

Implements ASolver< AFIELD >.

Definition at line 52 of file asolver_SAP_MINRES-tmpl.h.

◆ solve()

template<typename AFIELD >
void ASolver_SAP_MINRES< AFIELD >::solve ( AFIELD xq,
const AFIELD b,
int &  nconv,
real_t diff,
const int  eo 
)

solver main.

Definition at line 99 of file asolver_SAP_MINRES-tmpl.h.

◆ tidyup()

template<typename AFIELD >
void ASolver_SAP_MINRES< AFIELD >::tidyup ( void  )
protected

Definition at line 43 of file asolver_SAP_MINRES-tmpl.h.

Member Data Documentation

◆ class_name

template<typename AFIELD >
const std::string ASolver_SAP_MINRES< AFIELD >::class_name = "ASolver_SAP_MINRES"
static

Definition at line 32 of file asolver_SAP_MINRES.h.

◆ m_alpha_block

template<typename AFIELD >
std::vector<complex_t> ASolver_SAP_MINRES< AFIELD >::m_alpha_block
protected

Definition at line 59 of file asolver_SAP_MINRES.h.

◆ m_block_index

template<typename AFIELD >
const block_index_t* ASolver_SAP_MINRES< AFIELD >::m_block_index
protected

Definition at line 36 of file asolver_SAP_MINRES.h.

◆ m_flop_each

template<typename AFIELD >
double ASolver_SAP_MINRES< AFIELD >::m_flop_each
private

Definition at line 115 of file asolver_SAP_MINRES.h.

◆ m_fopr

template<typename AFIELD >
AFopr_dd<AFIELD>* ASolver_SAP_MINRES< AFIELD >::m_fopr
protected

need mult_sap()

Definition at line 38 of file asolver_SAP_MINRES.h.

◆ m_nconv

template<typename AFIELD >
int ASolver_SAP_MINRES< AFIELD >::m_nconv
protected

to remember convergence iteration to provide flop count.

Definition at line 44 of file asolver_SAP_MINRES.h.

◆ m_Niter

template<typename AFIELD >
int ASolver_SAP_MINRES< AFIELD >::m_Niter
protected

maximum iteration number.

Definition at line 40 of file asolver_SAP_MINRES.h.

◆ m_p

template<typename AFIELD >
AFIELD ASolver_SAP_MINRES< AFIELD >::m_p
protected

Definition at line 50 of file asolver_SAP_MINRES.h.

◆ m_p2_block

template<typename AFIELD >
std::vector<real_t> ASolver_SAP_MINRES< AFIELD >::m_p2_block
protected

Definition at line 58 of file asolver_SAP_MINRES.h.

◆ m_r

template<typename AFIELD >
AFIELD ASolver_SAP_MINRES< AFIELD >::m_r
protected

working vectors.

Definition at line 50 of file asolver_SAP_MINRES.h.

◆ m_r2_block

template<typename AFIELD >
std::vector<real_t> ASolver_SAP_MINRES< AFIELD >::m_r2_block
protected

Definition at line 57 of file asolver_SAP_MINRES.h.

◆ m_Stop_cond

template<typename AFIELD >
real_t ASolver_SAP_MINRES< AFIELD >::m_Stop_cond
protected

stopping criterion (squared).

Definition at line 41 of file asolver_SAP_MINRES.h.


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