## Simulation of a SU(2) gauge theory

This is a simulation of a SU(2) model, which is essentially QCD (gluons only) with two colors, written in Java. The degrees of freedom of the system are the link variables each of which connect two neighboring grid points of a n-dimensional lattice (grid). The link variables U are 2x2 unitary matrices which can be written as U = exp(i f), where f is a hermitean 2x2 matrix. The energy of the system is can be obtained by computing the so-called plaquette values. A plaquette value is calculated by taking four neighboring sites on the lattice surrounding an elementary (smallest) square on the lattice. For instance, if you have a site (grid point) with coordinates (i,j), the four points (i,j), (i+1,j), (i+1,j+1), (i,j+1) form a square. The connections between two neighbouring points of the square are given by the corresponding link variables. The value of the plaquette is defined as the product of the four link variables encircling the square and then taking the trace of the resulting matrix.

The total energy of the system is then given by summing over the values of all plaquettes of the lattice and taking the value of this sum.

The link variables are coupled to a heat bath with a temperature T = 1 / beta. This applet then updates the link variables on the lattice in order to simulate the behavior of the system for a given temperature.

• You can adjust the size of the lattice by changing the values in the upper left corner of the window. The default values define a two-dimensional lattice. However, by changing the number of points for the 3rd or 4th dimension from 1 to some other value you can simulate a 3 or 4 dimensional system. The display of the plaquette values on the right always shows one plane within your lattice.

• Below the information on the system size the current value of the plaquette is shown, averaged over all plaquettes on the lattice and averaged over the updates of the lattice. Also, its variation (errorbar) is shown. For low temperatures the plaquette approaches 1, whereas at high temperature the system behaves randomly and the plaquette averages out to 0.

• You can change the temperature of the system by changing the value of beta which is the inverse of the temperature as noted above.

• In the upper right panel the values of the plaquettes of the lattice are shown. In the case of a 3 or 4 dimensional system the value of plaquette is averaged over the additional dimensions at the given point in the plane. Right now the display is a little boring. The brightness of the color indicates the value of the plaquette (the larger the value the brighter the color)

• There are two segments in the lower right corner. The upper panel shows a plot of the value of the plaquette averaged over the lattice (blue) and the same value averaged over all updates of the lattice (red) as they change with successive updates of the link variables on the lattice.

• The lower panel shows the potential between static color charges on the lattice at some distance. The horizontal axis represents the distance between the two plaquettes, the vertical axis is the value of the potential (which is always 0 at distance 0, which is the leftmost point in the plot). The red dots show the current values of the correlation averaged over the lattice, the blue points (including black error bars) are the corresponding values averaged over all updates of the lattice (axis labels are still missing everywhere, I hope I'll get to fixing this, soon. Right now, the display is rescaled with every new drawing).

• You can change the value of the temperature in steps automatically. To do that you specify an amount of change of beta (inverse temperature) in the panel on the left side of the window, and in addition the number of updates of the lattice after which the value of the temperature is changed. The applet will start with the continuous change after you have clicked on the GO button. You can stop by clicking on the button again. The value of the average plaquette of the system with changing temperature is then plotted in the lower left panel of the window. In case the increment is positive green points mark the value and the evolution is plotted from left to right, for a decrement the color is orange and the plotting is done from right to left. The reason for this procedure is that sometimes when the state of the system changes drastically with a change of parameters (phase transition) this change occurs differently if you go from lower to higher values of the parameters or the other way round. Here, for instance, you can choose a positive increment of beta which will generate a green curve and then you can change the sign of the increment and the average is spin is plotted from right to left in orange. You can directly see whether both curves turn out to be on top of each other or not (a so-called hysteresis or memory effect). You can also go back and forth with the increments changing the dimension of the system in-between and so on. The curves don't get erased during the plotting. In order to clear the panel click on the erase plot button.

• In case you need a break, click on the pause button, which will freeze the applet until you click on it again.

• (For experts: with the Cool button you can start cooling the system by setting beta to infinity. Sometimes one can see relatively stable remnants on the lattice - classical solutions, so-called instantons as dark spots on the lattice. Since the plaquette value goes to 1 quite fast during cooling, at every update of the display the range of colors for the plaquettes is matched to the range of values of the plaquette for this iteration. Usually the range of colors represent the possible plaquette values -1 to 1.)

This applet still needs improvement. I'll try to fix the deficiencies with time. Enjoy!

sws 10/07/97