Maslov Phase Budget for Symplectic Recurrence
Implementation & benchmark of arXiv:2609.03061 — Maslov Indicies In Symplectic Geometry Revisited
Source paper: Maslov Indicies In Symplectic Geometry Revisited arXiv:2609.03061 ⓘ · analyzed Sep 4, 2026
AI-generated research hypothesis, automatically tested. Not peer-reviewed.
Idea description
Use the paper's explicit compact factor of a symplectic state-transition matrix to measure aggregate rotation speed in hidden-state dynamics. Penalize excessive or rapidly varying angular velocity rather than penalizing the full recurrent matrix, preserving nontrivial Hamiltonian rotations while suppressing phase drift that can destabilize long sequences.
Formulas
Mathematical statement
For a real symplectic matrix M = [[a,b],[c,d]] in Sp(2n,R), define D[M] = a^T a + c^T c, which is symmetric positive definite, and define the unitary representative G[M] = (a+i c)D[M]^{-1/2}. Here a,b,c,d are n-by-n real blocks, i is the imaginary unit, and D[M]^{-1/2} is the positive-definite inverse square root. The paper states that G[M] is unitary and induces the same Lagrangian-subspace image as M. For a differentiable compact path U(t) = K(V(t) Diag(t) V(t)^{-1}), where K embeds a complex unitary matrix into a real symplectic matrix and Diag(t) contains planar rotations R(theta_j(t)), the paper derives Trace(J U'(t) U(t)^{-1}) = 2 sum_j d theta_j(t)/dt. We use q_t = Trace(J (U_t-U_{t-1}) U_{t-1}^{-1})/(2 Delta t) as a discrete aggregate angular velocity and add lambda_phase q_t^2 plus lambda_tv(q_t-q_{t-1})^2 to the sequence loss. J is the standard 2n-by-2n symplectic matrix, Delta t is the step size, and lambda_phase and lambda_tv are nonnegative hyperparameters.
Implementation notes
Integrate this at the recurrent transition, not at the input projection. Build a symplectic hidden-state matrix M_t for each sequence step, for example from a Hamiltonian exponential M_t = exp(JH_t) with H_t symmetric, or from a learned symplectic matrix shared across time. Partition M_t into n-by-n blocks a_t,b_t,c_t,d_t. Compute D_t = a_t^T a_t + c_t^T c_t, obtain D_t^{-1/2} by an eigendecomposition for the first MVP or by Newton-Schulz iterations for larger models, and form the complex matrix G_t = (a_t+i c_t)D_t^{-1/2}. Convert G_t to its real symplectic embedding U_t = K(G_t). For t greater than zero, calculate q_t = Trace(J (U_t-U_{t-1}) U_{t-1}^{-1})/(2 Delta t); use a linear solve instead of explicitly forming U_{t-1}^{-1}. Add lambda_phase times q_t squared to the task loss and optionally lambda_tv times (q_t-q_{t-1}) squared. Do not detach U_t so gradients reach the recurrent parameters. The paper supplies the compact factor and trace identity; the engineer estimates q_t by finite differences and computes matrix functions numerically. Start with a 64-dimensional symplectic RNN on sequential MNIST and a copy-memory task of lengths 100, 500, and 1000. Compare vanilla tanh, orthogonal RNN, unregularized symplectic RNN, and the proposed loss at equal parameter count. Track gradient norm, hidden-state norm, q_t variance, and accuracy versus sequence length. Success means lower long-horizon gradient variance and at least 5 percentage points higher copy accuracy at length 1000 without more than 10 percent training slowdown.
Verification
Stage 1 · Toy mechanism gate: Passed ✓
Stage 2 · Mechanism transferred to benchmark: Not reproduced ✗
Stage 2 · Practical benchmark result: No measurable effect
Methodology: 8 paired seeds, permutation test (p<0.05) against a learning-rate-tuned baseline. How verification works
Stage 1 — Mechanism check agent confidence 7/10
Built a self-contained MVP implementing the compact factor, real unitary/symplectic embedding, finite-difference phase velocity, and phase/total-variation penalties. The numerical checks passed: compact-factor unitarity and symplectic errors were 6.4e-16 and 1.15e-15, and the corrected trace identity matched with 2.8e-11 absolute error. In a fixed-seed noisy phase-recovery toy, the proposed penalty reduced q variance by 27.5% and clean phase MSE by 26.1% versus the unregularized control, indicating a real smoothing signal, though this is not yet evidence for the full long-horizon RNN accuracy claim.
- Agent confidence
- 7/10
- Baseline
- Noisy phase fitting: clean phase MSE=0.05186, q variance=0.16354, q RMSE=0.30394, observation MSE approximately 0
- Idea
- lambda_phase=0.035, lambda_tv=0.12: clean phase MSE=0.03831, q variance=0.11851, q RMSE=0.23783, observation MSE=0.00764; q-variance ratio=0.7247 and phase-MSE ratio=0.7387
Limitations: The experiment is a small one-dimensional phase-recovery toy, not a trained 64-dimensional symplectic RNN, sequential-MNIST task, or copy-memory task. It did not measure parameter-matched accuracy, gradient variance over long horizons, FLOPs, training slowdown, or performance across lengths 100/500/1000; hyperparameters were tested at one setting and no multi-seed study was run.
How to run: python3 phase_budget_mvp.py
Stage 2 — Benchmark vs. tuned baseline (arXiv:2609.03061)
Ahead of the baseline (−0.2%) but not statistically significant (p=0.985, wins 2 / 8 paired seeds).
- Benchmark
- Dynamics forecasting
- Model
- rnn_small
- Paired seeds
- 8
- Baseline mean
- 0.0016
- Idea mean
- 0.0016
- Effect (Δ)
- -0 (−0.2%; negative = idea better)
- Wins
- 2 / 8 paired seeds
- p-value
- 0.985 (permutation test, 20 000 shuffles)
- Smallest detectable effect
- ±3.0%
- Mechanism
- Not confirmed ✗
- Practical effect
- No effect
- Baseline tuning
- swept over 6 configs
Tested only the built-in dynamics track with 400 training samples, 200 test samples, 12 epochs, and rnn_small. Sequential MNIST, copy-memory lengths 100/500/1000, gradient variance, FLOPs, slowdown, and a full learned symplectic transition were not tested.
How to run: python3 bench_phase_budget.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
Implemented the Maslov phase-budget loss on the matched dynamics track using an otherwise identical 64-unit GRU, with paired baseline/idea sweeps and eight paired seeds. The finite-difference trace identity passed with absolute error 2.8e-11, but trained hidden q variance increased by 1.07%. Test MSE was effectively unchanged and the paired permutation test found no significant improvement, so the idea does not give a demonstrated benchmark win.
- Baseline
- dynamics/rnn_small; best lr=0.006, weight_decay=0.0001; 8-seed test MSE mean=0.00157422, std=0.00053833
- Idea
- phase=0.008, tv=0.04; 8-seed test MSE mean=0.00157158, std=0.00053922; paired delta=-2.64e-06, p=0.985; hidden q variance 0.06731 baseline vs 0.06803 idea
Benchmark result
Ahead of the baseline (−0.2%) but not statistically significant (p=0.985, wins 2 / 8 paired seeds).
- Benchmark
- Dynamics forecasting
- Model
- rnn_small
- Paired seeds
- 8
- Baseline mean
- 0.0016
- Idea mean
- 0.0016
- Effect (Δ)
- -0 (−0.2%; negative = idea better)
- Wins
- 2 / 8 paired seeds
- p-value
- 0.985 (permutation test, 20 000 shuffles)
- Smallest detectable effect
- ±3.0%
- Mechanism
- Not confirmed ✗
- Practical effect
- No effect
- Baseline tuning
- swept over 6 configs
Tested only the built-in dynamics track with 400 training samples, 200 test samples, 12 epochs, and rnn_small. Sequential MNIST, copy-memory lengths 100/500/1000, gradient variance, FLOPs, slowdown, and a full learned symplectic transition were not tested.
How to run: python3 bench_phase_budget.py
Artifacts
- bench_phase_budget.py 6.7 KB View Raw
- bench_report.json 3.3 KB View Raw
- phase_budget_mvp.py 4.7 KB View Raw
- phase_budget_results.json 1.1 KB View Raw
- report.md 1.6 KB View
- report_bench_2026-09-04T154400.md 5.1 KB View