# Grassmann integrals by machine

## Abstract

I present a numerical algorithm for direct evaluation of multiple Grassmann integrals. The approach is exact and suffers no Fermion sign problems. Memory requirements grow exponentially with the interaction range and the transverse size of the system. Low dimensional systems of order a thousand Grassmann variables can be evaluated on a workstation.

In quantum field theory fermions are usually treated via integrals over anti-commuting Grassmann variables , providing an elegant framework for the formal establishment of Feynman perturbation theory. With non-perturbative approaches, such as Monte Carlo studies on the lattice, these objects are more problematic. Essentially all approaches formally integrate the fermionic fields in terms of determinants depending only on bosonic fields. When a background fermion density is present, as for baryon rich regions of heavy ion scattering, these determinants are not positive, making Monte Carlo evaluations tedious on any but the smallest systems. This problem also appears in studies of many electron systems doped away from half filling.

Here I explore the possibility of directly evaluating the fermionic integrals, doing the necessary combinatorics on a computer. This is inevitably a rather tedious task, with the expected effort growing exponentially with volume. Nevertheless, in the presence of the sign problem, all other known algorithms are also exponential. My main result is that this growth can be controlled to a transverse section of the system. I illustrate the technique with a low dimensional system involving of order a thousand Grassmann variables.

I begin with a set of anti-commuting Grassmann variables $`\{\psi \}`$, satisfying $`\psi _i\psi _j+\psi _j\psi _i=0`$. Integration is uniquely determined up to an overall normalization by requiring linearity and “translation” invariance $`𝑑\psi f(\psi +\psi ^{})=𝑑\psi f(\psi )`$. I normalize things so that

$$𝑑\psi \psi =1𝑑\psi 1=0.$$
(1)   
Consider an arbitrary action $`S(\psi )`$ inserted into a path integral. I want to evaluate

$$Z=𝑑\psi _n\mathrm{}𝑑\psi _1e^{S(\psi )}.$$
(2)   
Formally this requires expanding the exponent and keeping all terms containing exactly one factor of each $`\psi _i`$.

I first reduce the required expansion into operator manipulations in a Fock space. Introduce a fermionic creation-annihilation pair for each fermionic field, $`\psi _i\{a_i^{},a_i\}`$. These satisfy the usual relations $`[a_i,a_j^{}]_+=\delta _{ij}.`$ The space is built by applying creation operators to the vacuum, which satisfies $`a_i|0=0`$. It is convenient to introduce the completely occupied “full” state $`|Fa_n^{}\mathrm{}a_2^{}a_1^{}|0.`$ Then I rewrite my basic path integral as the matrix element

$$Z=0|e^{S(a)}|F.$$
(3)   
Expanding $`e^S`$, a non-vanishing contribution requires one factor of $`a_i`$ for each Fermion. This is the same rule as for Grassmann integration.

I now manipulate this expression towards a sequential evaluation. Select a single variable $`\psi _i`$ and define $`S_i(a)`$ as all terms from the action involving a factor of $`a_i`$. I define the complement $`\stackrel{~}{S}_i`$ as anything else, so that $`S=S_i+\stackrel{~}{S}_i`$. I assume a bosonic action so that $`S_i`$ and $`\stackrel{~}{S}_i`$ commute and $`Z=0|e^{\stackrel{~}{S}_i}e^{S_i}|F.`$ Since $`\stackrel{~}{S}_i`$ contains no factors of $`a_i`$, the occupation number for that variable, $`n_i=a_i^{}a_i`$, vanishes between the two factors. I thus can insert a projection operator $`1n_i`$

$$Z=0|e^{\stackrel{~}{S}_i}(1n_i)e^{S_i}|F.$$
(4)   
Since $`1n_i`$ projects out an empty state at location $`i`$, I trivially have $`a_i(1n_i)=0`$. I can replace $`\stackrel{~}{S}_i`$ with the full action. Also, since $`a_i^2=0`$, the right hand factor expands as $`e^{S_i}=1+S_i`$, giving

$$Z=0|e^S(1n_i)(1+S_i)|F.$$
(5)   
Repetition gives my main result

$$Z=0\left|\underset{i}{}\left((1n_i)(1+S_i)\right)\right|F.$$
(6)   
assuming constants in the action are removed.

