Organizing the Degrees of Freedom

Just as we can represent the field in position space as a $N^{d}$-dimensional real vector, so we would like to do the same in momentum space. A real field $\varphi$ on a $N$-lattice in $d$ dimensions corresponds to $N^{d}$ degrees of freedom, that is, to $N^{d}$ independent real variables $\varphi(\vec{n})$, one for each site of the lattice, which is described by the integer coordinates $\vec{n}$. Since Fourier transformation is simply a change of basis in the space of functions on the lattice, from the position space representation $\varphi(\vec{n})$ to the momentum-space representation $\widetilde\varphi (\vec{k})$, it follows that the Fourier components must also include exactly $N^{d}$ independent variables, one for each mode of the lattice, which is described by the integer coordinates $\vec{k}$. However, in its usual representation the Fourier transform of a real scalar field is complex,


\begin{displaymath}
\widetilde\varphi (\vec{k})=\frac{1}{N^{d}}\sum_{\vec{n}}
e^{\imath\frac{2\pi}{N}\vec{k}\cdot\vec{n}}\varphi(\vec{n}),
\end{displaymath}

and therefore seems to include twice as many real variables. This is not really so because not all such variables are independent, due to the identity


\begin{displaymath}
\widetilde\varphi (-\vec{k})=\widetilde\varphi ^{*}(\vec{k}),
\end{displaymath}

or, using the decomposition $\widetilde\varphi (\vec{k})=\mathfrak{R}(\vec{k})+\imath\mathfrak{I}(\vec{k})$, the identities


\begin{displaymath}
\mathfrak{R}(-\vec{k})=\mathfrak{R}(\vec{k})\mbox{  and  }\mathfrak{I}(-\vec{k})=-\mathfrak{I}(\vec{k}).
\end{displaymath}

Besides, there are some modes for which the transform is real, such as $\widetilde\varphi (\vec{0})$, for which $\mathfrak{I}(\vec{0})=0$. So we see that counting and keeping the truly independent variables is not so straightforward a task.

In order to keep just the $N^{d}$ independent variables, we must first identify which modes are real and which modes are complex, and then adopt some standard form of keeping the real and imaginary parts in a unique way. A mode is real when $\widetilde\varphi (-\vec{k})=\widetilde\varphi (\vec{k})$ identically, that is, for any field $\varphi(\vec{n})$, and is complex otherwise. For example, it is clear that $\widetilde\varphi (\vec{0})$ is real, as one can easily verify by inspection of the definition of the transform. Since it is not true in general that $\varphi(-\vec{n})=-\varphi(\vec{n})$, one can also see from the definition that there are no purely imaginary modes. Hence we have two classes of modes, purely real modes that contain a single independent real variable each, and complex modes that contain two mutually independent real variables each. These complex modes are related in pairs by the identity above, so if we keep all of them we will be double-counting the variables associated to them. For odd $N$ these pairings can be illustrated by the diagram below, representing the conjugate lattice in dimension $d=1$,

\begin{figure}\centering
\epsfig{file=conjugate-lattice-odd-d1.fps,scale=0.84,angle=0}
\end{figure}

Figure: Inversion of a vector $\vec{k}$ in the conjugate lattice for odd $N$ and $d=2$.
\begin{figure}\centering
\epsfig{file=conjugate-lattice-odd-d2.fps,scale=0.84,angle=0}
\end{figure}

where every square represents a mode and one can see a vector $\vec{k}$ as well as the negative of the same vector. In two dimensions we have the corresponding diagram in figure 1. In these diagrams one can see the limits of the range of the momentum coordinates for odd $N$, which are $-(N-1)/2$ and $(N-1)/2$. The zero mode obviously maps to itself. We see now that for odd $N$ there is a single real mode, the zero mode, because all other modes map to a different mode inside the conjugate lattice, by the inversion of the vector $\vec{k}$, due to the fact that the extremes of the range are symmetrical. For even $N$ the situation is more complicated, in the case $d=1$ we have

\begin{figure}\centering
\epsfig{file=conjugate-lattice-even-d1.fps,scale=0.84,angle=0}
\end{figure}

Figure: Inversion of a vector $\vec{k}$ in the conjugate lattice for even $N$ and $d=2$.
\begin{figure}\centering
\epsfig{file=conjugate-lattice-even-d2.fps,scale=0.84,angle=0}
\end{figure}

