Bridge++  Version 1.5.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Fopr_Rational Class Reference

Fermion operator for rational approximation. More...

#include <fopr_Rational.h>

Inheritance diagram for Fopr_Rational:
Fopr

Public Member Functions

 Fopr_Rational (Fopr *fopr)
 
 Fopr_Rational (unique_ptr< Fopr > &fopr)
 
 ~Fopr_Rational ()
 
void set_parameters (const Parameters &params)
 
void set_parameters (const int Np, const int n_exp, const int d_exp, const double x_min, const double x_max, const int Niter, const double Stop_cond)
 
void set_config (Field *U)
 setting pointer to the gauge configuration. More...
 
void set_config (unique_ptr< Field_G > &U)
 
void mult (Field &v, const Field &f)
 multiplies fermion operator to a given field (2nd argument) More...
 
void mult_dag (Field &v, const Field &f)
 hermitian conjugate of mult(Field&, const Field&). More...
 
double func (const double x)
 
int field_nvol ()
 returns the volume for which the fermion operator is defined. More...
 
int field_nin ()
 returns the on-site d.o.f. for which the fermion operator is defined. More...
 
int field_nex ()
 returns the external d.o.f. for which the fermion operator is defined. More...
 
- Public Member Functions inherited from Fopr
 Fopr ()
 
virtual ~Fopr ()
 
void set_parameter_verboselevel (const Bridge::VerboseLevel vl)
 
virtual void mult_gm5 (Field &, const Field &)
 gamma_5 multiplication. [31 Mar 2017 H.Matsufuru] More...
 
virtual void mult (Field &, const Field &, const std::string mode)
 execute mult with specified mode (unchanging internal mode). [23 May 2016 H.Matsufuru]. More...
 
virtual void mult_dag (Field &, const Field &, const std::string mode)
 execute mult_dag with specified mode (unchanging internal mode). [23 May 2016 H.Matsufuru]. More...
 
virtual void mult_up (const int mu, Field &, const Field &)
 nearest neighbor hopping term: temporary entry [H.Matsufuru] More...
 
virtual void mult_dn (const int mu, Field &, const Field &)
 
virtual void set_mode (const std::string mode)
 setting the mode of multiplication if necessary. Default implementation here is just to avoid irrelevant call. More...
 
virtual std::string get_mode () const
 only for Fopr_Overlap More...
 
virtual double flop_count ()
 returns the flop in giga unit More...
 
virtual double flop_count (const std::string mode)
 returns the flop in giga unit for a specified mode. [23 May 2016 H.Matsufuru] More...
 

Static Public Attributes

static const std::string class_name = "Fopr_Rational"
 

Private Member Functions

void init_parameters ()
 

Private Attributes

int m_Np
 
int m_n_exp
 
int m_d_exp
 
double m_x_min
 
double m_x_max
 
int m_Niter
 
double m_Stop_cond
 
Foprm_fopr
 
Shiftsolver_CGm_solver
 
double m_a0
 
std::vector< double > m_cl
 
std::vector< double > m_bl
 
std::vector< Fieldm_xq
 

Additional Inherited Members

- Protected Attributes inherited from Fopr
Bridge::VerboseLevel m_vl
 

Detailed Description

Fermion operator for rational approximation.

This class generates fermion operator with a rational approximation for a given fermion operator (given to the constructer). Shift-solver is used which is at present set to the CG solver explicitly. 05 Dec 2011 H.Matsufuru YAML is implemented. [14 Nov 2012 Y.Namekawa] unique_ptr is introduced to avoid memory leaks [21 Mar 2015 Y.Namekawa]

Definition at line 41 of file fopr_Rational.h.

Constructor & Destructor Documentation

Fopr_Rational::Fopr_Rational ( Fopr fopr)
inline

Definition at line 62 of file fopr_Rational.h.

Fopr_Rational::Fopr_Rational ( unique_ptr< Fopr > &  fopr)
inline

Definition at line 65 of file fopr_Rational.h.

Fopr_Rational::~Fopr_Rational ( )
inline

Definition at line 68 of file fopr_Rational.h.

Member Function Documentation

int Fopr_Rational::field_nex ( )
inlinevirtual

returns the external d.o.f. for which the fermion operator is defined.

Implements Fopr.

Definition at line 98 of file fopr_Rational.h.

int Fopr_Rational::field_nin ( )
inlinevirtual

returns the on-site d.o.f. for which the fermion operator is defined.

Implements Fopr.

Definition at line 97 of file fopr_Rational.h.

int Fopr_Rational::field_nvol ( )
inlinevirtual

returns the volume for which the fermion operator is defined.

Implements Fopr.

Definition at line 96 of file fopr_Rational.h.

double Fopr_Rational::func ( const double  x)

Definition at line 160 of file fopr_Rational.cpp.

void Fopr_Rational::init_parameters ( )
private

Definition at line 100 of file fopr_Rational.cpp.

void Fopr_Rational::mult ( Field ,
const Field  
)
virtual

multiplies fermion operator to a given field (2nd argument)

Implements Fopr.

Definition at line 134 of file fopr_Rational.cpp.

void Fopr_Rational::mult_dag ( Field ,
const Field  
)
inlinevirtual

hermitian conjugate of mult(Field&, const Field&).

Reimplemented from Fopr.

Definition at line 89 of file fopr_Rational.h.

void Fopr_Rational::set_config ( Field )
inlinevirtual

setting pointer to the gauge configuration.

Implements Fopr.

Definition at line 77 of file fopr_Rational.h.

void Fopr_Rational::set_config ( unique_ptr< Field_G > &  U)
inlinevirtual

Implements Fopr.

Definition at line 82 of file fopr_Rational.h.

void Fopr_Rational::set_parameters ( const Parameters params)
virtual

Implements Fopr.

Definition at line 25 of file fopr_Rational.cpp.

void Fopr_Rational::set_parameters ( const int  Np,
const int  n_exp,
const int  d_exp,
const double  x_min,
const double  x_max,
const int  Niter,
const double  Stop_cond 
)

Definition at line 57 of file fopr_Rational.cpp.

Member Data Documentation

const std::string Fopr_Rational::class_name = "Fopr_Rational"
static

Definition at line 44 of file fopr_Rational.h.

double Fopr_Rational::m_a0
private

Definition at line 56 of file fopr_Rational.h.

std::vector<double> Fopr_Rational::m_bl
private

Definition at line 58 of file fopr_Rational.h.

std::vector<double> Fopr_Rational::m_cl
private

Definition at line 57 of file fopr_Rational.h.

int Fopr_Rational::m_d_exp
private

Definition at line 48 of file fopr_Rational.h.

Fopr* Fopr_Rational::m_fopr
private

Definition at line 53 of file fopr_Rational.h.

int Fopr_Rational::m_n_exp
private

Definition at line 48 of file fopr_Rational.h.

int Fopr_Rational::m_Niter
private

Definition at line 50 of file fopr_Rational.h.

int Fopr_Rational::m_Np
private

Definition at line 47 of file fopr_Rational.h.

Shiftsolver_CG* Fopr_Rational::m_solver
private

Definition at line 54 of file fopr_Rational.h.

double Fopr_Rational::m_Stop_cond
private

Definition at line 51 of file fopr_Rational.h.

double Fopr_Rational::m_x_max
private

Definition at line 49 of file fopr_Rational.h.

double Fopr_Rational::m_x_min
private

Definition at line 49 of file fopr_Rational.h.

std::vector<Field> Fopr_Rational::m_xq
private

Definition at line 59 of file fopr_Rational.h.


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