1 Introduction

Color Glass Condensate (CGC) effective theory [1] applies classical Yang-Mills theory to the area of high energy heavy-ion collisions. In the CGC description high energy nuclei can be treated as thin sheets of fast moving color charge which generate a classical gluon field. The collision of two such sheets produces the Glasma [2], which behaves classically at the earliest stages of the collision. Due to classical Yang-Mills theory being non-linear and the non-perturbative nature of the CGC, computer simulations are commonly used to investigate the time evolution of such systems [3,4,5,6,7]. Here, real-time lattice gauge theory provides a numerical treatment of classical Yang-Mills theory while retaining exact gauge invariance on the lattice. To name a few applications besides CGC and Glasma simulations, real-time lattice gauge theory is widely used for non-Abelian plasma simulations [8, 9] and hard thermal loop (HTL) simulations [10,11,12], classical statistical simulations of fermion production [13, 14], in studying sphalerons (in electroweak theory) [15, 16], for determining the plasmon mass scale in non-Abelian gauge theory [17, 18] or when studying perturbations on top of a non-Abelian background field [19].

The real-time lattice gauge theory approach is based on the discretization of Yang-Mills fields on a lattice in terms of so-called gauge links, i.e. Wilson lines connecting adjacent lattice sites. Using gauge link variables one can discretize the continuum Yang-Mills action in various ways, the simplest of which is the Wilson gauge action [20]. Varying this action with respect to the link variables one obtains discretized classical field equations, which are of the explicit leapfrog type. Moreover, in addition to the equations of motion, one also obtains the Gauss constraint, which is exactly conserved by the leapfrog scheme, even for finite time steps. Going further, the accuracy of the numerical approximation can be systematically improved by adding higher order terms to the standard Wilson gauge action [21].

In previous publications [22, 23] we developed lattice Yang-Mills simulations for genuinely three-dimensional heavy-ion collisions in the CGC framework. Unlike the usual boost-invariant approach, we consider collisions of nuclei with thin, but non-vanishing support along the longitudinal direction (the beam axis) and simulate them in the laboratory frame. This has enabled us to study the effects of finite nuclear longitudinal extent (which is inversely proportional to the Lorentz gamma factor \(\gamma \)) on the rapidity profile of the produced Glasma after the collision. The numerical scheme in these simulations is based on the standard Wilson gauge action with the fields coupled to external color currents. The treatment of these color charges is closely related to the colored particle-in-cell (CPIC) method [24, 25], which is a non-Abelian extension of the particle-in-cell (PIC) method [26] commonly used in (Abelian) plasma simulations.

Unfortunately, these simulations suffer from a numerical instability that leads to an artificial increase of total energy if the lattice resolution is too coarse: even a single nucleus propagating along the beam axis, which should remain static and stable, eventually becomes unstable. Improving the resolution simply postpones the problem at the cost of much higher computational resources. We realize that this instability is due to numerical dispersion on the lattice inherent to the leapfrog scheme, which renders the dispersion relation of plane waves non-linear. As a consequence of numerical dispersion, high frequency plane waves exhibit a phase velocity that is noticeably less than the speed of light on the lattice. The shape of the pulse of color fields is lost over time. At the same time, the color current “driving” the nucleus forward will not disperse by construction: the point-like color charges making up the current are simply moved from one cell to the next as the simulation progresses. Thus the shape of the current is always kept intact. This mismatch and the resulting instability is therefore related to the numerical Cherenkov instability [27], which can occur in (Abelian) particle-in-cell simulations. Notably, simulations of laser wakefield acceleration [28], where electric charges moving at relativistic speeds are coupled to discretized electromagnetic fields, suffer from the same type of instability and many numerical schemes have been devised to cure it [29,30,31,32]. A particularly simple solution to the problem is the use of semi-implicit schemes to repair the dispersion relation (i.e. making it linear) for one direction of propagation [33], which is the approach we take in this work.

In this paper we derive an implicit and a semi-implicit scheme for real-time lattice gauge theory by modifying the standard Wilson gauge action. We obtain two new actions that are gauge invariant (in the lattice sense), are of the same order of accuracy as the original action, but yield an implicit or semi-implicit scheme upon variation. In the case of the semi-implicit scheme setting the lattice spacing and the time step to specific values can fix the dispersion relation along the longitudinal direction and thus suppress the numerical Cherenkov instability. We also obtain a modified version of the Gauss constraint that is conserved up to (in principle) arbitrary numerical precision under the discrete equations of motion.

We start with a discussion of the main ideas behind the semi-implicit scheme for the two-dimensional wave equation in Sect. 2 and for Abelian gauge fields on the lattice in Sect. 3. The concepts are then generalized to non-Abelian lattice gauge theory in Sect. 4, where we derive both a fully implicit and the semi-implicit scheme. Finally, we verify numerically that the Cherenkov instability can be suppressed using the new scheme and that the Gauss constraint is conserved in Sect. 5.

2 A toy model: the 2D wave equation

The basic ideas behind the numerical scheme we are after can be most easily explained using a simple toy model, namely the two-dimensional wave equation. We start by giving a few definitions and then derive three different numerical schemes by discretizing the action of the system in different ways and using a discrete variational principle. The schemes obtained through this procedure are known as variational integrators, which exhibit useful numerical properties such as conserving symplectic structure and retaining symmetries of the discrete action [34, 35]. We will see how the exact discretization of the action affects the properties of the numerical scheme and in particular how numerical dispersion can be eliminated.

We consider a real-valued scalar field \(\phi (x)\) in 2+1 with mostly minuses metric signature \((+1,-1,-1)\) and set the speed of light to \(c=1\). The action is given by

$$\begin{aligned} S[\phi ] = \intop _x \frac{1}{2} \sum _\mu \partial _{\mu }\phi \partial ^{\mu }\phi , \end{aligned}$$
(1)

which upon demanding that the variation of the action vanishes

$$\begin{aligned} \delta S = \intop _x \frac{\delta S[\phi ]}{\delta \phi (x)} \delta \phi (x) = 0, \end{aligned}$$
(2)

yields the equations of motion (EOM)

$$\begin{aligned} \sum _\mu \partial _\mu \partial ^\mu \phi (x) = \partial _0^2 \phi (x) - \sum _i \partial _i^2 \phi (x) = 0. \end{aligned}$$
(3)

We use Latin indices \(i,j,k,\ldots \) to denote the spatial components, \(\partial _i^2\) is a shorthand for \(\partial _i \partial _i\) (no sum implied) and \(\intop _x = \int dx^0 dx^1 dx^2\). Inserting a plane-wave ansatz

$$\begin{aligned} \phi (x) = \phi _0 \exp \left( i \sum _\mu k_\mu x^\mu \right) , \end{aligned}$$
(4)

with \(\phi _0 \in \mathbb {R}\) and \(k^\mu = (\omega , k^1, k^2)^\mu \) into the EOM gives the dispersion relation

$$\begin{aligned} \omega = |k| = \sqrt{(k^1)^2+(k^2)^2}. \end{aligned}$$
(5)

Obviously, the phase velocity \(v = \omega / |k| = 1\) is constant, i.e. there is no dispersion.

Now let us consider a discretized version of this system by approximating space time as an infinite rectangular lattice with grid spacings \(a^\mu \). We refer to \(a^0\) as the time step and \(a^i\) as the spatial lattice spacings. The field \(\phi (x)\) is replaced with field values \(\phi _x\) defined at the lattice sites x and derivatives are replaced with finite difference expressions. We define the forward difference

$$\begin{aligned} \partial _\mu ^F \phi _x \equiv \frac{\phi _{x+\mu } - \phi _{x}}{a^\mu }, \end{aligned}$$
(6)

and the backward difference

$$\begin{aligned} \partial _\mu ^B \phi _x \equiv \frac{\phi _{x} - \phi _{x-\mu }}{a^\mu }, \end{aligned}$$
(7)

where we introduced another shorthand notation: \(\phi _{x\pm \mu }\) denotes the field at a neighboring lattice site \(x\pm a^\mu {\hat{e}}_\mu \) (no implicit sum over \(\mu \)) with the unit vector in the \(\mu \) direction \({\hat{e}}_\mu \). We also define the second order central difference

$$\begin{aligned} \partial ^2_\mu \phi _x \equiv \partial ^F_\mu \partial ^B_\mu \phi _x = \frac{\phi _{x+\mu } + \phi _{x-\mu } - 2 \phi _{x}}{(a^\mu )^2}. \end{aligned}$$
(8)

The forward and backward differences are linear approximations to the first order derivative, while the second order difference is accurate up to second order in the lattice spacing a. Equipped with these definitions we could directly discretize the EOM (3), but this is not the approach we will take. The strategy behind variational integrators is to first discretize the action (1) and then demand that the discrete variation vanishes.

2.1 Leapfrog scheme

One possible way of discretizing the action is

$$\begin{aligned} S[\phi ] = \frac{1}{2} V \sum _x \left( \left( \partial ^F_0 \phi _x \right) ^2 - \sum _i \left( \partial ^F_i \phi _x\right) ^2\right) , \end{aligned}$$
(9)

where \(\sum _x\) is the sum over all lattice sites and \(V = a^0 a^1 a^2\) is the space-time volume of a unit cell. Introducing small variations \(\delta \phi _x\) of the discrete field at each point, the discrete variation of this action reads

$$\begin{aligned} \delta S&= V \sum _x \left( \partial ^F_0 \phi _x \partial ^F_0 \delta \phi _x - \sum _i \partial ^F_i \phi _x \partial ^F_i \delta \phi _x \right) \nonumber \\&= - V \sum _x \left( \partial ^2_0 \phi _x - \sum _i\partial ^2_i \phi _x \right) \delta \phi _x \end{aligned}$$
(10)

which upon setting it to zero yields the discretized EOM

$$\begin{aligned} \partial ^2_0 \phi _x - \sum _i\partial ^2_i \phi _x = 0, \end{aligned}$$
(11)

where \(\partial ^2_0\) and \(\partial ^2_i\) are second order finite differences. Here, we made use of summation by parts, i.e.

$$\begin{aligned} \sum _x \partial ^F_0 \phi _x \partial ^F_0 \delta \phi _x = - \sum _x \partial ^B_0 \partial ^F_0 \phi _x \delta \phi _x, \end{aligned}$$
(12)

which is the discrete analogue of integration by parts. If the field is known in two consecutive time slices we can explicitly solve the EOM (11) for the field values in the next time slice:

$$\begin{aligned} \phi _{x+0} = \sum _i \left( \frac{a^0}{a^i}\right) ^2 \left( \phi _{x+i} + \phi _{x-i} - 2\phi _x \right) - \phi _{x-0} + 2\phi _x.\nonumber \\ \end{aligned}$$
(13)

In fact, this scheme is identical to the explicit leapfrog scheme,Footnote 1 which is accurate up to second order in the time step \(a^0\) and spatial lattice spacings \(a^i\). Using the plane-wave ansatz (4) we find the dispersion relation

$$\begin{aligned} \sin ^2 \left( \frac{\omega a^0}{2} \right) = \sum _i \left( \frac{a^0}{a^i} \right) ^2 \sin ^2 \left( \frac{k^i a^i}{2} \right) , \end{aligned}$$
(19)

which is in general non-linear and only yields real-valued (stable) frequencies \(\omega \) for all wave vectors k if the Courant-Friedrichs-Lewy (CFL) condition holds

$$\begin{aligned} \sum _i \left( \frac{a^0}{a^i} \right) ^2 \le 1. \end{aligned}$$
(20)

The discretization errors of this finite difference scheme result in a non-linear dispersion relation, which is usually referred to as numerical dispersion, since this kind of artificial dispersive behavior of plane waves does not show up in the continuum. If it were possible to set \(a^0=a^1=a^2\) (the so-called “magic time-step”) the leapfrog scheme would actually be non-dispersive along the lattice axes, but this choice of the parameters is forbidden by the CFL condition in higher dimensions than \(1+1\) and would lead to unstable modes.

2.2 Implicit scheme

Let us consider a different discretization: we define a new action

$$\begin{aligned} S[\phi ] = \frac{1}{2} V \sum _x \left( \left( \partial ^F_0 \phi _x \right) ^2 - \sum _i \partial ^F_i \phi _x \partial ^F_i {\overline{\phi }}_x \right) , \end{aligned}$$
(21)

where \({\overline{\phi }}_x\) is the temporally averaged field