So we see that, because the extremes of the range of the variable are no longer symmetrical, there is a mode, the mode $k_{1}=N/2$, that maps to a point outside the conjugate lattice, so that we must then add to the inverted vector a period vector of length $N$, as shown in the figure, in order to bring it back into the conjugate lattice. As a consequence of all this the mode $k_{1}=N/2$ also maps to itself, and is therefore a real mode, as one may check by direct inspection of the definition of the Fourier transform. In the case $d=2$ we have the diagram in figure 2, were we see that in general many modes will map to points outside the conjugate lattice, namely all those modes that have at least one component equal to $N/2$, and in such cases we must add a period vector of length $N$ along one of the directions of the lattice, as shown in the example depicted, with the period vector $(N,0)$. In some cases it may be necessary to add several period vectors in different directions of the lattice, as in the case of the mode $(N/2,N/2)$ of this example, which needs two period vectors, $(0,N)$ and $(N,0)$. However, not all such modes are real, because most times they map to a different mode on the border of the lattice, as shown in the example. In the case $d=2$ we can see from the diagram that there will be four real modes: $(0,0)$, $(0,N/2)$, $(N/2,0)$ and $(N/2,N/2)$.

In general we have $2^{d}$ real modes for even $N$, and just one for odd $N$. For odd $N$ each complex mode is paired with the mode obtained by the inversion of $\vec{k}$, but for even $N$ the pairings are not always so simple, as there are modes paired within the surfaces with one component equal to $N/2$. Nevertheless, all complex modes are dully paired in this way. The idea for the classification of the $N^{d}$ independent variables is that we leave the purely real modes alone and, for each pair of conjugated complex modes, we keep only one real part and one imaginary part. In order to have a conjugate lattice with one real variable per site, just as have in position space for $\varphi(\vec{n})$, we must classify the modes in conjugate pairs and keep only the real part of one member of the pair, and only the imaginary part of the other member of the pair. As we do this we must also keep in mind that later on we will index all the modes into a single $N^{d}$-dimensional vector, just as we do in position space.

On order to describe the scheme we adopt for this classification of independent variables, we must discuss one dimension at a time. Starting with $d=1$, in this case we may simply keep the real parts of the modes with positive components, and the imaginary parts of the modes with negative components. In the simpler odd-$N$ case we represent this by the diagram

\begin{figure}\centering
\epsfig{file=momentum-variables-odd-d1.fps,scale=0.84,angle=0}
\end{figure}

where the purely real modes are presented in a heavier shade, the complex modes of which we keep only the real parts in a lighter shade, and the complex modes of which we keep only the imaginary parts in white. The algorithm for implementing this is very simple,


\begin{displaymath}
\begin{array}{ccc}
-(N-1)/2\leq k_{1}\leq 1 & \longrightarro...
...box{calculate and store }\mathfrak{R}(\vec{k}). \\
\end{array}\end{displaymath}

In the even-$N$ case, still for $d=1$, we have the diagram

\begin{figure}\centering
\epsfig{file=momentum-variables-even-d1.fps,scale=0.84,angle=0}
\end{figure}

and the algorithm is only slightly different,


\begin{displaymath}
\begin{array}{ccc}
-N/2+1\leq k_{1}\leq 1 & \longrightarrow ...
...box{calculate and store }\mathfrak{R}(\vec{k}). \\
\end{array}\end{displaymath}

For $d=2$, in the odd-$N$ case, we adopt a scheme which is a generalization of the previous one, and which is given by the diagram in figure 3. We start by scanning the lattice vertically by row, and define the situation on all horizontal rows that do not contain a real mode. For each row that contains a real mode we must examine the next coordinate. In this way we use the previous $d=1$ scheme for the middle horizontal row of modes. The algorithm in this case is a two-fold iteration of the algorithm for $d=1$,

Figure 3: Classification of the momentum variables for odd $N$ and $d=2$.
\begin{figure}\centering
\epsfig{file=momentum-variables-odd-d2.fps,scale=0.84,angle=0}
\end{figure}


\begin{displaymath}
\begin{array}{ccl}
-(N-1)/2\leq k_{2}\leq 1 & \longrightarro...
...box{calculate and
store }\mathfrak{R}(\vec{k}). \\
\end{array}\end{displaymath}

