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]) |
Various stuff for gauge field
Distributed under GPL2 License
Created with support from the US Department of Energy
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_real average_plaquette | ( | gauge_field & | U | ) |
Compute average plaquette (all planes).
mdp_real average_plaquette | ( | gauge_field & | U, | |
int | mu, | |||
int | nu | |||
) |
Compute average plaquette on plane mu-nu.
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 amdp_int 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 check_unitarity | ( | gauge_field & | U, | |
double | precision = PRECISION | |||
) |
Check that gauge field is unitary within precision.
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 | |||
) |
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); ///
void copy_path | ( | int | length, | |
int | d[][2], | |||
int | c[][2] | |||
) |
void invert_path | ( | int | mu, | |
int | length, | |||
int | d[][2] | |||
) |
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 rotate_path | ( | int | angle, | |
int | mu, | |||
int | nu, | |||
int | length, | |||
int | d[][2] | |||
) |
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); ///
void set_cold | ( | gauge_field & | U | ) |
make a cold gauge configuration
void set_hot | ( | gauge_field & | U | ) |
Make a hot gauge configuration.