$$\begin{aligned} {\overline{\phi }}_x \equiv \frac{\phi _{x+0} + \phi _{x-0}}{2} \approx \phi _x +{\mathscr {O}} \left( (a^0)^2 \right) . \end{aligned}$$
(15)

Note that only one of the spatial finite differences in the squared term is temporally averaged. Since this action differs from the leapfrog action (9) only up to an error term quadratic in \(a^0\), the numerical scheme derived from this action will have the same accuracy as the leapfrog scheme.

Repeating the steps as before we obtain the discretized EOM

$$\begin{aligned} \partial ^2_0 \phi _x - \sum _i\partial ^2_i {\overline{\phi }}_x = 0. \end{aligned}$$
(16)

This is an implicit scheme, which is more complicated to solve compared to the explicit leapfrog scheme given by Eq. (13). Here we have to find the solution to a system of linear equations, which can be accomplished using (for instance) iterative methods.

The dispersion relation for this scheme reads

$$\begin{aligned} \sin ^2 \left( \frac{\omega a^0}{2} \right) = \frac{ \sum _i \left( \frac{a^0}{a^i} \right) ^2 \sin ^2 \left( \frac{k^i a^i}{2} \right) }{ 1 + 2 \sum _i \left( \frac{a^0}{a^i} \right) ^2 \sin ^2 \left( \frac{k^i a^i}{2} \right) }. \end{aligned}$$
(22)

This relation can always be solved for real-valued frequencies \(\omega \) and therefore the implicit scheme is unconditionally stable. Unfortunately this does not solve the problem of numerical dispersion either, because there is no choice of lattice parameters that results in a linear dispersion relation.

We quickly summarize: the first action we considered given by Eq. (9) gave us the explicit leapfrog scheme, which is rendered non-dispersive but unstable using the “magic time-step”. The second action, Eq. (19), which we obtained by replacing one of the spatial finite differences with a temporally averaged expression, yields an implicit scheme. This scheme is unconditionally stable, but always dispersive. This suggests that a mixture of both discretizations might solve our problem.

2.3 Semi-implicit scheme

Finally, we consider the action

$$\begin{aligned} S[\phi ] = \frac{1}{2} V \sum _x \left( \left( \partial ^F_0 \phi _x \right) ^2 - \left( \partial ^F_1 \phi _x \right) ^2 - \partial ^F_2 \phi _x \partial ^F_2 {\overline{\phi }}_x \right) ,\nonumber \\ \end{aligned}$$
(23)

where the derivatives w.r.t. \(x^1\) are treated like in the leapfrog scheme and the derivatives w.r.t. \(x^2\) involve a temporally averaged expression as in the implicit scheme. The EOM now read

$$\begin{aligned} \partial ^2_0 \phi _x - \partial ^2_1 \phi _x - \partial ^2_2 {\overline{\phi }}_x = 0. \end{aligned}$$
(24)

We call this numerical scheme semi-implicit, because the finite difference equation contains both explicitly and implicitly treated spatial derivatives. The dispersion relation associated with Eq. (24) is given by

$$\begin{aligned} \sin ^2 \left( \frac{\omega a^0}{2} \right) = \frac{ \sum _i \left( \frac{a^0}{a^i} \right) ^2 \sin ^2 \left( \frac{k^i a^i}{2} \right) }{ 1 + 2\left( \frac{a^0}{a^2} \right) ^2 \sin ^2 \left( \frac{k^2 a^2}{2} \right) }, \end{aligned}$$
(25)

which is stable if

$$\begin{aligned} \left( \frac{a^0}{a^1} \right) ^2 \le 1. \end{aligned}$$
(26)

The CFL condition (26) now allows us to set \(a^0=a^1\). Looking at the dispersion relation (25) we notice that for \(k^1 \ne 0\), but \(k^2 = 0\) the propagation becomes non-dispersive, i.e. \(\omega = k^1\). For \(k^2 \ne 0\) and \(k^1 = 0\) the propagation still exhibits numerical dispersion. The scheme defined by the action (23) therefore allows for non-dispersive, stable wave propagation along one particular direction on the lattice. This principle also extends to systems with more spatial dimensions, where one treats a preferred direction explicitly and all other spatial directions implicitly.

2.4 Solution method and numerical tests

To solve the EOM of the implicit or the semi-implicit scheme one has to solve a linear system of equations. This can be accomplished for instance by inverting a band matrix. Alternatively the equations can also be solved in an iterative manner. Taking the latter approach will be readily applicable to lattice gauge theory. One example for an iterative method is damped (or relaxed) fixed point iteration: the idea is to first rewrite the EOM (24) as a fixed point equation

$$\begin{aligned} \phi _{x+0} = F \left[ \phi \right] = 2 \phi _x - \phi _{x-0} + \left( a^0 \right) ^2 \left( \partial ^2_1 \phi _x + \partial ^2_2 {\overline{\phi }}_x \right) ,\nonumber \\ \end{aligned}$$
(27)

and then, starting with an initial guess \(\phi ^{(0)}_{x+0}\) from e.g. the explicit leapfrog evolution, use the iteration

$$\begin{aligned} \phi ^{(n+1)}_{x+0} = \alpha \phi ^{(n)}_{x+0} + \left( 1 - \alpha \right) F \left[ \phi ^{(n)} \right] . \end{aligned}$$
(28)

to obtain a new guess \(\phi ^{(n+1)}_{x+0}\). Here the real-valued parameter \(\alpha \) acts as a damping coefficient. Using fixed point iteration might induce other numerical instabilities not covered by the CFL condition (26). To analyze this we make the ansatz

$$\begin{aligned} \phi ^{(n)}_{x+0} = \lambda ^n \varphi _x + \phi ^{(\infty )}_{x+0}, \end{aligned}$$
(29)

where \(\phi ^{(\infty )}_{x+0}\) is the true solution to Eq. (27) and \(\varphi _x\) represents a time-independent error term. The growth of the error is determined by the modulus of \(\lambda \). Employing a Fourier ansatz \(\varphi _x = \exp \left( i \sum _i k^i x^i \right) \) yields

$$\begin{aligned} \lambda = -2(1-\alpha ) \left( \frac{a^0}{a^2} \right) ^{2} \sin ^{2} \left( \frac{k^2 a^2}{2} \right) +\alpha , \end{aligned}$$
(30)

which is independent of the \(k^1\) component and the corresponding lattice spacing \(a^1\). Requiring convergence for high-k modes, i.e. \({|}\lambda {|} < 1\) for \(k^2=\pm \pi / a^2\), we find

$$\begin{aligned} \frac{2 \delta -1}{2 \delta + 1}<\alpha <1, \end{aligned}$$
(31)

where

$$\begin{aligned} \delta = \left( \frac{a^0}{a^2} \right) ^2. \end{aligned}$$
(32)

In \(d+1\) dimensions, where we treat the \(i=1\) direction explicitly and all others \(2 \le i \le d\) implicitly, the stability condition is given by Eq. (31) with

$$\begin{aligned} \delta = \sum ^d_{i=2} \left( \frac{a^0}{a^i} \right) ^2. \end{aligned}$$
(33)

Note that for \(\delta < 1/2\) damping might not even be necessary. A similar stability condition can be derived also for the implicit scheme, which by itself (just from the plane wave analysis) is unconditionally stable. It is important to keep in mind that the use of fixed point iteration can introduce new instabilities depending on the lattice spacing and the time step.

Fig. 1
figure 1

This plot shows a comparison of three different numerical schemes for solving the wave equation in 2+1: (top) explicit leapfrog scheme (11), (middle) the implicit scheme (21), (bottom) semi-implicit scheme (24) with “magic time-step” \(a^0=a^1\). The horizontal axis is the \(x^1\) coordinate; the vertical axis is the field amplitude \(\phi _x\) in arbitrary units. The \(x^2\) coordinate is suppressed. The initial condition (seen on the left) is a Gaussian pulse which propagates to the right under time evolution. Due to numerical dispersion of the leapfrog and implicit scheme the original shape of the Gaussian is lost over time. On the other hand, the dispersion-free semi-implicit solver conserves the original pulse shape

Finally, we perform a crucial numerical test: we compare the propagation of a Gaussian pulse using the three different schemes to show the effects of numerical dispersion and in particular that the semi-implicit scheme is dispersion-free. For simulations using the implicit or semi-implicit method we solve the equations using damped fixed point iteration. The results are shown in Fig. 1.

The main insight of this section is that the specific discretization of the action completely fixes the numerical scheme of the discrete equations of motion (and the associated stability and dispersion properties) which one obtains from a discrete variational principle. The use of temporally averaged quantities in the action leads to implicit schemes. If we treat some derivatives explicitly and some implicitly we can end up with a semi-implicit scheme that can be non-dispersive and still stable for propagation along a single direction on the lattice. As it turns out, this is just what we need to suppress the numerical Cherenkov instability we encountered in our heavy-ion collision simulations. In the next section we will see how we can use the same “trick” for Abelian gauge fields on the lattice.

3 Abelian gauge fields on the lattice

Before tackling the problem of non-Abelian gauge fields on the lattice, it is instructive to see how we can derive a dispersion-free semi-implicit scheme for discretized Abelian gauge fields. We will approach the problem as before: starting with a discretization of the action, we apply a discrete variational principle to derive discrete equations of motion and constraints. Then we will see what modifications to the action are required to obtain implicit and semi-implicit numerical schemes. Since we are dealing with gauge theory we will take care to retain gauge invariance also for the discretized system.

In the continuum the action for Abelian gauge fields reads

$$\begin{aligned} S[A] = -\frac{1}{4} \intop _x \sum _{\mu , \nu } F_{\mu \nu }(x) F^{\mu \nu }(x), \end{aligned}$$
(34)

with the field strength tensor given by

$$\begin{aligned} F_{\mu \nu }(x) = \partial _\mu A_\nu (x) - \partial _\nu A_\mu (x). \end{aligned}$$
(35)

The field strength and the action are invariant under gauge transformations defined by

$$\begin{aligned} A_\mu (x) \rightarrow A_\mu (x) + \partial _\mu \alpha (x), \end{aligned}$$
(36)

where \(\alpha (x)\) is an at least twice differentiable function which defines the gauge transformation.

Varying the action with respect to the gauge field leads to

$$\begin{aligned} \delta S[A] = \intop _x \sum _{\nu } \left( \sum _\mu \partial _\mu F^{\mu \nu }(x) \right) \delta A_\nu (x)=0. \end{aligned}$$
(37)

The term proportional to \(\delta A_0(x)\) leads to the Gauss constraint

$$\begin{aligned} \sum _i \partial _i F_{0i}(x)=0, \end{aligned}$$
(38)

while the term proportional to the variation of spatial components gives the EOM

$$\begin{aligned} \partial _0 F_{i0}(x) = \sum _j \partial _j F_{ij}(x). \end{aligned}$$
(39)

It is trivial to see that the EOM imply the conservation of the Gauss constraint. As we will see next, it is also possible to formulate a discretization of the system where this conservation of the constraint holds exactly.

3.1 Leapfrog scheme

We consider a discretized gauge field \(A_{x,\mu }\) at the lattice sites x. The field strength tensor \(F_{x,\mu \nu }\) at x is defined using forward differences

$$\begin{aligned} F_{x,\mu \nu } = \partial ^F_\mu A_{x,\nu } - \partial ^F_\nu A_{x,\mu }, \end{aligned}$$
(40)

which is antisymmetric in the Lorentz index pair \(\mu , \nu \) like its continuum analogue. Furthermore, the lattice field strength is invariant under lattice gauge transformations given by

$$\begin{aligned} A_{x,\mu } \rightarrow A_{x,\mu } + \partial ^F_\mu \alpha _x, \end{aligned}$$
(41)

where \(\alpha _x\) defines the local transformation at each lattice site x. A straightforward discretization of the gauge field action is given by

$$\begin{aligned} S[A] = \frac{1}{2} V \sum _x \left( \sum _i \ F_{x,0i}^2 - \frac{1}{2} \sum _{i,j} F_{x,ij}^2 \right) , \end{aligned}$$
(42)

where \(V=\prod _\mu a^\mu \) is the space-time volume of a unit cell. Due to the invariance of \(F_{x,\mu \nu }\) under lattice gauge transformations the action is also invariant.

Performing the variation of (42) with respect to spatial components \(A_{x,i}\) yields the equations of motion. Using the variation of the magnetic part of the action

