Solution (source code)

= Solution

A <blocking kernel> is a conditional probability $K(\sigma'\mid\sigma)$ for replacing the original spins by block spins. It must satisfy
$$
K(\sigma'\mid\sigma)\geq0,\qquad\sum_{\sigma'}K(\sigma'\mid\sigma)=1
$$
for each original configuration. For example, divide the lattice into blocks of side $b$ and assign each block the sign of its total spin; a tie can be resolved with equal probabilities for the two signs. The product of these block rules is a <normalized blocking kernel>.

The <real-space renormalization group> defines the effective <Boltzmann weight> by summing the old weights against this kernel. Its normalization preserves the full <partition function>. The blocked lattice has spacing $ba$ and $N'=N/b^D$ sites. Rescaling lengths restores the original lattice-spacing convention. An exact transformation generally produces every symmetry-allowed interaction, not just the nearest-neighbor term; retaining only a few couplings is a further approximation.