fermiqcd_gauge_algorithms.h File Reference

Go to the source code of this file.

Functions

void set_cold (gauge_field &U)
make a cold gauge configuration
void set_hot (gauge_field &U)
Make a hot gauge configuration.
void check_unitarity (gauge_field &U, double precision=PRECISION)
Check that gauge field is unitary within precision.
mdp_real average_plaquette (gauge_field &U, int mu, int nu)
Compute average plaquette on plane mu-nu.
mdp_real average_plaquette (gauge_field &U)
Compute average plaquette (all planes).
void compute_em_field (gauge_field &U)
Given a field U compute the chromo-eletro-magntic field U.em.
void compute_long_links (gauge_field &U, gauge_field &V, int length=2)
void set_antiperiodic_phases (gauge_field &U, int mu=0, int check=TRUE)
mdp_matrix project_SU (mdp_matrix M, int nstep=1)
mdp_complex average_path (gauge_field &U, int length, int d[])
mdp_matrix build_path (gauge_field &U, site x, int length, int d[])
void copy_path (int length, int d[], int c[])
void invert_path (int mu, int length, int d[])
void rotate_path (int angle, int mu, int nu, int length, int d[])

Detailed Description

Version:
3-1-2005
Author:
Massimo Di Pierro <mdipierro@cs.depaul.edu>
Various stuff for gauge field

Function Documentation

 mdp_complex average_path ( gauge_field & U, int length, int d[] )
 Takes a field U and path d of length and compute the average of the path on the entire lattice. Assumes computation can be done locally for each site Example: ``` int mu=0, nu=1; gauge_field U(lattice,nc); int d[]={{+1,mu},{+1,nu},{-1,mu},{-1,nu}} mdp << "plaquette=" << average_path(U,4,d) << endl; ```

 mdp_matrix build_path ( gauge_field & U, site x, int length, int d[] )
 Takes a field U, a site x, a path d of length and compute the product of links along the path starting at x. Assumes computation can be done locally for each site Example: ``` int mu=0, nu=1; gauge_field U(lattice,nc); int d[]={{+1,mu},{+1,nu},{-1,mu},{-1,nu}} forallsites(x) cout << "plaquette(x)=" << average_path(U,x,4,d) << endl; ```

 void compute_long_links ( gauge_field & U, gauge_field & V, int length = `2` )
 For use with asqtad staggered action Given field V makes a field U.long_links where (if length==2) ``` U.long_links(x,mu)=V(x,mu)*V(x+mu,mu); ``` or (if length==3) ``` U.long_links(x,mu)=V(x,mu)*V(x+mu,mu)*V((x+mu)+mu,mu); ```

 mdp_matrix project_SU ( mdp_matrix M, int nstep = `1` )
 takes a matrix M, performs a Cabibbo-Marinari cooling and returns the projected matrix

 void set_antiperiodic_phases ( gauge_field & U, int mu = `0`, int check = `TRUE` )
 To set antiperiodic boundary conditions on in direction mu ``` gauge_field U(lattice,nc); // do heatbath on U set_antiperiodic_phases(U,mu,TRUE); // use quarks (will have antiperiodic boundary conditions) set_antiperiodic_phases(U,mu,FALSE); ```

Generated on Sun Feb 27 15:12:22 2005 by 1.4.1