Note that we start by checking $k_{2}$, not $k_{1}$, and only if it is zero we go on to check $k_{1}$. In the even-$N$ case, still for $d=2$, we adopt a similar scheme, given by the diagram in figure 4. Note that in this case the $d=1$ scheme is used for two horizontal rows, the middle one and the top one. The algorithm in this case is once more a two-fold iteration of the algorithm for $d=1$,

Figure 4: Classification of the momentum variables for even $N$ and $d=2$.
\begin{figure}\centering
\epsfig{file=momentum-variables-even-d2.fps,scale=0.84,angle=0}
\end{figure}


\begin{displaymath}
\begin{array}{ccl}
-N/2+1\leq k_{2}\leq 1 & \longrightarrow ...
...box{calculate and store }\mathfrak{R}(\vec{k}). \\
\end{array}\end{displaymath}

Note that in this case both the value $k_{2}=0$ and the value $k_{2}=N/2$ send us to test the next coordinate, so that there are two paths to get from one block to the next block. Both the odd-$N$ and the even-$N$ algorithms can be easily generalized to arbitrary dimensions. Here is the general algorithm for odd $N$,


\begin{displaymath}
\begin{array}{ccl}
-(N-1)/2\leq k_{d}\leq 1 & \longrightarro...
...box{calculate and store }\mathfrak{R}(\vec{k}). \\
\end{array}\end{displaymath}

Similarly, for even $N$ we have the general algorithm


\begin{displaymath}
\begin{array}{ccl}
-N/2+1\leq k_{d}\leq 1 & \longrightarrow ...
...box{calculate and store }\mathfrak{R}(\vec{k}). \\
\end{array}\end{displaymath}

Note that, except for the changes in the minimum and maximum values of each momentum coordinate, this algorithm includes the previous one, since for odd $N$ a momentum coordinate will never have the value $N/2$. Hence, if we define $k_{l}$ to be $k_{l}=(N-1)/2$ for odd $N$ and $k_{l}=N/2-1$ for even $N$, and define also $k_{L}$ to be $k_{L}=(N+1)/\!\!/2$ where the division indicated by the symbol $/\!\!/$ is integer division, with truncation, so that $k_{L}$ is in fact $(N+1)/2$ for odd $N$ and $N/2$ for even $N$, then we have the general algorithm, valid for both odd and even $N$,


\begin{displaymath}
\begin{array}{ccl}
-k_{l}\leq k_{d}\leq 1 & \longrightarrow ...
...box{calculate
and store }\mathfrak{R}(\vec{k}). \\
\end{array}\end{displaymath}

In the way of verification, one can count the number of modes which are classified in each case. For odd $N$ we have, at each step of the algorithm,


\begin{displaymath}
\begin{array}{ccl}
-(N-1)/2\leq k_{d}\leq 1 & \longrightarro...
...}\leq (N-1)/2 & \longrightarrow &
N^{0}(N-1)/2. \\
\end{array}\end{displaymath}

Adding up all the contributions one gets

\begin{eqnarray*}
N^{d-1}(N-1)+N^{d-2}(N-1)+\ldots+(N-1)+1 & = & \\
(N-1)(N^{d-...
... (N-1)\frac{N^{d}-1}{N-1}+1 & =
&  N^{d}-1+1& = & N^{d}, \\
\end{eqnarray*}


so that this case checks out. For even $N$ we have, at each step of the algorithm,


\begin{displaymath}
\begin{array}{ccl}
-N/2+1\leq k_{d}\leq 1 & \longrightarrow ...
...2-1),  k_{1}=N/2 & \longrightarrow & 2^{d-1}. \\
\end{array}\end{displaymath}

The factors of powers of $2$ that appear are due to the fact that there are two ways to proceed from each block to the next one. Adding up all the contributions one gets

\begin{eqnarray*}
2^{0}N^{d-1}(N-2)+2^{1}N^{d-2}(N-2)+\ldots+2^{d-1}N^{0}(N-2)+2...
...+2^{d} & = & \\
\left(N^{d}-2^{d}\right)+2^{d} & = & N^{d}, \\
\end{eqnarray*}


so that this case also checks out. Therefore, we have a completely well-defined algorithm that can be used to organize the independent variables, in any dimension. This algorithm should be used both when we calculate the Fourier components, in order to put them in their correct places in the conjugate lattice, and when one calculates an inverse transform or use the Fourier components in any other way, in order to get them from their correct places.