$$\begin{aligned} \frac{1}{4} \sum _{x,i,j} \delta \left( F_{x,ij}^2 \right)&= \frac{1}{2} \sum _{x,i,j} F_{x,ij} \delta F_{x,ij} \nonumber \\&= \frac{1}{2} \sum _{x,i,j} F_{x,ij} \left( \partial ^F_i \delta A_{x,j} - \partial ^F_j \delta A_{x,i} \right) \nonumber \\&= \sum _{x,i,j} \partial ^B_j F_{x,ij} \delta A_{x,i}, \end{aligned}$$
(43)

and the variation of the electric part w.r.t. spatial components (denoted by \(\delta _s\))

$$\begin{aligned} \frac{1}{2} \sum _{x,i} \delta _s \left( F_{x,0i}^2 \right)&= \sum _{x,i} F_{x,0i} \partial ^F_0 \delta A_{x,i} \nonumber \\&= - \sum _{x,i} \partial ^B_0 F_{x,i0} \delta A_{x,i}, \end{aligned}$$
(44)

we find the discrete EOM

$$\begin{aligned} \partial ^B_0 F_{x,i0} = \sum _j \partial ^B_j F_{x,ij}, \end{aligned}$$
(45)

which are of the explicit leapfrog type. We also obtain a discretized version of the Gauss constraint by considering the variation w.r.t. temporal components \(A_{x,0}\) (denoted by \(\delta _t\)). With

$$\begin{aligned} \frac{1}{2} \sum _{x,i} \delta _t \left( F_{x,0i}^2 \right)&= - \sum _{x,i} F_{x,0i} \partial ^F_i \delta A_{x,0} \nonumber \\&= \sum _{x,i} \partial ^B_i F_{x,0i} \delta A_{x,0}, \end{aligned}$$
(46)

we get the constraint

$$\begin{aligned} \sum _i \partial ^B_i F_{x,0i} = 0. \end{aligned}$$
(47)

Since both the discrete EOM and the constraint follow from the same discretized, gauge-invariant action (42), the Gauss constraint is guaranteed to be automatically conserved under the EOM. We can show this explicitly via

$$\begin{aligned} \partial ^B_0 \left( \sum _i \partial ^B_i F_{x,0i} \right)&= -\sum _i \partial ^B_i \left( \partial ^B_0 F_{x,i0} \right) \nonumber \\&= -\sum _{i,j} \partial ^B_i \partial ^B_j F_{x,ij} = 0, \end{aligned}$$
(48)

which is equivalent to

$$\begin{aligned} \sum _i \partial ^B_i F_{x,0i} = \sum _i \partial ^B_i F_{x-0,0i}. \end{aligned}$$
(49)

This means that if the Gauss constraint is satisfied in one time slice then the EOM will ensure that it remains satisfied in the next time slice. We can also give a more general proof: consider an infinitesimal gauge transformation

$$\begin{aligned} A'_{x,\mu } = A_{x,\mu } + \partial ^F_\mu \alpha _x, \end{aligned}$$
(50)

and expand the action \(S[A']\) for small \(\alpha \). We then find

$$\begin{aligned} S[A']&\simeq S[A] + \sum _{x,y,\mu } \left( \frac{\partial S[A']}{\partial A'_{x,\mu }} \frac{\partial A'_{x,\mu }}{\partial \alpha _y} \right) \bigg |_{\alpha =0} \alpha _y +{\mathscr {O}} \left( \alpha ^2 \right) \nonumber \\&= S[A] + \sum _{x,y,\mu } \frac{\partial S[A]}{\partial A_{x,\mu }} \partial ^F_\mu \delta _{xy} \alpha _y +{\mathscr {O}} \left( \alpha ^2 \right) \nonumber \\&= S[A] - \sum _{x,\mu } \partial ^B_\mu \frac{\partial S[A]}{\partial A_{x,\mu }} \alpha _x +{\mathscr {O}} \left( \alpha ^2 \right) . \end{aligned}$$
(51)

Since S[A] is invariant for any \(\alpha \) it must hold that

$$\begin{aligned} \sum _{\mu } \partial ^B_\mu \frac{\partial S[A]}{\partial A_{x,\mu }} = 0, \end{aligned}$$
(52)

or written slightly differently

$$\begin{aligned} \partial ^B_0 \frac{\partial S[A]}{\partial A_{x,0}} = - \sum _i \partial ^B_i \frac{\partial S[A]}{\partial A_{x,i}}. \end{aligned}$$
(53)

If the equations of motion are satisfied in every time slice, i.e. \(\frac{\partial S[A]}{\partial A_{x,i}}=0\), then the Gauss constraint \(\frac{\partial S[A]}{\partial A_{x,0}}\) must be conserved from one slice to the next:

$$\begin{aligned} \partial ^B_0 \frac{\partial S[A]}{\partial A_{x,0}} = 0. \end{aligned}$$
(54)

This holds regardless of the exact form of the gauge invariant action S[A]. Consequently, it does not matter what kind of discretization of the action we use. As long as S[A] retains lattice gauge invariance in the sense of Eq. (41), we are guaranteed to find that the discrete Gauss constraint is conserved under the discrete equations of motion.

The EOM (45) alone are not enough to uniquely determine the time evolution of the field \(A_{x,\mu }\): we must specify a gauge condition. Here we use temporal gauge

$$\begin{aligned} A_{x,0} = 0, \end{aligned}$$
(55)

which we will also use in the case of non-Abelian lattice gauge fields. The EOM (45) then read

$$\begin{aligned} - \partial ^2_0 A_{x,i} = \sum _j \left( \partial ^B_j \partial ^F_i A_{x,j} - \partial ^2_j A_{x,i} \right) . \end{aligned}$$
(56)

Using a plane wave ansatz

$$\begin{aligned} A_{x,i} = A_i e^{i \left( \omega x^0 - \sum _i k^i x^i \right) }, \end{aligned}$$
(57)

with amplitude \(A_i\), we find the same non-trivial dispersion relation and CFL stability condition as in the case of the leapfrog scheme for the wave equation in 2+1 [see Eq. (17) and Eq. (18)]. To show this explicitly we first introduce some notation. Taking either a forward (backward) finite difference of the plane wave ansatz yields

$$\begin{aligned} \partial ^{F}_i A_{x,j}= & {} \frac{e^{-i k^i a^i} - 1}{a^i} A_{x,j}, \end{aligned}$$
(58)
$$\begin{aligned} \partial ^{B}_i A_{x,j}= & {} \frac{1 - e^{+i k^i a^i}}{a^i} A_{x,j}, \end{aligned}$$
(59)

which suggests the definition of the forward (backward) lattice momentum

$$\begin{aligned} \kappa ^{F}_i= & {} \frac{e^{-i k^i a^i} - 1}{i a^i}, \end{aligned}$$
(60)
$$\begin{aligned} \kappa ^{B}_i= & {} \frac{1 - e^{+i k^i a^i}}{i a^i}. \end{aligned}$$
(61)

It holds that \(\left( \kappa ^F_i \right) ^\dagger = \kappa ^B_i\). We define the squared lattice momentum as

$$\begin{aligned} \kappa ^2_i \equiv \kappa ^{F}_i \kappa ^{B}_i = \left( \frac{2}{a^i} \right) ^2 \sin ^2 \left( \frac{k^i a^i}{2} \right) . \end{aligned}$$
(62)

Furthermore, we can render the lattice momenta dimensionless by multiplying with \(a^0\). We define the dimensionless lattice momentum as

$$\begin{aligned} \chi ^{F/B}_i = \frac{a^0}{2} \kappa ^{F/B}_i, \end{aligned}$$
(63)

and

$$\begin{aligned} \chi ^2_i = \chi ^F_i \chi ^B_i = \left( \frac{a^0}{a^i} \right) ^2 \sin ^2 \left( \frac{k^i a^i}{2} \right) . \end{aligned}$$
(64)

The factor of 1 / 2 in (63) is introduced for convenience. For differences with respect to the time coordinate we find \(\chi ^2_0 = \sin ^2 \left( \omega a^0 / 2 \right) \). Using these definitions the Gauss constraint (47) for the plane wave ansatz can be reduced to

$$\begin{aligned} \sum _i \chi ^B_i A_{i} = 0. \end{aligned}$$
(65)

The discrete EOM (56) can be written as

$$\begin{aligned} \chi ^2_0 A_{i} = -\sum _j \left( \chi ^B_j \chi ^F_i A_{j} + \chi ^2_j A_{i} \right) . \end{aligned}$$
(66)

One can eliminate the mixed terms \(\chi ^B_j \chi ^F_i A_{j}\) using the Gauss constraint and find the dispersion relation

$$\begin{aligned} \chi ^2_0 = \sum _j \chi ^2_j, \end{aligned}$$
(67)

which is equivalent to the dispersion relation of the wave equation Eq. (17), i.e.

$$\begin{aligned} \sin ^2 \left( \frac{\omega a^0}{2} \right) = \sum _j \left( \frac{a^0}{a^j} \right) ^2 \sin ^2 \left( \frac{k^j a^j}{2} \right) . \end{aligned}$$
(68)

3.2 Implicit scheme

An implicit scheme analogous to the one we derived for the wave equation [see Eq. (19)] can be found using the action

$$\begin{aligned} S[A] = \frac{1}{2} V \sum _x \left( \sum _i \ F_{x,0i}^2 - \frac{1}{2} \sum _{i,j} F_{x,ij} M_{x,ij} \right) , \end{aligned}$$
(69)

where we introduce the temporally averaged field-strength

$$\begin{aligned} M_{x,ij} = {\overline{F}}_{x,ij} = \frac{1}{2} \left( F_{x+0,ij} + F_{x-0,ij} \right) . \end{aligned}$$
(70)

Note that \(M_{x,ij}\) differs from \(F_{x,ij}\) only by an error term proportional to \(\left( a^0 \right) ^2\). Replacing one of the field strengths \(F_{x,ij}\) in the quadratic term in the action with its temporally averaged expression \(M_{x,ij}\) is analogous to replacing the wave amplitude \(\phi _x\) with \({\overline{\phi }}_x=\frac{1}{2} \left( \phi _{x+0} + \phi _{x-0} \right) \) in the action (19). The averaged field strength \(M_{x,ij}\) is also invariant under lattice gauge transformations:

$$\begin{aligned} M_{x,ij} \rightarrow M_{x,ij} + \partial ^F_i \partial ^F_j {\overline{\alpha }}_x - \partial ^F_j \partial ^F_i {\overline{\alpha }}_x = M_{x,ij}. \end{aligned}$$
(71)

Varying the action as we did for the leapfrog scheme we find the EOM

$$\begin{aligned} \partial ^B_0 F_{x,i0} = \sum _j \partial ^B_j M_{x,ij}, \end{aligned}$$
(72)

and employing temporal gauge we have

$$\begin{aligned} - \partial ^2_0 A_{x,i} = \sum _j \left( \partial ^B_j \partial ^F_i {\overline{A}}_{x,j} - \partial ^2_j {\overline{A}}_{x,i} \right) , \end{aligned}$$
(73)

where the fields \(A_{x,i}\) have been replaced with temporally averaged expressions \({\overline{A}}_{x,i}=\frac{1}{2} \left( A_{x+0,i} + A_{x-0,i} \right) \) on the right-hand side. The Gauss constraint that arises from varying w.r.t. temporal components is simply Eq. (47), because we did not modify the term involving \(F_{x,0i}\) or introduce new dependencies on \(A_{x,0}\). The discrete EOM (72) still conserve the Gauss constraint due to lattice gauge invariance. Performing the same steps as in the previous section, we can show that this implicit scheme is unconditionally stable and exhibits the same non-trivial dispersion relation as the implicit scheme for the wave equation, see Eq. (22).

3.3 Semi-implicit scheme

In this section we want to develop a semi-implicit scheme for Abelian gauge fields. Specifically we need an action that allows for dispersion-free propagation of waves in the direction of the \(x^1\) coordinate (which we refer to as the longitudinal direction). We call \(x^2\) and \(x^3\) the transverse coordinates. From now on Latin indices \(i, j, k, \ldots \) refer to transverse indices and the longitudinal index will always be explicit. Our goal is to define the action in such a way that we end up with equations of motion that include explicit differences in the \(x^1\) direction, but temporally averaged finite differences in the \(x^2\) and \(x^3\) direction. This means that we have to modify the \(F_{x,i1}^2\) term of the leapfrog action (42) such that it results in terms like \(\partial ^F_i A_{x,1} \partial ^F_1 {\overline{A}}_{x,1}\). A first guess for a semi-averaged version of field strength \(F_{x,i1}\) that could accomplish this is

