14 #ifndef FOPR_SMEARED_EO_INCLUDED
15 #define FOPR_SMEARED_EO_INCLUDED
125 return new Fopr_Smeared_eo(dynamic_cast<Fopr_eo *>(fopr), dynamic_cast<Director_Smear *>(director));
129 static bool register_factory()
131 return Fopr::Factory_fopr_director::Register(
"Smeared_eo", create_object);
void mult(Field &v, const Field &f)
multiply smeared fermion operator
virtual int field_nvol()=0
returns the volume for which the fermion operator is defined.
int field_nex()
returns the external d.o.f. for which the fermion operator is defined.
void mult_dn(const int mu, Field &v, const Field &w)
void set_parameters(const Parameters &)
virtual void postProp(Field &, const Field &, const Field &)=0
Container of Field-type object.
std::string get_mode() const
only for Fopr_Overlap
void mult_up(const int mu, Field &v, const Field &w)
nearest neighbor hopping term: temporary entry [H.Matsufuru]
int field_nin()
returns the on-site d.o.f. for which the fermion operator is defined.
Director_Smear * m_dr_smear
smeared fermion operator with even-odd preconditioning.
Fopr_Smeared_eo(unique_ptr< Fopr_eo > &fopr_eo, unique_ptr< Director_Smear > &dr_smear)
Manager of commonly used data object in HMC.
Base class of fermion operator family.
void postProp(Field &x, const Field &xe, const Field &bo)
void set_config(Field *U)
set pointer to original thin link variable
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 irrelev...
virtual void mult_up(const int mu, Field &, const Field &)
nearest neighbor hopping term: temporary entry [H.Matsufuru]
Fopr_Smeared_eo(Fopr_eo *fopr_eo, Director_Smear *dr_smear)
constructor requires Fopr and Director_Smear objects
virtual int field_nex()=0
returns the external d.o.f. for which the fermion operator is defined.
Manager of smeared configurations.
void mult_dag(Field &v, const Field &f)
multiply smeared fermion operator
void preProp(Field &Be, Field &bo, const Field &b)
int field_nvol()
returns the volume for which the fermion operator is defined.
virtual void preProp(Field &, Field &, const Field &)=0
virtual int field_nin()=0
returns the on-site d.o.f. for which the fermion operator is defined.
virtual void mult(Field &, const Field &)
multiplies fermion operator to a given field (2nd argument)
virtual void mult_dag(Field &, const Field &)
hermitian conjugate of mult(Field&, const Field&).
std::string get_mode() const
only for Fopr_Overlap
Base class of fermion operator family.
void set_config(unique_ptr< Field_G > &U)
void set_mode(const std::string mode)
set the mode of fermion operator
static const std::string class_name