Reciprocal Squeezing

Each square is a spin (black = up, white = down), updated by asynchronous heat bath dynamics. Associated with each site \(i\) is an energy term built from its north, east, and south neighbors, \[ E_i = -J \left[ \min(s_N, s_E) + \max(s_E, s_S) \right] s_i - h\, s_i, \] and the global Hamiltonian is \( H = \sum_i E_i \).

At \(R = 0\) each spin is selfish: it heat baths against \(E_i\) alone, ignoring the fact that it also appears in the terms centered on its neighbors. That asymmetry — spin \(i\) caring about \(j\) more than \(j\) cares about \(i\) — is what makes the dynamics nonreciprocal, and there is no Hamiltonian it relaxes to.

Spin \(s_i\) actually appears in four terms of \(H\): its own, plus the terms centered on the sites to its south, west, and north, which see it as their north, east, and south neighbor respectively. The Reciprocity slider restores those three at strength \(R\), \[ E_i^{\text{upd}} = E_i + R \left[ E_{S(i)} + E_{W(i)} + E_{N(i)} \right], \] so at \(R = 1\) the update is exact heat bath dynamics for \(H\) and the model equilibrates. Negative \(R\) overshoots past the selfish point into anti-reciprocity: rather than merely ignoring its effect on its neighbors, each spin counts that effect with the wrong sign, and at \(R = -1\) it works against their terms exactly as hard as it works for its own.

Try Flip Circle at low \(T\): near \(R = 1\) the droplet relaxes in place, while near \(R = 0\) it drifts and shears along the anisotropy of the rule.