#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;
}
1.4.1