Bridge++
Ver. 2.0.2
|
Chebyshev polynomial. More...
#include <afopr_Chebyshev.h>
Public Types | |
typedef AFIELD::real_t | real_t |
Public Member Functions | |
AFopr_Chebyshev (AFopr< AFIELD > *fopr, const Parameters ¶ms) | |
standard constructor. More... | |
DEPRECATED | AFopr_Chebyshev (AFopr< AFIELD > *fopr) |
~AFopr_Chebyshev () | |
void | set_parameters (const Parameters ¶ms) |
setting parameters with a Parameter object. More... | |
void | set_parameters (const int Np, const real_t v_threshold, const real_t v_max) |
setting parameters with values. More... | |
void | get_parameters (Parameters ¶ms) const |
gets parameters by a Parameter object: to be implemented in a subclass. More... | |
void | set_config (Field *U) |
setting gauge configuration. More... | |
void | set_mode (std::string mode) |
setting the mode of multiplication if necessary. Default implementation here is just to avoid irrelevant call. More... | |
std::string | get_mode () const |
returns the current mult mode. More... | |
void | mult (AFIELD &v, const AFIELD &w) |
multiplies fermion operator to a given field. More... | |
void | mult_dag (AFIELD &v, const AFIELD &w) |
hermitian conjugate of mult. More... | |
void | mult (real_t &v, const real_t x) |
real_t | mult (const real_t x) |
virtual bool | needs_convert () |
returns true if additional field conversion is needed. More... | |
virtual void | convert (AFIELD &v, const Field &w) |
converts a Field object into other format if necessary. More... | |
virtual void | reverse (Field &v, const AFIELD &w) |
reverses to a Field object from other format if necessary. More... | |
int | field_nin () |
returns the on-site degree of freedom of the fermion field. More... | |
int | field_nvol () |
returns the volume of the fermion field. More... | |
int | field_nex () |
returns the external degree of freedom of the fermion field. More... | |
double | flop_count () |
returns the number of floating point operations. More... | |
const std::string | class_name |
Public Member Functions inherited from AFopr< AFIELD > | |
AFopr () | |
virtual | ~AFopr () |
virtual void | mult (AFIELD &, const AFIELD &, const std::string mode) |
executes mult with specified mode (unchanging internal mode). More... | |
virtual void | mult_dag (AFIELD &, const AFIELD &, const std::string mode) |
executes mult_dag with specified mode (unchanging internal mode). More... | |
virtual void | mult_gm5 (AFIELD &, const AFIELD &) |
multiplies gamma_5 matrix. More... | |
virtual void | mult_up (int mu, AFIELD &, const AFIELD &) |
upward nearest neighbor hopping term. More... | |
virtual void | mult_dn (int mu, AFIELD &, const AFIELD &) |
downward nearest neighbor hopping term. More... | |
virtual void | normalize_fprop (AFIELD &) |
normalize propagator if necessary (default: do nothing) More... | |
virtual void | normalize_fopr (AFIELD &) |
normalize propagator if necessary (default: do nothing) More... | |
virtual double | flop_count (const std::string mode) |
returns the flops per site for specified mode. More... | |
Static Public Attributes | |
static const std::string | class_name = "AFopr_Chebyshev" |
Private Member Functions | |
void | init (const Parameters ¶ms) |
initial setup. More... | |
void | init () |
initial setup (obsolete). More... | |
void | tidyup () |
final cleanup. More... | |
Private Attributes | |
int | m_NinF |
int | m_Nvol |
int | m_NexF |
int | m_Npcb |
real_t | m_Vthrs |
real_t | m_Vmax |
real_t | m_Fcb1 |
real_t | m_Fcb2 |
AFopr< AFIELD > * | m_fopr |
std::string | m_mode |
mult mode More... | |
Bridge::VerboseLevel | m_vl |
verbose level More... | |
std::vector< AFIELD > | m_dj |
Additional Inherited Members | |
Static Protected Attributes inherited from AFopr< AFIELD > | |
static const std::string | class_name |
Chebyshev polynomial.
This class implements the chebyshev polynomial of a fermion operator. Based on Fopr_Chebyshev and modified so that double/float can be swtched. [12 Jul 2018 H.Matsufuru]
Definition at line 34 of file afopr_Chebyshev.h.
typedef AFIELD::real_t AFopr_Chebyshev< AFIELD >::real_t |
Definition at line 38 of file afopr_Chebyshev.h.
|
inline |
standard constructor.
Definition at line 56 of file afopr_Chebyshev.h.
|
inline |
Definition at line 62 of file afopr_Chebyshev.h.
|
inline |
Definition at line 66 of file afopr_Chebyshev.h.
const std::string AFopr_Chebyshev< Field >::class_name |
Definition at line 23 of file fopr_Chebyshev.cpp.
|
inlinevirtual |
converts a Field object into other format if necessary.
Reimplemented from AFopr< AFIELD >.
Definition at line 101 of file afopr_Chebyshev.h.
|
inlinevirtual |
returns the external degree of freedom of the fermion field.
Implements AFopr< AFIELD >.
Definition at line 110 of file afopr_Chebyshev.h.
|
inlinevirtual |
returns the on-site degree of freedom of the fermion field.
Implements AFopr< AFIELD >.
Definition at line 108 of file afopr_Chebyshev.h.
|
inlinevirtual |
returns the volume of the fermion field.
Implements AFopr< AFIELD >.
Definition at line 109 of file afopr_Chebyshev.h.
|
virtual |
returns the number of floating point operations.
Reimplemented from AFopr< AFIELD >.
Definition at line 272 of file afopr_Chebyshev-tmpl.h.
|
virtual |
returns the current mult mode.
Reimplemented from AFopr< AFIELD >.
Definition at line 186 of file afopr_Chebyshev-tmpl.h.
|
virtual |
gets parameters by a Parameter object: to be implemented in a subclass.
Reimplemented from AFopr< AFIELD >.
Definition at line 157 of file afopr_Chebyshev-tmpl.h.
|
private |
initial setup (obsolete).
Definition at line 49 of file afopr_Chebyshev-tmpl.h.
|
private |
initial setup.
Definition at line 20 of file afopr_Chebyshev-tmpl.h.
|
virtual |
multiplies fermion operator to a given field.
Reimplemented from AFopr< AFIELD >.
Definition at line 194 of file afopr_Chebyshev-tmpl.h.
AFIELD::real_t AFopr_Chebyshev< AFIELD >::mult | ( | const real_t | x | ) |
Definition at line 262 of file afopr_Chebyshev-tmpl.h.
void AFopr_Chebyshev< AFIELD >::mult | ( | real_t & | v, |
const real_t | x | ||
) |
Definition at line 229 of file afopr_Chebyshev-tmpl.h.
|
inlinevirtual |
hermitian conjugate of mult.
Reimplemented from AFopr< AFIELD >.
Definition at line 87 of file afopr_Chebyshev.h.
|
inlinevirtual |
returns true if additional field conversion is needed.
Reimplemented from AFopr< AFIELD >.
Definition at line 97 of file afopr_Chebyshev.h.
|
inlinevirtual |
reverses to a Field object from other format if necessary.
Reimplemented from AFopr< AFIELD >.
Definition at line 105 of file afopr_Chebyshev.h.
|
virtual |
setting gauge configuration.
Implements AFopr< AFIELD >.
Definition at line 169 of file afopr_Chebyshev-tmpl.h.
|
virtual |
setting the mode of multiplication if necessary. Default implementation here is just to avoid irrelevant call.
Reimplemented from AFopr< AFIELD >.
Definition at line 177 of file afopr_Chebyshev-tmpl.h.
void AFopr_Chebyshev< AFIELD >::set_parameters | ( | const int | Np, |
const real_t | v_threshold, | ||
const real_t | v_max | ||
) |
setting parameters with values.
Definition at line 114 of file afopr_Chebyshev-tmpl.h.
|
virtual |
setting parameters with a Parameter object.
Reimplemented from AFopr< AFIELD >.
Definition at line 86 of file afopr_Chebyshev-tmpl.h.
|
private |
final cleanup.
Definition at line 78 of file afopr_Chebyshev-tmpl.h.
|
static |
Definition at line 37 of file afopr_Chebyshev.h.
|
private |
Definition at line 52 of file afopr_Chebyshev.h.
|
private |
Definition at line 44 of file afopr_Chebyshev.h.
|
private |
Definition at line 44 of file afopr_Chebyshev.h.
|
private |
Definition at line 46 of file afopr_Chebyshev.h.
|
private |
mult mode
Definition at line 48 of file afopr_Chebyshev.h.
|
private |
Definition at line 41 of file afopr_Chebyshev.h.
|
private |
Definition at line 41 of file afopr_Chebyshev.h.
|
private |
Definition at line 42 of file afopr_Chebyshev.h.
|
private |
Definition at line 41 of file afopr_Chebyshev.h.
|
private |
verbose level
Definition at line 50 of file afopr_Chebyshev.h.
|
private |
Definition at line 43 of file afopr_Chebyshev.h.
|
private |
Definition at line 43 of file afopr_Chebyshev.h.