$$\begin{aligned} \partial ^F_i {\overline{A}}_{x,1} - \partial ^F_1 A_{x,i}, \end{aligned}$$
(74)

with \({\overline{A}}_{x,1} = \frac{1}{2} \left( A_{x+0,1} + A_{x-0,1} \right) \). However, it turns out that such a term is not invariant under lattice gauge transformations (41). The problem is that \({\overline{A}}_{x,1}\) transforms differently than \(A_{x,i}\). We have

$$\begin{aligned} {\overline{A}}_{x,1} \rightarrow {\overline{A}}_{x,1} + \partial ^F_1 {\overline{\alpha }}_x, \end{aligned}$$
(75)
$$\begin{aligned} A_{x,i} \rightarrow A_{x,i} + \partial ^F_i \alpha _x, \end{aligned}$$
(76)

which yields

$$\begin{aligned}&\partial ^F_i {\overline{A}}_{x,1} - \partial ^F_1 A_{x,i} \rightarrow \partial ^F_i {\overline{A}}_{x,1} - \partial ^F_1 A_{x,i} \nonumber \\&\quad + \partial ^F_i \partial ^F_1 \left( {\overline{\alpha }}_x - \alpha _x \right) , \end{aligned}$$
(77)

where the last term \(\partial ^F_i \partial ^F_1 \left( {\overline{\alpha }}_x - \alpha _x \right) \) breaks gauge invariance. To fix this we introduce the “properly” averaged field strength \({\tilde{A}}_{x,1}\) given by

$$\begin{aligned} {\tilde{A}}_{x,1} \equiv {\overline{A}}_{x,1} - \frac{1}{2} \left( a^0 \right) ^2 \partial ^F_1 \partial ^B_0 A_{x,0}, \end{aligned}$$
(78)

where the last term transforms as

$$\begin{aligned}&\partial ^F_1 \partial ^B_0 A_{x,0} \rightarrow \partial ^F_1 \partial ^B_0 A_{x,0} + \partial ^F_1 \partial ^2_0 \alpha _{x} \nonumber \\&\quad = \partial ^F_1 \partial ^B_0 A_{x,0} + \frac{2}{\left( a^0 \right) ^2}\partial ^F_1 \left( {\overline{\alpha }}_{x} - \alpha _x \right) . \end{aligned}$$
(79)

Here we made use of the exact relation

$$\begin{aligned} \frac{1}{2} \left( a^0 \right) ^2 \partial ^2_0 \alpha _x = {\overline{\alpha }}_x - \alpha _x. \end{aligned}$$
(80)

Therefore, the transformation property of the properly averaged gauge field \({\tilde{A}}_{x,1}\) is the same as \(A_{x,1}\):

$$\begin{aligned} {\tilde{A}}_{x,1} \rightarrow {\tilde{A}}_{x,1} + \partial ^F_1 \alpha _x. \end{aligned}$$
(81)

It still holds that in the continuum limit the properly averaged gauge field \({\tilde{A}}_{x,1}\) is the same as \(A_{x,1}\) up to an error term quadratic in \(a^0\). While the definition (78) seems a bit arbitrary at first sight, this way of averaging is more natural using the language of lattice gauge theory: in Sect. 4.3 we will find an intuitive picture in terms of Wilson lines that reduces to (78) in the Abelian limit for small lattice spacings.

The properly semi-averaged gauge-invariant field strength is then given by

$$\begin{aligned} W_{x,i1} \equiv \partial ^F_i {\tilde{A}}_{x,1} - \partial ^F_1 A_{x,i}. \end{aligned}$$
(82)

In order to keep the field strength explicitly antisymmetric we define \(W_{x,1i} = - W_{x,i1}\). Using these definitions we can guess the action

$$\begin{aligned} S[A]&= \frac{1}{2} V \sum _x \bigg (F_{x,01}^2 + \sum _i F_{x,0i}^2 - \frac{1}{2} \sum _{i,j} F_{x,ij} M_{x,ij} \nonumber \\&\quad - \sum _i F_{x,1i} W_{x,1i}\bigg ), \end{aligned}$$
(83)

where the indices ij denote transverse components. Since we have built the new action from gauge invariant expressions it is also invariant under lattice gauge transformations. Note that the use of \({\tilde{A}}_{x,i}\) in \(W_{x,1i}\) introduces new terms in the action (83) dependent on the temporal component of the gauge field. Although these terms disappear in temporal gauge (our preferred choice), they still have an effect on the scheme since we have to perform the variation before choosing a gauge. Therefore we will obtain a modified Gauss constraint compatible with the equations of motion derived from the action (83) even after setting \(A_{x,0} = 0\).

At this point one might ask if the “proper” averaging procedure has any effect on the implicit scheme of the previous section as well. It turns out that if one defines the averaged field-strength \(M_{x,ij}\) of (70) using the properly averaged gauge field \({\tilde{A}}_{x,i}\), the action of the implicit scheme (and by extension the EOM and the constraint) remains unchanged. This is due to the fact that the terms proportional to \(A_{x,0}\) in (78) cancel:

$$\begin{aligned} \partial ^F_i {\tilde{A}}_{x,j} - \partial ^F_j {\tilde{A}}_{x,i} = \partial ^F_i {\overline{A}}_{x,j} - \partial ^F_j {\overline{A}}_{x,i}. \end{aligned}$$
(84)

Therefore, no such modification is required in the implicit scheme.

Varying this action w.r.t temporal components \(A_{x,0}\) yields the modified Gauss constraint

$$\begin{aligned} \sum _{i=1}^{d} \partial _{i}^{B} F_{x,0i} + \left( \frac{a^{0}}{2} \right) ^2 \sum _{i}\partial _{i}^{B}\partial _{1}^{B}\partial _{0}^{F}F_{x,1i} = 0. \end{aligned}$$
(85)

Since \(W_{x,1i}\) explicitly depends on \(A_{x,0}\), we obtain a correction term to the standard leapfrog Gauss constraint (47). The discrete EOM read

$$\begin{aligned} \partial ^B_0 F_{x,10}= & {} \frac{1}{2} \sum _i \partial ^B_i \left( W_{x,1i} + M_{x,1i} \right) , \end{aligned}$$
(86)
$$\begin{aligned} \partial ^B_0 F_{x,i0}= & {} \sum _{j\ne i} \partial ^B_j M_{x,ij} + \frac{1}{2} \partial ^B_1 \left( F_{x,i1} + W_{x,i1} \right) . \end{aligned}$$
(87)

We have separate EOM for the longitudinal and transverse components of the gauge field. Note that by replacing the averaged expressions M and W with F the EOM reduce to the leapfrog equations as expected.

The propagation of waves in the semi-implicit scheme turns out to be more complicated compared to the leapfrog or implicit scheme: given a wave vector k and a field amplitude \(A_{i}\) (such that the Gauss constraint (85) is satisfied) the dispersion relation becomes polarization dependent, i.e. the scheme exhibits birefringence.

The amplitude \(A_i\) of an arbitrary plane wave

$$\begin{aligned} A_{x,i} = A_i e^{i \left( \omega x^0 - \sum _i k^i x^i \right) }, \end{aligned}$$
(88)

has to be split into a longitudinal and two momentum-dependent transverse components

$$\begin{aligned} \left\{ \mathbf {A}_{L},\mathbf {A}_{T,1},\mathbf {A}_{T,2}\right\} = \left\{ \left( \begin{array}{c} 1\\ 0\\ 0 \end{array} \right) , \left( \begin{array}{c} 0\\ -\chi _{3}^{B}\\ \chi _{2}^{B} \end{array} \right) , \left( \begin{array}{c} 0\\ \chi _{2}^{F}\\ \chi _{3}^{F} \end{array} \right) \right\} , \end{aligned}$$
(89)

where \(\chi ^{F/B}_i\) are dimensionless lattice momenta given by Eq. (63). In Appendix A we find that the components \(\mathbf {A}_{L}\) and \(\mathbf {A}_{T,2}\) have the dispersion relation

$$\begin{aligned} \omega _{1} a^{0}=\arccos \left( \frac{1-\chi _{1}^{2}\left( 2+\chi _{2}^{2}+\chi _{3}^{2}\right) }{1+\chi _{2}^{2}\left( 2-\chi _{1}^{2}\right) +\chi _{3}^{2}\left( 2-\chi _{1}^{2}\right) }\right) , \end{aligned}$$
(90)

and the component \(\mathbf {A}_{T,1}\) has a second different dispersion relation

$$\begin{aligned} \omega _{2}a^{0}=\arccos \left( \frac{1-2\chi _{1}^{2}}{1+2\chi _{2}^{2}+2\chi _{3}^{2}}\right) . \end{aligned}$$
(91)

Analyzing the stability of the scheme using the two dispersion relations yields that it is stable if

$$\begin{aligned} \chi ^2_1 \le 1, \end{aligned}$$
(92)

which, when requiring stability for all modes, reduces to

$$\begin{aligned} a^0 \le a^1. \end{aligned}$$
(93)

If we consider the special case of a plane wave with a purely transverse amplitude and which propagates in the \(x^1\) direction (i.e. setting the transverse momenta \(\chi _2=\chi _3=0\)) we find that both dispersion relations agree:

$$\begin{aligned} \omega _1 a^0 = \omega _2 a^0 = \arccos \left( 1- 2 \chi ^2_1 \right) . \end{aligned}$$
(94)

This dispersion becomes linear if we set \(a^0=a^1\). This explicitly shows that the semi-implicit scheme for Abelian gauge fields allows for dispersion-free, stable propagation along the longitudinal direction if we use the “magic time-step”. The dispersion relations also agree if we set the longitudinal momentum \(\chi _1\) to zero for arbitrary transverse momenta. In general however, wave propagation in this scheme is bifractive. It would be interesting to see if there are alternative discretizations of the action, which allow for dispersion-free propagation without being bifractive.

The main result of this section is the action (83) which gives rise to the semi-implicit scheme. Here we used a combination of differently averaged field strengths, \(M_{x,ij}\) and \(W_{x,1i}\), in the action. Our next goal is to generalize these expressions to non-Abelian gauge fields.

4 Non-Abelian gauge fields on the lattice

The continuum action for non-Abelian Yang-Mills fields is given by

$$\begin{aligned} S[A] = -\frac{1}{2} \intop _x \sum _{\mu ,\nu } {{\mathrm{tr}}}\left( F_{\mu \nu }(x) F^{\mu \nu }(x) \right) , \end{aligned}$$
(95)

where the field strength is

$$\begin{aligned} F_{\mu \nu }(x) = \partial _\mu A_\nu (x) - \partial _\nu A_\mu (x) + i g \left[ A_\mu (x), A_\nu (x) \right] . \end{aligned}$$
(96)

The constant g is the Yang-Mills coupling constant and \(A_\mu (x) = \sum _a A^a_\mu t^a\) is a non-Abelian gauge field, where \(t^a\) are the generators of the gauge group. In the following we use the normalization \({{\mathrm{tr}}}\left( t^a t^b \right) = \frac{1}{2} \delta ^{ab}\). Through variation of the action we obtain the Gauss constraint and the equations of motion:

$$\begin{aligned} \sum _i D_i F^{i 0}(x)= & {} 0, \end{aligned}$$
(97)
$$\begin{aligned} D_0 F^{0 i}(x)= & {} - \sum _j D_j F^{i j}(x), \end{aligned}$$
(98)

where the gauge-covariant derivative acting on an algebra element \(\chi \) is given by

$$\begin{aligned} D_\mu \chi (x) \equiv \partial _\mu \chi (x) + i g \left[ A_\mu (x),\chi (x) \right] . \end{aligned}$$
(99)

In real-time lattice gauge theory, instead of gauge fields \(A_{\mu }(x)\), we use gauge links (or link variables) \(U_{x,\mu }\) which are unitary matrices and interpreted as the Wilson lines connecting nearest neighbors on the lattice. \(U_{x,\mu }\) is the shortest possible Wilson line on the lattice starting at the site x and ending at \(x+\mu \). This is also reflected in the gauge transformations

$$\begin{aligned} U_{x,\mu } \rightarrow V_{x} U_{x,\mu } V^\dagger _{x+\mu }, \end{aligned}$$
(100)

where \(V_x\) is a gauge transformation defined at the lattice site x. Gauge links with negative directions are identified as

$$\begin{aligned} U_{x,-\mu } = U^\dagger _{x-\mu ,\mu }. \end{aligned}$$
(101)

In the continuum limit the gauge links can be approximated by

