$x$}}$ of a simple cubic lattice of size $V \equiv L^3$, and ${\mbox{\boldmath $i$}}$ are unit steps in the three coordinate directions. We always employ periodic boundary conditions.

Algorithm
---------

For the closely related 3D Ising and XY models it has been shown [@r5; @r12; @r13; @r14] that the single-cluster update is the fastest MC algorithm available. We have therefore chosen this variant for our study of the 3D Heisenberg model. One update in the single-cluster variant consists of choosing a random mirror plane and a random site, which is the starting point for growing a cluster of reflected spins. The size and shape of the cluster is controlled by a Metropolis like accept/reject criterion satisfying detailed balance [@r4; @r8]. Compared with the multiple-cluster algorithm this variant is technically somewhat simpler to implement and, more importantly, in three dimensions numerically more efficient. The reason is that, on the average, larger clusters are moved.

To test the performance of the algorithm we have recorded autocorrelation functions, $A(k) = \rho(k)/\rho(0)$, with $$\rho(k) = \langle O_i O_{i+k}\rangle  - \langle O_i\rangle ^2,
\label{eq:7}$$ and $O_i$ denoting the i-th measurement of an observable. We have focussed on the integrated autocorrelation time, $ \tau \equiv \frac{1}{2} 