# Cluster Monte Carlo for Heisenberg spins?

I am learning Monte Carlo simulation for the classical spin systems. I am wondering if there is an efficient way to do classical Monte Carlo simulation for $$O(3)$$ Heisenberg spins(i.e. unlike the Ising model, spin direction is continuous)?

Especially, I am wondering what's the best cluster update algorithm for the continuous case. For Ising case, I know Swendsen-Wang or Wolff cluster update algorithm, but for the continuous cases it's not very clear how to do non-local(cluster) updates.

I googled it for a while but cannot easily find a good resolution. Maybe the natural first step is discretizing the direction, but I am stuck on how to connect it with the existing cluster update scheme. Usual single-site Metropolis takes too much time to converge, especially near the critical point.

Thank you very much!