$$\begin{aligned} U_{x,\mu } \simeq \exp {\left( i g a^\mu A_{x,\mu } \right) }, \end{aligned}$$
(102)

where \(A_{x,\mu } = \sum _a A^a_{x,\mu } t^a\). We use “lattice units” for the gauge fields, i.e. we absorb a factor of \(g a^\mu \) in the definition of the gauge field. The gauge links then read

$$\begin{aligned} U_{x,\mu } \simeq \exp {\left( i {\hat{A}}_{x,\mu }\right) }, \end{aligned}$$
(103)

where \({\hat{A}}_{x,\mu } \equiv g a^\mu A_{x,\mu }\). For the rest of this paper we drop the hat symbol and just remember to restore factors of \(g a^\mu \) whenever necessary.

Fig. 2
figure 2

Left: the Wilson line associated with the plaquette \(U_{x,ij}\). Right: the Wilson lines associated with the lattice field strength \(C_{x,ij}\). Spatial link variables are drawn as solid black arrows. While the plaquette starts and ends at the same lattice site x (red dot), the lattice field-strength \(C_{x,ij}\) starts at x and ends at \(x+i+j\) (blue dot)

The smallest possible Wilson loops that can be constructed on the lattice are the so-called “plaquettes”

$$\begin{aligned} U_{x,\mu \nu } \equiv U_{x,\mu } U_{x+\mu ,\nu } U_{x+\mu +\nu ,-\mu } U_{x+\nu ,-\nu }, \end{aligned}$$
(104)

which can also be written as

$$\begin{aligned} U_{x,\mu \nu } = U_{x,\mu } U_{x+\mu ,\nu } U^\dagger _{x+\nu ,\mu } U^\dagger _{x,\nu }. \end{aligned}$$
(105)

The path traced by the plaquette is shown in Fig. 2 on the left. In the continuum limit the plaquettes can be identified with the field strength tensor

$$\begin{aligned} U_{x,\mu \nu } \simeq \exp {\left( i F_{x,\mu \nu } \right) }. \end{aligned}$$
(106)

Here, \(F_{x,\mu \nu }\) contains a factor of \(g a^\mu a^\nu \). Plaquettes represent a closed Wilson loop and therefore transform locally at the starting (and end) point x:

$$\begin{aligned} U_{x,\mu \nu } \rightarrow V_{x} U_{x,\mu \nu } V^\dagger _{x}. \end{aligned}$$
(107)

By taking the trace of a plaquette one obtains a gauge invariant expression. In particular it holds that

$$\begin{aligned} {{\mathrm{tr}}}\left( 2 - U_{x,\mu \nu } - U^\dagger _{x,\mu \nu } \right)&\simeq {{\mathrm{tr}}}\left( F_{x,\mu \nu }^2 \right) \nonumber \\&\simeq \frac{1}{2}\sum _a \left( g a^\mu a^\nu F^a_{\mu \nu }(x) \right) ^2. \end{aligned}$$
(108)

This leads to the standard Wilson gauge action [20]

$$\begin{aligned} S[U]&= \frac{V}{g^2} \sum _x \bigg (\sum _i \frac{1}{\left( a^0 a^i \right) ^2} {{\mathrm{tr}}}\left( 2 - U_{x,0i} - U^\dagger _{x,0i} \right) \nonumber \\&\quad - \frac{1}{2} \sum _{i,j} \frac{1}{\left( a^i a^j \right) ^2} {{\mathrm{tr}}}\left( 2 - U_{x,ij} - U^\dagger _{x,ij} \right) \bigg ), \end{aligned}$$
(109)

where \(\sum _i\) denotes a sum over all spatial components. Using Eq. (108) it is clear that the action (109) is a discretization of the continuum Yang-Mills action

$$\begin{aligned} S[A] = \frac{1}{2} \intop _x \left( \sum _{a,i} F^a_{0i}(x)F^a_{0i}(x)- \frac{1}{2} \sum _{a,i,j} F^a_{ij}(x)F^a_{ij}(x) \right) ,\nonumber \\ \end{aligned}$$
(110)

where we made the split into temporal and spatial components explicit. Since it is built from gauge-invariant expressions, the Wilson gauge action (109) is invariant under lattice gauge transformations (100).

At this point we remark that the continuum Yang-Mills action (110) and its discretization (109) look very different: while the Yang-Mills action is given in terms of squares of the field strength tensor, the Wilson gauge action is linear in plaquette variables. In terms of plaquettes it is not immediately clear how we might generalize our approach from Sect. 3. Fortunately, the action (109) can be written differently so that its functional form is more similar to (110). We define (see for instance p. 94 of [36])

$$\begin{aligned} C_{x,\mu \nu } \equiv U_{x,\mu } U_{x+\mu ,\nu } - U_{x,\nu } U_{x+\nu ,\mu }, \end{aligned}$$
(111)

which transforms non-locally

$$\begin{aligned} C_{x,\mu \nu } \rightarrow V_{x} C_{x,\mu \nu } V^\dagger _{x+\mu +\nu }. \end{aligned}$$
(112)

For comparison to the plaquette \(U_{x,ij}\), the path traced by \(C_{x,ij}\) is shown in Fig. 2 on the right. In the continuum limit \(C_{x,\mu \nu }\) can be (up to constant factors) identified with the field strength \(F_{\mu \nu }(x)\): expanding for small lattice spacing we find

$$\begin{aligned} C_{x,\mu \nu } \simeq i g a^\mu a^\nu F_{\mu \nu }(x). \end{aligned}$$
(113)

Most noteworthy is the exact relation

$$\begin{aligned} C_{x,\mu \nu } C^\dagger _{x,\mu \nu } = 2 - U_{x,\mu \nu } -U^\dagger _{x,\mu \nu }, \end{aligned}$$
(114)

with which we can identically rewrite the action as

$$\begin{aligned} S[U]&= \frac{V}{g^2} \sum _x \bigg ( \sum _i \frac{1}{\left( a^0 a^i \right) ^2} {{\mathrm{tr}}}\left( C_{x,0i} C^\dagger _{x,0i} \right) \nonumber \\&\quad -\frac{1}{2} \sum _{i,j} \frac{1}{\left( a^i a^j \right) ^2} {{\mathrm{tr}}}\left( C_{x,ij} C^\dagger _{x,ij} \right) \bigg ). \end{aligned}$$
(115)

This functional form of the rewritten action (115) is now virtually the same as the continuum case (110). We will exploit this when generalizing the implicit (69) and semi-implicit schemes (83) to non-Abelian gauge fields.

Performing the variation of (109) or (115) is a bit more involved compared to the wave equation or Abelian gauge fields on the lattice. The degrees of freedom, the gauge links \(U_{x,\mu }\), are not just completely general complex matrices but elements of SU(N), i.e. unitary matrices with determinant 1:

$$\begin{aligned}&U_{x,\mu } U^\dagger _{x,\mu } = \mathbb {1}, \end{aligned}$$
(116)
$$\begin{aligned}&\det U_{x,\mu } = 1. \end{aligned}$$
(117)

This means that one has to perform a constrained variation of the degrees of freedom, which can either be done rather tediously by including the constraints explicitly in the action using Lagrangian multipliers or with the help of a variation that conserves the unitary and determinant constraint. An appropriate variation is given by

$$\begin{aligned} \delta U_{x,\mu } = i \delta A_{x,\mu } U_{x,\mu }, \end{aligned}$$
(118)

where \(\delta A_{x,\mu }=\sum _a \delta A^a_{x,\mu } t^a\) is an element of the Lie algebra \({{\mathfrak {s}}}{{\mathfrak {u}}}\)(N), i.e. hermitian and traceless. An extended discussion can be found in the Appendix B.

4.1 Leapfrog scheme

Following the same procedure as in the case of Abelian gauge fields, we vary w.r.t. spatial components \(U_{x,i}\) to obtain the discrete EOM and w.r.t. temporal components \(U_{x,0}\) to find the Gauss constraint.

Starting with the constraint we get (see Appendix C.1 for details)

$$\begin{aligned} \sum _i \frac{1}{\left( a^0 a^i \right) ^2} P^a \left( U_{x,0i} + U_{x,0-i}\right) = 0. \end{aligned}$$
(119)

Here we introduced the shorthand \(P^a\left( \dots \right) \) to denote

$$\begin{aligned} P^a\left( U \right) = 2 \text {Im}{{\mathrm{tr}}}\left( t^a U \right) . \end{aligned}$$
(120)

Varying the spatial link variables we obtain the EOM (see Appendix C.2 for more details)

$$\begin{aligned}&\frac{1}{\left( a^0 a^i \right) ^2} P^a \left( U_{x,i0} + U_{x,i-0}\right) \nonumber \\&\quad =- \sum _j \frac{1}{\left( a^i a^j \right) ^2} P^a \left( U_{x,i} \left( U_{x+i,j} C^\dagger _{x,ij} + C^\dagger _{x-j,ji} U_{x-j,j}\right) \right) , \end{aligned}$$
(121)

which upon using the definition of \(C_{x,ij}\) can be written in the more familiar form

$$\begin{aligned} \frac{1}{\left( a^0 a^i \right) ^2} P^a \left( U_{x,i0} + U_{x,i-0}\right) = \sum _j \frac{1}{\left( a^i a^j \right) ^2} P^a \left( U_{x,ij} + U_{x,i-j}\right) . \end{aligned}$$
(122)

As before, time evolution under the EOM conserves the Gauss constraint exactly (see Appendix D). In order to actually solve the equations we specify the temporal gauge

$$\begin{aligned} U_{x,0} = \mathbb {1}, \end{aligned}$$
(123)

which enables us to compute the spatial link variables of the next time-slice using past links and the temporal plaquette:

$$\begin{aligned} U_{x+0,i} = U_{x,0i} U_{x,i}. \end{aligned}$$
(124)

The temporal plaquette \(U_{x,0i}\) has to be determined from Eq. (122). For SU(2) this can be done explicitly [17, 18]: We use the parametrization

$$\begin{aligned} U_{x,i0} = u^0 \mathbb {1}+ i \sum _a u^a \sigma ^a, \end{aligned}$$
(125)

where \(\sigma ^a\), \(a\in \{1,2,3\}\) are the Pauli matrices. The real-valued parameters \(u^0\), \(u^a\) fulfill the constraint

$$\begin{aligned} (u^0)^2 + \sum _a u^a u^a = 1. \end{aligned}$$
(126)

The EOM (122) can then be written as

$$\begin{aligned} 2 u^a = -P^a\left( U_{x,i-0} \right) + \sum _j \left( \frac{a^0}{a^j} \right) ^2 P^a \left( U_{x,ij} + U_{x,i-j}\right) .\nonumber \\ \end{aligned}$$
(127)

To obtain \(u^0\) we take the positive branch of Eq. (126)

$$\begin{aligned} u^0=\sqrt{1 - \sum _a u^a u^a}, \end{aligned}$$
(128)

assuming that the changes from one time slice to the next are “small”, i.e. the temporal plaquette \(U_{x,0i}\) will be “closer” to \(\mathbb {1}\) than to \(-\mathbb {1}\).

4.2 Implicit scheme

Guided by what we learned from the Abelian case in Sect. 3, we would like to replace one of the \(C_{x,ij}\) expressions in the Wilson action (115) with a time-averaged equivalent. At the same time we need to retain the gauge invariance of the action. Simply using the temporally averaged expression

$$\begin{aligned} \frac{1}{2} \left( C_{x+0,ij} + C_{x-0,ij} \right) , \end{aligned}$$
(129)

is not enough because \(C_{x+0,ij}\) and \(C_{x-0,ij}\) transform differently. A solution is to include temporal gauge links in order to “pull back” \(C_{x+0,ij}\) and \(C_{x-0,ij}\) to the lattice site x. This leads us to the definition of the “properly” averaged field strength

$$\begin{aligned} M_{x,ij}&\equiv \frac{1}{2} \bigg (U_{x,0} C_{x+0,ij} U_{x+i+j,-0} \nonumber \\&\quad + U_{x,-0} C_{x-0,ij} U_{x+i+j-0,0} \bigg ), \end{aligned}$$
(130)

which transforms like \(C_{x,ij}\), i.e.

$$\begin{aligned} M_{x,ij} \rightarrow V_{x} M_{x,ij} V^\dagger _{x+i+j}. \end{aligned}$$
(131)

This gauge-covariant averaging procedure can be generalized: consider an object \({\mathscr {X}}_{x,y}\) that transforms like

