#include <fermiqcd_staggered_propagator.h>
Inheritance diagram for staggered_propagator:
Public Member Functions | |
staggered_propagator (mdp_lattice &mylattice, int nc_) | |
mdp_matrix | operator() (site x, int a) |
mdp_complex & | operator() (site x, int a, int i, int j) |
Public Attributes | |
int | nc |
Friends | |
void | generate (staggered_propagator &S, gauge_field &U, coefficients &coeff, mdp_real absolute_precision=fermi_inversion_precision, mdp_real relative_precision=0, int max_steps=2000, void(*smf)(staggered_field &, gauge_field &)=0, int comp=0) |
On a (2n) dimensional lattice this makes 3*(2^n) sources at the vertices of the hypercube at the origin of the lattice and inverts the Staggered/Asqtad action on them.
Example:
mdp_gauge U(lattice,nc); staggered_propagator S(lattice,nc); mdp_site x(lattice); mdp_site y(lattice); coefficients coeff; coeff["mass"]=1.0; generate(S,U,coeff); for(int i=0; i<(int) pow(2,lattice.ndim); i++) { x=binary2versor(a); cout << "source at:" << x << "\nprop:\n"; forallsites(y) cout << S(x,a) << endl; }