Markov Spectral Equivariant Layer
Implementation & benchmark of arXiv:2607.20854 — Structure-Preserving Spectral Dynamic Programming on Compact Lie Groups
Source paper: Structure-Preserving Spectral Dynamic Programming on Compact Lie Groups arXiv:2607.20854 ⓘ · analyzed Aug 30, 2026
AI-generated research hypothesis, automatically tested. Not peer-reviewed.
Idea description
Replace an orthogonal truncated Fourier or Wigner projection in a compact-Lie-group equivariant layer by a finite-rank Fejér-Markov filter. The filter acts as a normalized positive group convolution, preventing sup-norm amplification and suppressing high-frequency artifacts while retaining exact equivariance.
Formulas
Mathematical statement
The paper constructs a finite-rank spectral filter F_N that is positivity preserving and non-expansive in the supremum norm. Let G be a compact Lie group with normalized Haar measure dg, let K_N:G o\mathbb{R} be the filter kernel, and define (F_Nf)(g)=\int_GK_N(h^{-1}g)f(h)dh. The required Markov properties are K_N(g)\geq0 and \int_GK_N(g)dg=1; they imply f\leq q\Rightarrow F_Nf\leq F_Nq and \|F_Nf-F_Nq\|_\infty\leq\|f-q\|_\infty. Finite rank is imposed in the Peter-Weyl domain: if \widehat G is the set of irreducible unitary representations, \widehat f(\pi)=\int_Gf(g)\pi(g)^*dg, and a_N(\pi) is a smooth spectral window, then F_Nf(g)=\sum_{\mathrm{freq}(\pi)\leq N}a_N(\pi)\widehat f(\pi)\pi(g). The window must be chosen so that its inverse transform K_N is nonnegative; arbitrary spectral tapering does not guarantee this. The paper's dynamic-programming error rate is O(\sqrt{\delta}+\sqrt{\varepsilon+(\delta N^2)^{-1}}), where \delta is the time step, N is spectral resolution, and \varepsilon is artificial viscosity. The neural analogue is a non-expansive spectral mixing operator, while the rate motivates coupling a residual or recurrent step size to resolution through \delta=N^{-1}.
Implementation notes
1. Integration point: use the operator immediately after the inverse Wigner transform in an SO(3)-equivariant network, or as the spatial/motion-mixing operation in a recurrent group-valued block. Let x[b,c,g] be feature values on a discretized group grid. Apply the positive filter independently to channels before the nonlinearity or residual addition; do not use a raw signed spectral truncation. 2. Pseudocode: compute W=group_fft_or_wigner(x); for every irreducible block pi, set W_pi=a_N(pi)*W_pi if freq(pi)<=N and W_pi=0 otherwise; compute y_raw=group_ifft(W); alternatively convolve x with a precomputed kernel K_N; normalize K_N by K_N/=sum_grid(K_N); return y=gamma*y_raw+(1-gamma)*x with gamma in [0,1]. For vector-valued representation blocks, apply the scalar filter within each block so that equivariance is preserved. 3. Compute from the mathematics: the finite spectral support, kernel nonnegativity, unit kernel mass, and the predicted non-expansive property. Estimate empirically the kernel's minimum, mass error, operator norm ratio, and spectral attenuation. Search over smooth cosine or B-spline windows and retain only windows whose inverse transform is nonnegative on a sufficiently fine group grid. Couple the residual time step to resolution using delta=N^{-1}. 4. First experiment: train a small SO(3)-equivariant classifier or pose-regression model on rotated ModelNet40 or synthetic band-limited functions. Compare raw Wigner truncation, heat-kernel smoothing, and the positive Fejer-Markov layer at equal retained coefficients and FLOPs. Measure unseen-rotation accuracy, activation sup-norm amplification across 20 stacked layers, gradient norm variance, loss stability at larger learning rates, and high-frequency aliasing. Success means lower amplification and fewer divergences with equal or better accuracy and at most 10% extra compute.
Verification
Stage 1 · Toy mechanism gate: Passed ✓
Stage 2 · Mechanism transferred to benchmark: Confirmed ✓
Stage 2 · Practical benchmark result: Inconclusive
Methodology: 8 paired seeds, permutation test (p<0.05) against a learning-rate-tuned baseline. How verification works
Stage 1 — Mechanism check agent confidence 9/10
Built and verified a finite-rank Fejer-Markov convolution layer on the cyclic compact-group analogue Z_256, with exact shift equivariance. Across L=[2,4,8,16,32,64], kernels were nonnegative and unit-mass, order preservation and sup-norm non-expansion held, and Fejer eigenvalues matched the predicted triangular attenuation to 7e-16. Matched-rank signed truncation had induced sup norms from 1.44 to 2.80, while the positive filter remained at 1.0; after 20 layers at L=64, the signed filter reached 1.393 times the initial sup norm versus 0.146 for Fejer.
- Agent confidence
- 9/10
- Baseline
- Signed Fourier truncation: induced infinity norms [1.436, 1.778, 2.086, 2.383, 2.657, 2.797] for L=[2,4,8,16,32,64]; 20-layer sup ratio at L=64 was 1.393.
- Idea
- Fejer-Markov filter: induced infinity norm 1.000 for every L; minimum kernel value 2.9e-35, maximum mass error 6.7e-16, maximum order violation 0, maximum shift-equivariance error 2.2e-16, and maximum spectral attenuation error 6.7e-16; 20-layer sup ratio at L=64 was 0.146.
Limitations: This is a Z_256/SO(2)-style toy verification rather than an SO(3) Wigner implementation or a trained neural classifier. It does not test accuracy, FLOPs, learning dynamics, unseen-rotation generalization, or the paper's dynamic-programming error rate; the practical comparison is limited to signed versus positive convolution stability.
How to run: python3 markov_filter_experiment.py
Stage 2 — Benchmark vs. tuned baseline (arXiv:2607.20854)
No significant difference vs. the tuned baseline (+1.8%, p=0.1956, wins 3 / 8 paired seeds).
- Benchmark
- Vision (image classification)
- Model
- cnn_small
- Paired seeds
- 8
- Baseline mean
- 0.8284
- Idea mean
- 0.8434
- Effect (Δ)
- 0.015 (+1.8%; negative = idea better)
- Wins
- 3 / 8 paired seeds
- p-value
- 0.1956 (permutation test, 20 000 shuffles)
- Smallest detectable effect
- ±3.0%
- Mechanism
- Confirmed ✓
- Practical effect
- Inconclusive
- Baseline tuning
- swept over 3 configs
The benchmark used only the built-in vision track, 400 training examples, 400 test examples, and 5 epochs. Full SO(3)/Wigner implementation, rotation generalization, FLOPs, deeper networks, larger datasets, and broader filter/gamma sweeps were not tested.
How to run: python3 bench_markov.py
Verdict computed by deterministic test code from paired-seed statistics — not by the language model.
Stage 2 — Benchmark latest Failed ✗
Agent confidence: 9/10
The full registered vision benchmark was completed with eight paired seeds, a tuned baseline sweep, and a matched learning-rate sweep for the Markov-filter system. The mechanism signature was confirmed: the trained idea model had observed maximum filtered-to-input activation ratio 0.974, below the predicted non-expansive bound of 1.0. The task metric nevertheless worsened from baseline error 0.8284 to idea error 0.8434, with paired delta +0.0150 and permutation p=0.19565, so the idea did not win.
- Baseline
- cnn_small vision baseline; best lr=0.003; 8-seed test error mean 0.828437477350235.
- Idea
- Markov-filter cnn_small; gamma=0.7, best lr=0.003; 8-seed test error mean 0.843437485396862; paired delta +0.015000008046627045; p=0.19565.
Benchmark result
No significant difference vs. the tuned baseline (+1.8%, p=0.1956, wins 3 / 8 paired seeds).
- Benchmark
- Vision (image classification)
- Model
- cnn_small
- Paired seeds
- 8
- Baseline mean
- 0.8284
- Idea mean
- 0.8434
- Effect (Δ)
- 0.015 (+1.8%; negative = idea better)
- Wins
- 3 / 8 paired seeds
- p-value
- 0.1956 (permutation test, 20 000 shuffles)
- Smallest detectable effect
- ±3.0%
- Mechanism
- Confirmed ✓
- Practical effect
- Inconclusive
- Baseline tuning
- swept over 3 configs
The benchmark used only the built-in vision track, 400 training examples, 400 test examples, and 5 epochs. Full SO(3)/Wigner implementation, rotation generalization, FLOPs, deeper networks, larger datasets, and broader filter/gamma sweeps were not tested.
How to run: python3 bench_markov.py
Artifacts
- bench_markov.py 5.8 KB View Raw
- bench_report.json 3.0 KB View Raw
- markov_filter_experiment.py 6.2 KB View Raw
- report.md 1.6 KB View
- report_bench_2026-08-31T153159.md 4.7 KB View
- results.json 9.7 KB View Raw