$$\begin{aligned} {\mathscr {X}}_{x,y} \rightarrow V_x {\mathscr {X}}_{x,y} V^\dagger _y. \end{aligned}$$
(132)

As an example, \({\mathscr {X}}_{x,y}\) could be a Wilson line connecting points x and y along some arbitrary path. A time-averaged version of \({\mathscr {X}}_{x,y}\) is given by

$$\begin{aligned} {\overline{{\mathscr {X}}}}_{x,y}&= \frac{1}{2} \bigg (U_{x,0} {\mathscr {X}}_{x+0,y+0} U_{y+0,-0} \nonumber \\&\quad + U_{x,-0} {\mathscr {X}}_{x-0,y-0} U_{y-0,0} \bigg ), \end{aligned}$$
(133)

where \({\mathscr {X}}_{x\pm 0,y\pm 0}\) is simply \({\mathscr {X}} _{x,y}\) shifted up (or down) by one time step. It still transforms like Eq. (132), i.e.

$$\begin{aligned} {\overline{{\mathscr {X}}}}_{x,y} \rightarrow V_x {\overline{{\mathscr {X}}}}_{x,y} V^\dagger _y. \end{aligned}$$
(134)

Using this we can write

$$\begin{aligned} M_{x,ij} = {\overline{C}}_{x,ij}. \end{aligned}$$
(135)

Condensing our notation even further we write

$$\begin{aligned} C^{(+0)}_{x,ij}= & {} U_{x,0} C_{x+0,ij} U_{x+i+j,-0}, \end{aligned}$$
(136)
$$\begin{aligned} C^{(-0)}_{x,ij}= & {} U_{x,-0} C_{x-0,ij} U_{x+i+j-0,0}, \end{aligned}$$
(137)

and

$$\begin{aligned} M_{x,ij} = \frac{1}{2} \left( C^{(+0)}_{x,ij} + C^{(-0)}_{x,ij} \right) . \end{aligned}$$
(138)

It still holds that

$$\begin{aligned} M_{x,ij} \simeq C_{x,ij} + {\mathscr {O}} \left( \left( a^0 \right) ^2 \right) , \end{aligned}$$
(139)

so the use of \(M_{x,ij}\) instead of \(C_{x,ij}\) does not change the accuracy of the scheme.

Note that temporal gauge renders all temporal link variables trivial and Eq. (133) reduces to the simple time average.

Fig. 3
figure 3

Left: the Wilson lines associated with the properly time-averaged field strength \(M_{x,ij}\) used in the implicit scheme. Right: the Wilson lines associated with the partially averaged field-strength \(W_{x,1i}\) used in the semi-implicit scheme. Spatial link variables are drawn as solid black arrows; temporal links as dashed arrows. The shaded planes represent (equal) time slices, i.e. the spatial lattice (only two dimensions shown) in subsequent time steps. The averaged field-strength \(M_{x,ij}\) has temporal link connections only at the start and end points. Therefore the diagonal from x to \(x+i+j\) is a preferred direction. This asymmetry can be repaired by including \(M_{x,i-j}\) terms in the action (140). We can also see that in the continuous time limit (the vertically stacked time slices would merge into one) the paths traced by \(M_{x,ij}\) and \(W_{x,1i}\) would become identical to \(C_{x,ij}\)

The inclusion of temporal links in \(M_{x,ij}\) breaks a symmetry on the lattice: the diagonal from x to \(x+i+j\) is now a preferred direction, which can be seen in Fig. 3. The loss of symmetry can be mitigated by also including terms like \(M_{x,i-j}\) in the action. Therefore we propose the action

$$\begin{aligned} S[U]&= \frac{V}{g^2} \sum _x \bigg ( \sum _i \frac{1}{\left( a^0 a^i \right) ^2} {{\mathrm{tr}}}\left( C_{x,0i} C^\dagger _{x,0i} \right) \nonumber \\&\quad -\frac{1}{4} \sum _{i, {|}j{|}} \frac{1}{\left( a^i a^j \right) ^2} {{\mathrm{tr}}}\big ( C_{x,ij} M^\dagger _{x,ij} \big ) \bigg ), \end{aligned}$$
(140)

where we explicitly include terms with negative spatial indices using the sum \(\sum _{{|}j{|}}\) over positive and negative components j to keep the action as symmetric as possible. The action is also invariant under time reversal, real-valued (see Appendix E for a proof) and gauge invariant. While we have not made any changes to the terms involving temporal plaquettes the spatial plaquette terms now include temporal links and therefore we will also obtain a modified Gauss constraint like in the semi-implicit scheme for Abelian fields.

Performing the variation the same way we did for the leapfrog scheme, we obtain the Gauss constraint (see Appendix E.1)

$$\begin{aligned}&\sum _{i} \frac{1}{\left( a^{0}a^{i}\right) ^{2}} P^a \left( U_{x,0i}+U_{x,0-i} \right) \nonumber \\&\quad =- \sum _{{|}i{|},{|}j{|}} \frac{1}{8} \frac{1}{\left( a^{i}a^{j} \right) ^{2}} P^a \left( C_{x,ij}^{(+0)}C_{x,ij}^\dagger \right) ,&\end{aligned}$$
(141)

where \(\sum _{{|}i{|}}\) denotes the sum over positive and negative indices i. The left hand side (LHS) of (141) is the same as in the leapfrog scheme Eq. (119), but now there is also a new term on the right hand side (RHS) from varying the spatial part of the action. Performing the continuum limit for the Gauss constraint (after multiplying both sides with \(a^0\)), the RHS term vanishes as \({\mathscr {O}} \left( \left( a^0 \right) ^2 \right) \). This shows that the RHS is not a physical contribution, but rather an artifact of the implicit scheme. Note that the correct continuum limit of the constraint (and the EOM) is already guaranteed by the action.

In a similar fashion as before we perform the variation w.r.t. spatial link variables to get the discrete EOM. We find (see Appendix E.2)

$$\begin{aligned}&\frac{1}{\left( a^0 a^i \right) ^2} P^a \left( U_{x,i0} + U_{x,i-0}\right) \nonumber \\&\quad = - \frac{1}{2} \sum _{{|}j{|}} \frac{1}{\left( a^i a^j \right) ^2} P^a \bigg ( U_{x,i} \big ( U_{x+i,j} M^\dagger _{x,ij} + M^\dagger _{x-j,ji} U_{x-j,j} \big ) \bigg ), \end{aligned}$$
(142)

which is formally similar to the leapfrog scheme (121) with \(M_{x,ij}\) in place of \(C_{x,ij}\), a sum over positive and negative components j (instead of just positive indices) and an additional factor of 1 / 2 to avoid overcounting. As a simple check one can replace \(M_{x,ij}\) with \(C_{x,ij}\) in Eq. (142) (only introducing an irrelevant error term quadratic in \(a^0\)) and recover Eq. (121).

Compared to the leapfrog scheme, solving Eq. (142) is more complicated: it is not possible to explicitly solve for the temporal plaquette \(U_{x,i0}\) anymore because \(M_{x,ij}\) on the RHS involves contributions from both “past” and “future” link variables. Completely analogous to the case of Abelian gauge fields on a lattice, we obtain an implicit scheme by introducing time-averaged field strength terms in the action.

Similar to what we did in Sect. 2.3, we propose to solve Eq. (142) iteratively using damped fixed point iteration. Starting from an initial guess for the future link variable \(U^{(0)}_{x+0,i}\), for instance by performing a single evolution step using the leapfrog scheme, we iterate

$$\begin{aligned}&\frac{1}{\left( a^0 a^i \right) ^2} \left( {\mathscr {U}}^a + P^a \left( U_{x,i-0}\right) \right) \nonumber \\&\quad =- \frac{1}{2} \sum _{{|}j{|}} \frac{1}{\left( a^i a^j \right) ^2} P^a \left( U_{x,i} \left( U_{x+i,j} M^{(n)\dagger }_{x,ij} + M^{(n)\dagger }_{x-j,ji} U_{x-j,j}\right) \right) , \end{aligned}$$
(143)
$$\begin{aligned}&P^a \left( U^{(n+1)}_{x,i0} \right) = \alpha P^a \left( U^{(n)}_{x,i0} \right) + \left( 1 - \alpha \right) {\mathscr {U}}^{a}, \end{aligned}$$
(144)

using \(U^{(n)}_{x+0,i}\) in \(M^{(n)}_{x,ij}\) from the last iteration step to determine \(U^{(n+1)}_{x,i0}\). In the above equations we replaced \(P^a(U_{x,i0})\) by an unknown variable \(\mathscr {U}^a\). We first solve Eq. (143) for \({\mathscr {U}}^{a}\) and then update \(P^a \left( U^{(n+1)}_{x,i0} \right) \) using Eq. (144). The parameter \(\alpha \) is used as a damping coefficient to mitigate numerical instabilities induced by fixed point iteration. For SU(2) we construct the temporal plaquette \(U^{(n+1)}_{x,i0}\) from \(P^a \left( U^{(n+1)}_{x,i0} \right) \) using Eqs. (127) and (128) and using temporal gauge we update the link variables via

$$\begin{aligned} U^{(n+1)}_{x+0,i} = U^{(n+1)}_{x,0i} U_{x,i}. \end{aligned}$$
(145)

Then we can repeat the iteration and keep iterating until convergence.

This iteration scheme can be used to solve the EOM (142) until the Gauss constraint (141) is satisfied up to the desired numerical accuracy. Conversely, this means that unlike the leapfrog scheme, where the Gauss constraint (119) is always satisfied up to machine precision in a single evolution step, the implicit scheme, solved via an iterative scheme, only approximately conserves the Gauss constraint (141). However, in Sect. 5 we will show that using a high number of iterations the constraint can be indeed fulfilled to arbitrary accuracy. In practice however we find that a lower number of iteration is sufficient for stable and acceptably accurate simulations at the cost of small violations of the constraint.

It is also immediately obvious that solving the implicit scheme requires higher computational effort compared to the leapfrog scheme. Considering that one has to use the leapfrog scheme for a single evolution step once (as an initial guess) and then use fixed point iteration, where every step is at least as computationally demanding as single leapfrog step, it becomes clear that the use of an implicit scheme is only viable if increased stability allows one to use coarser lattices while maintaining accurate results.

4.3 Semi-implicit scheme

Using our knowledge from Sects. 3 and 4.2 we can now generalize the semi-implicit scheme to real-time lattice gauge theory. An appropriate generalization of the semi-averaged field strength (82) is given by

$$\begin{aligned} W_{x,1i}&= \frac{1}{2} \left( U^{(+0)}_{x,1} + U^{(-0)}_{x,1} \right) U_{x+1,i} \nonumber \\&\quad - \frac{1}{2} U_{x,i} \left( U^{(+0)}_{x+i,1} + U^{(-0)}_{x+i,1} \right) , \end{aligned}$$
(146)

where

$$\begin{aligned} U^{(+0)}_{x,\mu }&= U_{x,0} U_{x+0,\mu } U_{x+\mu +0, -0}, \end{aligned}$$
(147)
$$\begin{aligned} U^{(-0)}_{x,\mu }&= U_{x,-0} U_{x-0,\mu } U_{x+\mu -0, 0}. \end{aligned}$$
(148)

We also define \(W_{x,i1} \equiv - W_{x,1i}\). Using the time-averaging notation [see Eq. (133)] this can be written more compactly as

$$\begin{aligned} W_{x,1i} = {\overline{U}}_{x,1} U_{x+1,i} - U_{x,i} {\overline{U}}_{x+i,1}, \end{aligned}$$
(149)

where

$$\begin{aligned} {\overline{U}}_{x,1} \equiv \frac{1}{2} \left( U^{(+0)}_{x,1} + U^{(-0)}_{x,1} \right) . \end{aligned}$$
(150)

Note that

$$\begin{aligned} {\overline{U}}_{x,1} \simeq U_{x,1} + {\mathscr {O}} \left( \left( a^0 \right) ^2 \right) , \end{aligned}$$
(151)

which shows that the semi-averaged field strength \(W_{x,1i}\) only differs from \(C_{x,1i}\) by an irrelevant error term. Taking the Abelian limit (i.e. neglecting commutator terms) of Eq. (150) and expanding for small lattice spacing yields

$$\begin{aligned} {\overline{U}}_{x,1}&\simeq 1 + i g a^{1}\left( {\overline{A}}_{x,1}-\frac{1}{2}\left( a^{0}\right) ^{2}\partial _{1}^{F}\partial _{0}^{B}A_{x,0}\right) \nonumber \\&\quad +{\mathscr {O}}\left( \left( a^1 \right) ^{2}\right) . \end{aligned}$$
(152)

