Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

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[][2])
mdp_matrix build_path (gauge_field &U, site x, int length, int d[][2])
void copy_path (int length, int d[][2], int c[][2])
void invert_path (int mu, int length, int d[][2])
void rotate_path (int angle, int mu, int nu, int length, int d[][2])


Detailed Description

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

This file is copyrighted by Massimo Di Pierro Read attached license in file fermiqcd_license.pdf This file cannot be distributed without file fermiqcd_license.pdf


Function Documentation

mdp_complex average_path gauge_field U,
int  length,
int  d[][2]
 

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[][2]={{+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[][2]
 

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[][2]={{+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  doxygen 1.4.1