Arbitrary External Sources

Let us now discuss what happens when we introduce external sources into the system. In this case we have a new term in the action, which becomes


\begin{displaymath}
S[\psi]=S_{0}[\psi]+S_{\eta}[\psi]
=-\beta\sum_{\ell}\psi_{-}\psi_{+}-\sum_{s}\eta(s)\psi(s),
\end{displaymath}

where the sum in the new term denoted as $S_{\eta}[\psi]$ is over all the sites of the lattice. The external source $\eta(s)$ is a given, fixed but otherwise arbitrary function of the sites. It is not simply a new parameter of the model because, unlike $\beta$, it may change from site to site. It is not a dynamical variable either, since, unlike $\psi$, it does not fluctuate according to a statistical ensemble. It is what we may call a classical (non-quantum) variable introduced into the model in this way.

The issue at hand now, regarding the stochastic simulations, is how to update the configurations so as to converge to the ensemble given by $Z\exp(-S[\psi])$, with this new action. At a first glance one may think that the most natural thing to do is to modify the algorithm in order to take the new term into account while building the cluster, but one can quickly verify that this does not work, due to the fact that the flipping of the cluster changes this new term at the interior sites of the cluster. Under such circumstances the algorithm no longer satisfies the condition of detailed balance.

The only known alternative left open to us is to modify the probability of acceptance of the clusters, built exactly as before, taking only the term $S_{0}[\psi]$ into consideration. This means that, instead of flipping the cluster with probability $1$, once it is built, we will flip it with a probability that depends on $S_{\eta}[\psi]$, using a version of the usual Metropolis algorithm at the end of the Wolff algorithm. Here is the complete algorithm with this modification:

  1. Choose a single site of the lattice for starting to build the cluster, in a random way.

  2. Consider all the links connected to that initial site; the $\ell_{-}$ links are never to be activated; activate the $\ell_{+}$ links with the probability $p_{+}=1-\exp(-2\beta\psi_{-}\psi_{+})$, thus forming a first cluster of sites, that is, updating the cluster from a single site to possibly a few sites.

  3. Given the set of sites added to the cluster in the previous update of the cluster (which is not the whole cluster), consider all the links that connect those sites to sites that are still outside the cluster; among these, activate the $\ell_{+}$ links with the probability $p_{+}$, thus enlarging (updating) the cluster.

  4. Loop back to step $3$ until the set of links left for activation trial in the next round of the loop is empty; this means that you stop this loop at the first instance of step $3$ that adds no new sites to the cluster.

  5. Calculate the variation $\Delta S_{\eta}$ of the external-source term of the action caused by flipping the cluster just built.

  6. If it happens that $\Delta S_{\eta}\leq 0$, then flip the cluster with probability equal to $1$.

  7. If $\Delta S_{\eta}>0$, then flip the cluster with probability $\exp(-\Delta S_{\eta})$; if the update is rejected, repeat the current configuration in the stochastic sequence.

  8. Loop back to step $1$, in order to build and possibly flip a new cluster.

It is apparent at once that this algorithm is inevitably somewhat less efficient than the pure Wolff algorithm, in terms of diffusion speed through configuration space, but the important thing is that is still free from the severe critical slowing down problems of the Metropolis algorithm. It is not difficult to check that the modified algorithm satisfies the condition of detailed balance. Since the cluster is built just like before, we already know that the ratio of the corresponding building probabilities is given by


\begin{displaymath}
\frac{W_{0}[C\rightarrow C']}{W_{0}[C'\rightarrow C]}=\exp(-\Delta S_{0}).
\end{displaymath}

We must now multiply this by the flipping probability, which can easily be obtained from our previous argument regarding the Metropolis algorithm,


\begin{displaymath}
\frac{W_{\eta}[C\rightarrow C']}{W_{\eta}[C'\rightarrow C]}=\exp(-\Delta
S_{\eta}),
\end{displaymath}

so that we have for the ratio of the complete probabilities $W=W_{0}W_{\eta}$,


\begin{displaymath}
\frac{W[C\rightarrow C']}{W[C'\rightarrow C]}=\exp(-\Delta S_{0}-\Delta
S_{\eta})=\exp(-\Delta S),
\end{displaymath}

Figure 4: A fixed-boundary lattice with the sites and links classified, showing the clusters that may be built in it, as well as the boundary sites.
\begin{figure}\centering
\epsfig{file=lattice-fixed.fps,scale=0.7,angle=0}
\end{figure}

which is the condition of detailed balance, thus showing that the algorithm does work. Note, however, that there is no way to control the rejection rate of the clusters built, because the variation of $S_{\eta}$ will depend on the average size of the clusters and we have no control over that. It is possible, therefore, that the algorithm will become very inefficient under certain conditions, with a high rejection rate, such as, for example, in the case of a very large external source which is constant over the whole lattice.