We find that the linear term of the gauge-covariant average (150) agrees with the expression we constructed in the Abelian semi-implicit scheme (78). While we had to include an “arbitrary” correction term in the Abelian scheme to fix gauge invariance, the link formalism of lattice gauge theory forces us to only consider closed paths constructed from gauge links in the action and thus naturally leads us to the “proper” averaging procedure.

The Wilson line path traced by \(W_{x,1i}\), as compared to \(M_{x,ij}\), is shown in Fig. 3 on the right. As before, we keep the action as symmetric as possible by also including terms with negative transverse directions, i.e. \(W_{x,1-i}\). Inspired by the Abelian semi-implicit case (83), we define the new action as

$$\begin{aligned} S[U]&= \frac{V}{g^2} \sum _x \bigg ( \frac{1}{\left( a^0 a^1 \right) ^2} {{\mathrm{tr}}}\left( C_{x,01} C^\dagger _{x,01} \right) \nonumber \\&\quad +\sum _i \frac{1}{\left( a^0 a^i \right) ^2} {{\mathrm{tr}}}\left( C_{x,0i} C^\dagger _{x,0i} \right) \nonumber \\&\quad -\frac{1}{4} \sum _{i,{|}j{|}} \frac{1}{\left( a^i a^j \right) ^2} {{\mathrm{tr}}}\left( C_{x,ij} M^\dagger _{x,ij} \right) \nonumber \\&\quad -\frac{1}{4} \sum _{{|}j{|}} \frac{1}{\left( a^1 a^j \right) ^2} {{\mathrm{tr}}}\left( C_{x,1j} W^\dagger _{x,1j} + \text {h.c.}\right) \bigg ), \end{aligned}$$
(153)

where the sum over i and j only run over transverse coordinates and \(x^1\) is the longitudinal coordinate.

The purely transverse part of the action uses the same terms as the implicit scheme, see Eq. (140). The longitudinal-transverse part is now given in terms of \(C_{x,1j}\) and \(W_{x,1j}\) analogous to Eq. (69). We have to explicitly include the hermitian conjugate in order to keep the action real-valued.

Varying with respect to temporal components yields the Gauss constraint (see Appendix F.1)

$$\begin{aligned}&\sum ^3_{i=1} \frac{1}{\left( a^{0}a^{i}\right) ^{2}} P^a \left( U_{x,0i}+U_{x,0-i} \right) \nonumber \\&\quad = - \sum _{{|}i{|},{|}j{|}} \frac{1}{8} \frac{1}{\left( a^{i}a^{j} \right) ^{2}} P^a \left( C_{x,ij}^{(+0)}C_{x,ij}^\dagger \right) \nonumber \\&\qquad - \frac{1}{8} \frac{1}{\left( a^1 \right) ^2} P^a \bigg (U^{(+0)}_{x,1} T^\dagger _{x,1} + T^{(+0)}_{x,1} U^\dagger _{x,1} \nonumber \\&\qquad + U^{(+0)}_{x-1,1} T^\dagger _{x-1,1} + T^{(+0)}_{x-1,1} U^\dagger _{x-1,1} \bigg ), \end{aligned}$$
(154)

where we use the shorthand

$$\begin{aligned} T_{x,1}&\equiv \sum _{ {|}j{|}} \frac{1}{\left( a^j \right) ^2} \left( C_{x,1j} U_{x+1+j,-j} - U_{x,-j} C_{x-j,1j} \right) \nonumber \\&= \sum _{ {|}j{|}} \frac{1}{\left( a^j \right) ^2} \left( 2 - U_{x,j1} -U_{x,-j1} \right) U_{x,1}. \end{aligned}$$
(155)

Varying w.r.t. spatial links the discrete semi-implicit EOM read (see Appendix F.2)

$$\begin{aligned}&\frac{1}{\left( a^0 a^1 \right) ^2} P^a \left( U_{x,10} + U_{x,1-0}\right) \nonumber \\&\quad = - \frac{1}{4} \sum _{ {|}j{|}} \frac{1}{\left( a^1 a^j \right) ^2} P^a \bigg ( U_{x,1} \bigg ( U_{x+1,j} W^\dagger _{x,1j} + W^\dagger _{x-j,j1} U_{x-j,j} \nonumber \\&\qquad + {\overline{ \left( U_{x+1,j} C^\dagger _{x,1j} + C^\dagger _{x-j,j1} U_{x-j,j}\right) }} \bigg ) \bigg ), \end{aligned}$$
(156)

and for transverse components

$$\begin{aligned}&\frac{1}{\left( a^0 a^i \right) ^2} P^a \left( U_{x,i0} + U_{x,i-0}\right) \nonumber \\&\quad =- \frac{1}{2} \sum _{{|}j{|}} \frac{1}{\left( a^i a^j \right) ^2} P^a \left( U_{x,i} \left( U_{x+i,j} M^\dagger _{x,ij} + M^\dagger _{x-j,ji} U_{x-j,j} \right) \right) \nonumber \\&\qquad - \frac{1}{4} \frac{1}{\left( a^i a^1 \right) ^2} \sum _{{|}1{|}} P^a \bigg ( U_{x,i} \bigg ( \left( U_{x+i,1} W^\dagger _{x,i1} + W^\dagger _{x-1,1i} U_{x-1,1} \right) \nonumber \\&\qquad + \left( {\overline{U}}_{x+i,1} C^\dagger _{x,i1} + C^\dagger _{x-1,1i} {\overline{U}}_{x-1,1} \right) \bigg ) \bigg ), \end{aligned}$$
(157)

where \(\sum _{{|}1{|}}\) simply means summing over the terms with positive and negative longitudinal directions. We now have two sets of equations: one for longitudinal components, and two for transverse components.

The equations of motion can be written more compactly by introducing the symbol

$$\begin{aligned} K_{x,ij}[U, C] = - \frac{1}{2} \frac{1}{\left( a^i a^j \right) ^2} \left( U_{x+i,j} C^\dagger _{x,ij} - C^\dagger _{x-j,ij} U_{x-j,j}\right) , \end{aligned}$$
(158)

where C can be exchanged for corresponding expressions with M or W and U can be exchanged for its temporally averaged version \({\overline{U}}\). The longitudinal component of the EOM then reads

$$\begin{aligned}&\frac{1}{\left( a^{0}a^{1} \right) ^{2}} P^{a} \left( U_{x,10}+U_{x,1-0} \right) \nonumber \\&\quad = \frac{1}{2} \sum _{{|}i{|}} P^a \bigg ( U_{x,1} \big ( K_{x,1i}[U, W] + {\overline{K}}_{x,1i}[U, C] \big ) \bigg ), \end{aligned}$$
(159)

and the transverse components are given by

$$\begin{aligned}&\frac{1}{\left( a^{0}a^{i} \right) ^{2}} P^{a} \left( U_{x,i0} + U_{x,i-0} \right) = P^a \bigg ( U_{x,i} \bigg ( \sum _{{|}j{|}} K_{x,ij}[U, M] \nonumber \\&\quad + \frac{1}{2} \sum _{{|}1{|}} \left( K_{x,i1}[U, W] + K_{x,i1}[{\overline{U}}, C] \right) \bigg ) \bigg ). \end{aligned}$$
(160)

These equations can be solved numerically using damped fixed point iteration completely analogously to Sect. 4.2. First, one obtains an initial guess \(U^{(0)}_{x+0,i}\) for “future” link variables from a single leapfrog evolution step using Eqs. (122) and (124). Then iterate from \(n=1\) until convergence:

  1. 1.

    Compute the next iteration using damped fixed point iteration: in Eqs. (156) and (157) replace \(P^a \left( U_{x,10}\right) \rightarrow {\mathscr {U}}^a_1\) and \(P^a \left( U_{x,i0} \right) \rightarrow {\mathscr {U}}^a_i\), solve for the unknown \({\mathscr {U}}\)’s and update the temporal plaquettes using

    $$\begin{aligned} P^a \left( U^{(n)}_{x,10} \right) = \alpha P^a \left( U^{(n-1)}_{x,10} \right) + \left( 1 - \alpha \right) {\mathscr {U}}^{a}_1 \end{aligned}$$
    (161)

    and analogously for \(U^{(n)}_{x,i0}\) and \({\mathscr {U}}^{a}_i\). \(\alpha \) is the damping coefficient.

  2. 2.

    For SU(2) we can reconstruct the full temporal plaquette from its components \(P^a \left( U \right) \) with the identity

    $$\begin{aligned} U = \sqrt{1- \frac{1}{4} \sum _a P^a \left( U \right) ^2} \mathbb {1}+ \frac{i}{2} \sum _a \sigma ^a P^a \left( U \right) , \end{aligned}$$
    (162)

    for \(U = U^{(n)}_{x,10}\) and \(U = U^{(n)}_{x,i0}\).

  3. 3.

    Using \(U^{(n)}_{x,10}\) and \(U^{(n)}_{x,i0}\), compute the spatial links \(U^{(n)}_{x+0,1}\) and \(U^{(n)}_{x+0,i}\) via

    $$\begin{aligned} U^{(n)}_{x+0,i} = U^{(n)}_{x,0i} U_{x,i}. \end{aligned}$$
    (163)
  4. 4.

    Repeat with \(n\rightarrow n+1\).

As with the implicit scheme, our approach to solving the equations in the semi-implicit scheme is an iterative one. The Gauss constraint (154) is only approximately satisfied, depending on the degree of convergence.Footnote 2

4.4 Coupling to external color currents

Up until now we have only considered pure Yang-Mills fields. In the continuum we can include external color currents by adding a \(J \cdot A\) term to the action.

$$\begin{aligned} S[A]&= S_{YM} + S_J = -\frac{1}{2} \intop _x \sum _{\mu , \nu } {{\mathrm{tr}}}\left( F_{\mu \nu }(x) F^{\mu \nu }(x) \right) \nonumber \\&\quad - 2 \intop _x \sum _{\nu } {{\mathrm{tr}}}\left( J^\nu (x) A_{\nu }(x) \right) . \end{aligned}$$
(164)

The equations of motion then read

$$\begin{aligned} \sum _\mu D_{\mu } F^{\mu \nu }(x) = J^\nu (x), \end{aligned}$$
(165)

and due to gauge-covariant conservation of charge we have

$$\begin{aligned} \sum _\mu D_{\mu } J^{\mu }(x)=0, \end{aligned}$$
(166)

which is the non-Abelian continuity equation. On the lattice we can simply add a discrete \(J\cdot A\) term to the action as well:

$$\begin{aligned} S_J = \frac{V}{g^2} \sum _{x,b} \left( - \frac{g}{a^0} \rho ^b_x A^b_{x,0} + \sum _{i=1}^3 \frac{g}{a^i} j^b_{x,i} A^b_{x,i} \right) , \end{aligned}$$
(167)

where \(A^a_{x,\mu }\) includes a factor of \(g a^\mu \) (“lattice units”). We also made the split into 3+1 dimensions explicit using \(J^a_0(x) \simeq \rho ^a_x\) and \(J^a_i(x) \simeq j^a_{x,i}\). The variation of \(S_J\) simply reads

$$\begin{aligned} \delta S_J = \frac{V}{g^2} \sum _{x,b} \left( - \frac{g}{a^0} \rho ^b_x \delta A^b_{x,0} + \sum _{i=1}^3 \frac{g}{a^i} j^b_{x,i} \delta A^b_{x,i} \right) , \end{aligned}$$
(168)

which gives the appropriate contributions to the Gauss constraint and the EOM. In the leapfrog scheme the constraint now reads

$$\begin{aligned} \sum _i \frac{1}{\left( a^0 a^i \right) ^2} P^a \left( U_{x,0i} + U_{x,0-i}\right) = \frac{g}{a^0} \rho ^a_x \end{aligned}$$
(169)

and the EOM read

$$\begin{aligned}&\frac{1}{\left( a^0 a^i \right) ^2} P^a \left( U_{x,i0} + U_{x,i-0}\right) \nonumber \\&\quad =\sum _j \frac{1}{\left( a^i a^j \right) ^2} P^a \left( U_{x,ij} + U_{x,i-j}\right) - \frac{g}{a^i} j^a_{x,i}. \end{aligned}$$
(170)

The constraint taken together with the EOM imply the local conservation of charge (see Appendix D)

