Go to the documentation of this file.
15 #ifndef FOPR_CRS_INCLUDED
16 #define FOPR_CRS_INCLUDED
83 void set_mode(
const std::string mode);
94 }
else if (
m_mode ==
"DdagD") {
96 }
else if (
m_mode ==
"Ddag") {
108 }
else if (
m_mode ==
"DdagD") {
110 }
else if (
m_mode ==
"Ddag") {
135 std::vector<double>&,
const Field&);
139 static Fopr *create_object_with_fopr(
Fopr *fopr)
144 static Fopr *create_object_with_filename(
const std::string& fname)
150 static bool register_factory()
152 bool init1 = Fopr::Factory_fopr::Register(
"CRS", create_object_with_fopr);
153 bool init2 = Fopr::Factory_string::Register(
"CRS", create_object_with_filename);
155 return init1 && init2;
void set_config(Field *U)
sets the gauge configuration.
Common parameter class: provides parameters as singleton.
void mult_dag(Field &v, const Field &f)
hermitian conjugate of mult.
Fopr_CRS(const std::string fname)
void D(Field &, const Field &)
void get_parameters(Parameters &) const
gets parameters by a Parameter object: to be implemented in a subclass.
int field_nin()
returns the on-site degree of freedom of the fermion field.
int field_nvol()
returns the volume of the fermion field.
virtual void set_config(Field *)=0
sets the gauge configuration.
static const std::string class_name
std::vector< int > m_column_nz
Bridge::VerboseLevel m_vl
std::string get_mode() const
double flop_count()
this returns the number of floating point operations.
void Ddag(Field &, const Field &)
std::vector< double > m_elem_nz
void set_matrix_1row(int &, std::vector< int > &, std::vector< double > &, const Field &)
void set_parameters(const Parameters &)
sets parameters by a Parameter object: to be implemented in a subclass.
int field_nex()
returns the external degree of freedom of the fermion field.
void mult(Field &v, const Field &f)
multiplies fermion operator to a given field.
void set_mode(const std::string mode)
setting the mode of multiplication if necessary. Default implementation here is just to avoid irrelev...
void H(Field &, const Field &)
void write_matrix(const std::string)
Fermion operator with CRS matrix format.
void crucial(const char *format,...)
std::vector< int > m_rowidx_nz
Container of Field-type object.
void DdagD(Field &, const Field &)