Eq. (6) summarizes the basic procedure. Create an associative array (hash table) to store general states of the Fock space. For a given state $`|\psi =_s\chi _s|s`$ store the numbers $`\chi _s`$ labeled by $`|s`$. Initially this table only contains the one entry for the full state. The algorithm then loops over the Grassmann variables. For a given $`\psi _i`$, first apply $`(1+S_i)`$ to the stored state. Then empty the location with the projector $`1n_i`$. After all sites are integrated over, only the empty state survives, with the desired integral as its coefficient.

The advantages appear with a local interaction. All sites previously visited are empty, and involve no information. Unvisited locations outside the interaction range are still filled, and also involve no storage. All relevant states are nontrivial only for unvisited sites within range of previously visited sites. Sweeping through the system in a direction referred to as “longitudinal,” we only need keep track of a “transverse” slice of the model. This is illustrated in Fig. (1). Although the dimension of the Fock space is two to the number of Grassmann variables, the storage requirements only grow as two to the transverse volume.

The approach is exact, with no sign problems. The complexity grows severely with interaction range, probably limiting practical applications to short range interactions in low dimensions. Note that the effort only grows linearly with the longitudinal dimension, allowing very long systems. This discussion has been in the context of “real” Grassmann variables. For “complex” variables treat $`\psi `$ and $`\psi ^{}`$ independently.

In the transverse direction the boundary conditions are arbitrary, but longitudinal boundaries should not be periodic. To make them so requires maintaining information on both the top and bottom layers of the growing integration region, squaring the difficulty. Note that the technique is similar to the finite lattice method used for series expansions , and closely related to a direct enumeration of fermionic world lines .

As a test, consider a spin-less fermion hopping along a line of sites. I introduce a complex Grassmann variable on each site of a two dimensional lattice and study

$$Z=(d\psi d\psi ^{})e^{S_t+S_h+S_I}$$
(7)   
with the various terms

$$\begin{array}{c}S_t=_{i,t}\psi _{i,t}^{}(\psi _{i,t}\psi _{i,t1})\\ S_h=k_{i,t}\psi _{i,t}^{}\psi _{i+1,t}+\psi _{i+1,t}^{}\psi _{i,t}\\ S_I=g_{i,t}\psi _{i,t}^{}\psi _{i,t}\psi _{i+1,t}^{}\psi _{i+1,t}.\end{array}$$
(8)   
I take $`N_t`$ sites in the time $`t`$ direction and $`N_i`$ spatial sites. The one-sided form of the temporal hopping insures an Hermitean temporal transfer matrix. This model Bosonizes into an anisotropic quantum Heisenberg model, a fact not being used here.

I treat $`t`$ as my “transverse” coordinate, growing the lattice along the spatial chain. Fig. (2) shows the $`N_t`$ dependence for the free energy with $`k=1`$ and $`g=\pm 1`$. Here memory requirements were reduced by using time translation invariance after integrating each layer. The $`N_t=14`$ points were run on the RIKEN/BNL Supercomputer.

With Monte Carlo methods, a chemical potential term can be highly problematic due to cancelations. Here, however, it is just another local interaction of negligible cost. As an illustration, take $`S=S_t+S_h+S_I+S_M`$ with

$$S_M=M\underset{i,t}{}\psi _{i,t}^{}\psi _{i,t}.$$
(9)   
This regulates the “filling,” which can be approximately monitored as $`(1+M)\frac{dF}{dM}`$. I include the factor of $`1+M`$ to compensate partially for finite $`N_t`$ artifacts. Fig. (3) shows the filling as a function of $`MN_t`$ on an $`N_t=8`$ by $`N_i=20`$ lattice with a spatial hopping parameter of $`k=0.1`$. Here I made a crude extrapolation in chain length by defining $`F=\frac{1}{N_t}\mathrm{log}\left(\frac{Z(N_i)}{Z(N_i1)}\right)`$ . Note how the four fermion coupling enhances the filling.

An obvious system for future study is the Hubbard model. This requires 4 Grassmann variables per site corresponding to $`\psi ^{}`$ and $`\psi `$ for spins up and down. Higher spatial dimensions strongly increase the size of the transverse volume and will limit practical system volumes, but this may be compensated for by the lack of sign problems.