TRANSLATION EQUIVARIANCE shift the input, the output shifts the same — the symmetry of ‘anywhere’
The most common equivariance is to translation: move the input along and the output moves along with it, unchanged in form — f(shift·x) = shift·f(x). It is the mathematical content of “the rule is the same everywhere”: a physics with no special origin, an image feature that means the same in any corner, a signal filter that treats every moment alike. Any elementwise map (double each entry) is trivially translation-equivariant; a convolution (dart 392) is the non-trivial case. Translation-equivariance is why you can learn something in one place and apply it in another — the symmetry that makes generalisation possible.
THE TECHNIQUE f(shift·x) = shift·f(x) — no special position
The demo shifts a list then doubles it, and doubles then shifts — identical, so doubling is translation-equivariant: live demo
HISTORY & CREDIT translation symmetry · homogeneity of space
“Where a thing happens changes what it is.” — under translation-equivariance it does not: the same rule everywhere, so a feature learned here works there. The symmetry of generalisation. cited
the relation · f(shift·x)=shift·f(x) — equivariance to the translation group. physics · homogeneity of space; by Noether, it gives conservation of momentum. ML · the reason convolutional features transfer across an image.
Move the input, move the output the same — no place is special. The symmetry that lets what you learn travel. translation equivariance
RECOMMEND FOR I-13 shift commutes with compute, on the compiler
On the canonical compiler, shift-then-double equals double-then-shift (equivariant=1):
$ i13 run sy_translationequivariance.i13 # double(shift x) == shift(double x)
RUN OK · 572 step(s) · peak stack 7 · call depth 5
equivariant = 1 -- doubling commutes with a shift: no special position
Recommend: translation-equivariance is the symmetry of anywhere — the same rule at every position, so what you learn here works there — and i13 confirms doubling commutes with a shift. It inherits the keeper-shot question from equivariance (390) and convolution (392): a distinct enacted output-relation, or invariance-is-witnessed in motion? For an elementwise map it is trivial (coextensive with correctness); the non-trivial, load-bearing case is the shared kernel. Kept as the named symmetry the batch's shots turn on.