Bridge++
Version 1.5.4
|
Base class of fermion operator family. More...
#include <fopr.h>
Public Member Functions | |
Fopr () | |
virtual | ~Fopr () |
virtual void | set_parameters (const Parameters &)=0 |
void | set_parameter_verboselevel (const Bridge::VerboseLevel vl) |
virtual void | set_config (Field *)=0 |
setting pointer to the gauge configuration. More... | |
virtual void | set_config (unique_ptr< Field_G > &)=0 |
virtual void | mult (Field &, const Field &)=0 |
multiplies fermion operator to a given field (2nd argument) More... | |
virtual void | mult_dag (Field &, const Field &) |
hermitian conjugate of mult(Field&, const Field&). More... | |
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 int | field_nvol ()=0 |
returns the volume for which the fermion operator is defined. More... | |
virtual int | field_nin ()=0 |
returns the on-site d.o.f. for which the fermion operator is defined. More... | |
virtual int | field_nex ()=0 |
returns the external d.o.f. for which the fermion operator is defined. 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... | |
Protected Attributes | |
Bridge::VerboseLevel | m_vl |
Private Member Functions | |
Fopr (const Fopr &) | |
Fopr & | operator= (const Fopr &) |
Base class of fermion operator family.
In Bridge-OF, the fermion operator implies an operator which transforms a field to another field, irrespective of physical formulation. This class defines the interface of the fermion operators. At present, void functions mult(v,w) and mult_dag(v,w) is not purely virtual, because some of subclass have not implemented them yet. [20 Dec 2011 H.Matsufuru] unique_ptr is introduced to avoid memory leaks. [21 Mar 2015 Y.Namekawa] parameters factory is introduced. [21 Apr 2015 Y.Namekawa] mult_gm5 is added. [30 Nov 2017 H.Matsufuru]
|
private |
|
pure virtual |
returns the external d.o.f. for which the fermion operator is defined.
Implemented in Org::Fopr_CloverTerm_eo, Imp::Fopr_CloverTerm_eo, Fopr_Wilson_SF, Imp::Fopr_Wilson, Fopr_CloverGeneral, Imp::Fopr_WilsonGeneral, Fopr_Clover, Fopr_Clover_SF, Org::Fopr_Wilson, Org::Fopr_WilsonGeneral, Fopr_Wilson_Isochemical, Fopr_Clover_eo, Fopr_Clover_Isochemical, Imp::Fopr_CloverTerm, Org::Fopr_CloverTerm, Imp::Fopr_Wilson_eo, Fopr_CRS, Org::Fopr_CloverTerm_General, Imp::Fopr_CloverTerm_General, Org::Fopr_Wilson_eo, Fopr_Smeared_eo, Fopr_Smeared, Fopr_Rational_SF, Fopr_Rational, Fopr_Chebyshev, and Fopr_eo.
|
pure virtual |
returns the on-site d.o.f. for which the fermion operator is defined.
Implemented in Org::Fopr_CloverTerm_eo, Imp::Fopr_CloverTerm_eo, Fopr_Wilson_SF, Imp::Fopr_Wilson, Fopr_CloverGeneral, Fopr_Clover, Imp::Fopr_WilsonGeneral, Fopr_Clover_SF, Org::Fopr_Wilson, Fopr_Wilson_Isochemical, Org::Fopr_WilsonGeneral, Fopr_Clover_eo, Fopr_Clover_Isochemical, Imp::Fopr_CloverTerm, Org::Fopr_CloverTerm, Imp::Fopr_Wilson_eo, Fopr_CRS, Org::Fopr_CloverTerm_General, Imp::Fopr_CloverTerm_General, Org::Fopr_Wilson_eo, Fopr_Smeared_eo, Fopr_Smeared, Fopr_Rational_SF, Fopr_Rational, Fopr_Chebyshev, and Fopr_eo.
|
pure virtual |
returns the volume for which the fermion operator is defined.
Implemented in Org::Fopr_CloverTerm_eo, Imp::Fopr_CloverTerm_eo, Fopr_Wilson_SF, Imp::Fopr_Wilson, Fopr_CloverGeneral, Fopr_Clover, Imp::Fopr_WilsonGeneral, Fopr_Clover_SF, Fopr_Wilson_Isochemical, Org::Fopr_Wilson, Org::Fopr_WilsonGeneral, Fopr_Clover_eo, Fopr_Clover_Isochemical, Imp::Fopr_CloverTerm, Org::Fopr_CloverTerm, Imp::Fopr_Wilson_eo, Fopr_CRS, Org::Fopr_CloverTerm_General, Imp::Fopr_CloverTerm_General, Org::Fopr_Wilson_eo, Fopr_Smeared_eo, Fopr_Smeared, Fopr_Rational_SF, Fopr_Rational, Fopr_Chebyshev, and Fopr_eo.
|
inlinevirtual |
returns the flop in giga unit
Reimplemented in Org::Fopr_CloverTerm_eo, Imp::Fopr_CloverTerm_eo, Fopr_Wilson_SF, Imp::Fopr_Wilson, Fopr_CloverGeneral, Imp::Fopr_WilsonGeneral, Fopr_Clover, Fopr_Clover_SF, Fopr_Wilson_Isochemical, Fopr_Clover_eo, Fopr_Clover_Isochemical, Org::Fopr_Wilson, Org::Fopr_WilsonGeneral, Imp::Fopr_CloverTerm, Org::Fopr_CloverTerm, Imp::Fopr_Wilson_eo, Org::Fopr_CloverTerm_General, Imp::Fopr_CloverTerm_General, and Org::Fopr_Wilson_eo.
|
inlinevirtual |
|
inlinevirtual |
only for Fopr_Overlap
Reimplemented in Fopr_Wilson_SF, Imp::Fopr_CloverTerm_eo, Org::Fopr_CloverTerm_eo, Fopr_Wilson_Isochemical, Imp::Fopr_CloverTerm, Org::Fopr_CloverTerm, Fopr_Clover_eo, Fopr_Clover_SF, Org::Fopr_CloverTerm_General, Imp::Fopr_CloverTerm_General, Fopr_CloverGeneral, Fopr_Clover, Fopr_Smeared_eo, Fopr_CRS, Imp::Fopr_Wilson, Org::Fopr_Wilson_eo, Imp::Fopr_Wilson_eo, Fopr_Clover_Isochemical, Imp::Fopr_WilsonGeneral, Org::Fopr_Wilson, Org::Fopr_WilsonGeneral, Fopr_Smeared, and Fopr_eo.
multiplies fermion operator to a given field (2nd argument)
Implemented in Imp::Fopr_CloverTerm_eo, Org::Fopr_CloverTerm_eo, Imp::Fopr_CloverTerm, Org::Fopr_CloverTerm, Fopr_Clover_eo, Fopr_Clover_SF, Fopr_Wilson_SF, Org::Fopr_CloverTerm_General, Imp::Fopr_CloverTerm_General, Fopr_CloverGeneral, Org::Fopr_Wilson_eo, Imp::Fopr_Wilson_eo, Fopr_Clover, Fopr_CRS, Imp::Fopr_Wilson, Fopr_Clover_Isochemical, Fopr_Wilson_Isochemical, Imp::Fopr_WilsonGeneral, Org::Fopr_Wilson, Org::Fopr_WilsonGeneral, Fopr_Rational_SF, Fopr_Rational, Fopr_Smeared_eo, Fopr_Chebyshev, Fopr_Smeared, and Fopr_eo.
hermitian conjugate of mult(Field&, const Field&).
Reimplemented in Imp::Fopr_CloverTerm_eo, Org::Fopr_CloverTerm_eo, Fopr_Clover_SF, Fopr_Wilson_SF, Imp::Fopr_CloverTerm, Org::Fopr_CloverTerm, Fopr_CloverGeneral, Fopr_Clover, Org::Fopr_CloverTerm_General, Imp::Fopr_CloverTerm_General, Fopr_Clover_eo, Fopr_CRS, Fopr_Clover_Isochemical, Org::Fopr_Wilson_eo, Imp::Fopr_Wilson_eo, Imp::Fopr_Wilson, Fopr_Wilson_Isochemical, Imp::Fopr_WilsonGeneral, Org::Fopr_Wilson, Org::Fopr_WilsonGeneral, Fopr_Rational_SF, Fopr_Smeared_eo, Fopr_Rational, Fopr_Smeared, Fopr_Chebyshev, and Fopr_eo.
gamma_5 multiplication. [31 Mar 2017 H.Matsufuru]
Reimplemented in Fopr_Wilson_SF, Fopr_Clover_SF, Fopr_CloverGeneral, Fopr_Clover, Fopr_Clover_eo, Imp::Fopr_CloverTerm, Org::Fopr_CloverTerm, Fopr_Clover_Isochemical, Fopr_Wilson_Isochemical, Org::Fopr_CloverTerm_General, Imp::Fopr_CloverTerm_General, Org::Fopr_Wilson_eo, Imp::Fopr_Wilson_eo, Imp::Fopr_Wilson, Imp::Fopr_WilsonGeneral, Org::Fopr_Wilson, and Org::Fopr_WilsonGeneral.
nearest neighbor hopping term: temporary entry [H.Matsufuru]
Reimplemented in Imp::Fopr_Wilson, Org::Fopr_Wilson, Org::Fopr_WilsonGeneral, Imp::Fopr_WilsonGeneral, Fopr_CloverGeneral, Fopr_Clover, Fopr_Wilson_Isochemical, Fopr_Clover_Isochemical, Fopr_Smeared_eo, and Fopr_Smeared.
|
pure virtual |
setting pointer to the gauge configuration.
Implemented in Imp::Fopr_CloverTerm_eo, Org::Fopr_CloverTerm_eo, Imp::Fopr_CloverTerm, Org::Fopr_CloverTerm, Fopr_Wilson_SF, Org::Fopr_CloverTerm_General, Imp::Fopr_CloverTerm_General, Fopr_Clover_SF, Org::Fopr_Wilson_eo, Imp::Fopr_Wilson_eo, Imp::Fopr_Wilson, Fopr_CloverGeneral, Fopr_Clover, Imp::Fopr_WilsonGeneral, Org::Fopr_Wilson, Fopr_Wilson_Isochemical, Org::Fopr_WilsonGeneral, Fopr_Clover_Isochemical, Fopr_Rational_SF, Fopr_Clover_eo, Fopr_Rational, Fopr_Smeared_eo, Fopr_CRS, Fopr_Chebyshev, Fopr_Smeared, and Fopr_eo.
|
pure virtual |
Implemented in Imp::Fopr_CloverTerm_eo, Org::Fopr_CloverTerm_eo, Fopr_Wilson_SF, Imp::Fopr_CloverTerm, Org::Fopr_CloverTerm, Fopr_Clover_SF, Org::Fopr_CloverTerm_General, Imp::Fopr_CloverTerm_General, Fopr_CloverGeneral, Org::Fopr_Wilson_eo, Fopr_Clover, Imp::Fopr_Wilson_eo, Imp::Fopr_Wilson, Fopr_Wilson_Isochemical, Imp::Fopr_WilsonGeneral, Org::Fopr_Wilson, Fopr_CRS, Org::Fopr_WilsonGeneral, Fopr_Rational_SF, Fopr_Clover_Isochemical, Fopr_Rational, Fopr_Clover_eo, Fopr_Smeared_eo, Fopr_Chebyshev, Fopr_Smeared, and Fopr_eo.
|
inlinevirtual |
setting the mode of multiplication if necessary. Default implementation here is just to avoid irrelevant call.
Reimplemented in Fopr_Wilson_SF, Imp::Fopr_CloverTerm_eo, Org::Fopr_CloverTerm_eo, Imp::Fopr_CloverTerm, Org::Fopr_CloverTerm, Fopr_Clover_SF, Fopr_Wilson_Isochemical, Org::Fopr_CloverTerm_General, Imp::Fopr_CloverTerm_General, Fopr_CloverGeneral, Fopr_Clover, Fopr_Smeared_eo, Fopr_CRS, Org::Fopr_Wilson_eo, Imp::Fopr_Wilson_eo, Imp::Fopr_Wilson, Imp::Fopr_WilsonGeneral, Org::Fopr_Wilson, Org::Fopr_WilsonGeneral, Fopr_Clover_Isochemical, Fopr_Clover_eo, Fopr_Smeared, and Fopr_eo.
|
inline |
|
pure virtual |
Implemented in Imp::Fopr_CloverTerm_eo, Org::Fopr_CloverTerm_eo, Imp::Fopr_CloverTerm, Org::Fopr_CloverTerm, Fopr_Wilson_SF, Org::Fopr_CloverTerm_General, Imp::Fopr_CloverTerm_General, Fopr_Clover_SF, Org::Fopr_Wilson_eo, Imp::Fopr_Wilson_eo, Imp::Fopr_Wilson, Fopr_Clover, Fopr_CloverGeneral, Imp::Fopr_WilsonGeneral, Org::Fopr_Wilson, Fopr_Clover_Isochemical, Fopr_Wilson_Isochemical, Fopr_Rational_SF, Org::Fopr_WilsonGeneral, Fopr_Clover_eo, Fopr_Rational, Fopr_CRS, Fopr_Smeared_eo, Fopr_Chebyshev, and Fopr_Smeared.
|
protected |