$$\begin{aligned} \frac{\rho _x - \rho _{x-0}}{a^0} = \sum _i \frac{j_{x,i} - U^\dagger _{x-i,i} j_{x-i,i} U_{x-i,i}}{a^i}, \end{aligned}$$
(171)

which is the discrete version of the continuity equation. For the implicit and semi-implicit schemes the procedure is the same: including the \(S_J\) term simply leads to the appearance of \(\rho \) on the RHS of the Gauss constraint (see Eqs. (141) and (154)) and \(j_{x,i}\) on the RHS of the EOM (see Eqs. (142) and (156), (157)). Due to conservation of the Gauss constraint without external charges, the continuity equation for the implicit and semi-implicit scheme is simply Eq. (171) as well. This implies that our treatment of the external currents in terms of parallel transport as detailed in our previous publication [14] does not require any modifications when using the newly derived schemes.

5 Numerical tests

In this last section we test the semi-implicit scheme on the propagation of a single nucleus in the CGC framework. For an observer at rest in the laboratory frame, the nucleus moves at the speed of light and consequently exhibits large time dilation. As the nucleus propagates, the interactions inside appear to be frozen and the field configuration is essentially static. On the lattice we would like to reproduce this behavior as well, but depending on the lattice resolution we run into the numerical Cherenkov instability, which leads to an artificial increase of the total field energy of the system.

As previously stated the root cause of the instability is numerical dispersion: in the CGC framework a nucleus consists of both propagating field modes and a longitudinal current generating the field around it. It is essentially a non-Abelian generalization of the field of a highly relativistic electric charge. In our simulation the color current is modeled as an ensemble of colored point-like particles moving at the speed of light along the beam axis. The current is unaffected by dispersion, i.e. it retains its shape perfectly as it propagates. The field modes suffer from numerical dispersion, which over time leads to a deformation of the original longitudinal profile. The mismatch between the color current and the field leads to creation of spurious field modes, which interact with the color current non-linearly through parallel transport (color rotation) of the current. This increases the mismatch further and more spurious fields are created. As the simulation progresses this eventually leads to a large artificial increase of total field energy. The effects of the instability can be quite dramatic as seen in Fig. 4. The main difference to the numerical Cherenkov instability in Abelian PIC simulations is that in electromagnetic simulations the spurious field modes interact with the particles through the Lorentz force [27]. In our simulations we do not consider any acceleration of the particles (i.e. their trajectories are fixed), but interaction is still possible due to non-Abelian charge conservation (171), which requires rotating the color charge of the color current. Therefore our type of numerical Cherenkov instability is due to non-Abelian effects.

We now demonstrate that the instability is cured (or at least highly suppressed for all practical purposes) by using the semi-implicit scheme. We test the schemes ability to improve energy conservation the following way: we place a single gold nucleus described by the McLerran-Venugopalan model in a simulation box of volume \(V = \left( 3\,\text {fm}\right) \times \left( 6\,\text {fm}\right) ^2\) and set the longitudinal extent of the nucleus to roughly correspond to a boosted nucleus with Lorentz factor \(\gamma = 100\). These parameters correspond to a similar setting as in our previous work [23]. We refer to [22] for a detailed description of the initial conditions. After setting up the initial condition we let the nucleus freely propagate along the longitudinal axis. As the simulation runs we record the total field energy

$$\begin{aligned} E(t) = \frac{1}{2} \int _V d^3 x \sum _{i,a} \left( E^a_i\left( t, \mathbf {x}\right) ^2 \ + B^a_i\left( t, \mathbf {x}\right) ^2 \right) , \end{aligned}$$
(172)

where \(E^a_i(x)\) and \(B^a_i(x)\) are the color-electric and -magnetic fields at each time step. On the lattice the electric and magnetic fields are approximated using plaquettes:

$$\begin{aligned} E^a_{i}(x)&\simeq \frac{1}{g a^0 a^i} P^a \left( U_{x,0i} \right) , \end{aligned}$$
(173)
$$\begin{aligned} B^a_{i}(x)&\simeq -\sum _{j, k} \varepsilon _{ijk} \frac{1}{2 g a^j a^k} P^a \left( U_{x,jk} \right) . \end{aligned}$$
(174)

We compute the relative change \(\left( E(t) - E(0) \right) / E(0)\), which we plot as a function of time t. In the continuum we would have \(E(t)=E(0)\), but due to numerical artifacts and the Cherenkov instability this is not the case in our simulations.

Fig. 4
figure 4

The energy density of a right-moving nucleus averaged over the transverse plane as a function of the longitudinal coordinate \(x^1\) after \(t=2\,\text {fm}/c\). The results were obtained from the same simulations as in Fig. 5. We compare the performance of the leapfrog (LF) scheme (with \(N_L=256\) and \(N_L=1024\)) to the semi-implicit (SI) scheme with \(N_L=256\). In the most extreme example (LF 256) the nucleus becomes completely unstable due to the numerical Cherenkov instability. By eliminating numerical dispersion (SI 256) the nucleus retains its original shape almost exactly

Fig. 5
figure 5

The relative increase of the total field energy E(t) as a function of time t for the propagation of a single nucleus in a box of volume \(V = \left( 3\,\text {fm}\right) \times \left( 6\,\text {fm}\right) ^2\) with a longitudinal length of \(3\,\text {fm}\) and a transverse area of \(\left( 6 \, \text {fm}\right) ^2\). The lattice size is \(N_L \times N_T^2\) with the transverse lattice fixed at \(N_T = 256\). Starting with the same initial condition, we evolve forward in time using the leapfrog (LF) and the semi-implicit (SI) method. In the case of the leapfrog scheme we vary the resolution along the beam axis using the number of longitudinal cells \(N_L\) of the lattice. For \(N_L=256\) the numerical Cherenkov instability leads to catastrophic failure, increasing the energy to many times its original value. The effect is suppressed when increasing the longitudinal resolution, but the instability is still present. In the case of the semi-implicit scheme it is possible to set \(N_L=256\) and still obtain (approximate) energy conservation. After \(t=2\,\text {fm}/c\) the energy increase for the semi-implicit scheme is roughly \(0.02\%\), compared to \(1\%\) for the leapfrog with \(N_L=2048\). For the simulation using the semi-implicit scheme we used \(N_i = 10\) iterations and a damping coefficient of \(\alpha =0.45\). The time step is set to the longitudinal lattice spacing. In the case of the leapfrog simulation we used \(a^0 = a^1 / 4\)

The numerical results are shown in Fig. 5. We see that the leapfrog scheme leads to an exponential increase of the total energy over time, which can be suppressed using finer lattices. On the other hand, the semi-implicit scheme leads to better energy conservation even on a rather coarse lattice. Therefore, the resolution that is usually required to obtain accurate, stable results is lowered by using the semi-implicit scheme. However, using the new scheme might not always be economical: finer lattices suppress the instability as well and since the leapfrog scheme is computationally cheaper than the semi-implicit scheme, the leapfrog can be favorable in practice. On our test system (a single 256 GB node on the VSC 3 cluster) the simulation using the semi-implicit scheme (SI 256) takes \(\sim 4\) hours to finish, while the same simulation using the leapfrog with \(N_L=1024\) (LF 1024) takes roughly \(\sim 2.5\) hours and with \(N_L=2048\) (LF 2048) \(\sim 10\) hours. Even though energy conservation is not as good as SI 256, the longitudinal resolution is much better in comparison enabling us to extract observables with higher accuracy. It should be noted however that our implementation of the leapfrog scheme is already highly optimized, while the implementation of the semi-implicit scheme is very basic and should be considered as a proof of concept. Further optimizations and simplifications of the semi-implicit scheme might make it the better choice in most cases.

Fig. 6
figure 6

The relative Gauss constraint violation for the semi-implicit scheme as a function of the number of iterations \(N_i\) of the damped fixed point iteration. For this plot we used a simulation box of volume \(V = \left( 1.5\,\text {fm}\right) \times \left( 6\,\text {fm} \right) ^2\) on a lattice with \(N_T=256\) points in the transverse directions and \(N_L=128\) points in the longitudinal direction. Otherwise, we use the same initial conditions as in Figs. 4 and 5. At the beginning of the simulation at \(t=0\,\text {fm}/c\) the constraint is conserved up to machine precision by construction. We then let the nucleus propagate until \(t=0.5\,\text {fm}/c\) and compute the violation of the Gauss constraint (black dots). We also compare to the constraint violation after only a single evolution step (red crosses), which does not differ much from the violation after a larger number of time steps. It is evident that the violation systematically converges towards zero (up to machine precision) as we increase the number of iterations \(N_i\)

As a second test we look at the violation of the Gauss constraint. The leapfrog scheme (122) conserves its associated Gauss constraint (119) identically, even for finite time-steps \(a^0\). In numerical simulations this conservation is not exact due to floating point number errors, but the violation is zero up to machine precision. On the other hand, the semi-implicit scheme has to be solved iteratively and therefore the results depend on the number of iterations \(N_i\) used in the fixed point iteration method. We define the relative violation of the Gauss constraint as the ratio of the absolute (squared) Gauss constraint violation to the total (squared) charge on the lattice. In the case of the leapfrog scheme this reads

$$\begin{aligned} \delta g(t) = \frac{\sum _{x',a} \left( \sum _{{|}i{|}} \frac{1}{\left( a^0 a^i \right) ^2} P^a \left( U_{x',0i}\right) - \frac{g}{a^0} \rho ^a_{x'}\right) ^2}{\sum _{x',a} \left( \frac{g}{a^0} \rho ^a_{x'} \right) ^2}, \end{aligned}$$
(175)

where the sum \(\sum _{x'}\) runs over the spatial lattice of a single time slice at t. The numerator depends on the Gauss constraint of the scheme and has to be adjusted according to the implicit and semi-implicit method (either Eq. (141) or (154) including the charge density on the RHS as discussed in Sect. 4.4). In Fig. 6 we show how the Gauss constraint violation converges systematically towards zero as we increase the number of iterations. Therefore, even though we can not use an arbitrarily high number of iterations due to limited computational resources, the semi-implicit scheme conserves the Gauss constraint in principle. The same holds for the purely implicit scheme. In practice it is not necessary to satisfy the constraint up to high precision, as observables such as the energy density seem to converge much faster up to satisfying accuracy.

6 Conclusions and outlook

In this paper we derived new numerical schemes for real-time lattice gauge theory. We started our discussion based on two simpler models, namely the two-dimensional wave equation and Abelian gauge fields on the lattice. It turns out that using a discrete variational principle to derive numerical schemes for equations of motion is a very powerful tool: the use of time-averaged expressions in the discrete action yields implicit and semi-implicit schemes depending on how exactly the time-averaging is performed and what terms are replaced by their averages. We extended this concept to real-time lattice gauge theory, allowing us to make modifications to the standard Wilson gauge action that yield new numerical schemes, which have the same accuracy as the leapfrog scheme and, most importantly, are gauge-covariant and conserve the Gauss constraint. Finally, we demonstrated a peculiar property of the semi-implicit scheme: it allows for dispersion-free propagation along one direction on the lattice, thus curing a numerical instability that has plagued our simulations of three-dimensional heavy-ion collisions.

Although all numerical tests in this work have been performed for the propagation of a single nucleus, we expect that the new semi-implicit scheme will improve simulations of nucleus-nucleus collisions in multiple ways. Primarily, using the new scheme we can be sure that the color fields of incoming nuclei have not been altered up until the collision event and all changes to the fields afterwards are solely due to interaction between the colliding nuclei during the collision event itself. This also helps to improve numerical accuracy in the forward and backward rapidity region: at later simulation times, when the now outgoing nuclei are well separated, all field modes (i.e. “gluons”) with momenta at high rapidity must have been created in the collision and contributions from artificial modes emitted by the nucleus due to numerical Cherenkov radiation are strongly suppressed. Furthermore, from the dispersion relations (90) and (91) we can infer that these gluons with almost purely longitudinal momentum \(k_L\) (and small transverse momentum \(k_T\)) exhibit a phase velocity approximately the speed of light (up to an error term quadratic in \(a^0 k_T\)). This means any interactions between high rapidity gluons produced in the collision and the finite-thickness color fields of the nuclei directly after the collision event can be considered physical and are not tainted by numerical dispersion as in our previous simulations. Consequently, it should be possible to extract space-time rapidity profiles of the local rest frame energy density of the Glasma as in [23] valid for larger ranges of rapidity as previously considered.

In conclusion, we hope that this new treatment of solving the Yang-Mills equations on the lattice allows us to perform better, more accurate simulations using more complex models of nuclei.