Symplectic Latent Rollouts
Implementation & benchmark of arXiv:2607.12143 — Generating Physically Plausible Parachute Dynamics with Deep Generative Modeling
Source paper: Generating Physically Plausible Parachute Dynamics with Deep Generative Modeling arXiv:2607.12143 ⓘ · analyzed Aug 30, 2026
AI-generated research hypothesis, automatically tested. Not peer-reviewed.
Idea description
Replace the transition function of a latent world model, recurrent state-space model, or neural ODE with a learned Hamiltonian flow. The network predicts a scalar latent Hamiltonian, while a symplectic integrator generates future states, preserving canonical phase-space structure and suppressing artificial long-horizon energy drift.
Formulas
Mathematical statement
Let $z=(q,p)\in\mathbb{R}^{2d}$ be a latent state, where $q\in\mathbb{R}^{d}$ are generalized positions and $p\in\mathbb{R}^{d}$ are conjugate momenta. A neural network $H_\theta(q,p,c)$ represents the scalar Hamiltonian, optionally conditioned on context $c$. Define the canonical matrix $J=\begin{bmatrix}0&I_d\\-I_d&0\end{bmatrix}$. The continuous dynamics are $\dot z=J\nabla_zH_\theta(z,c)$, equivalently $\dot q=\partial H_\theta/\partial p$ and $\dot p=-\partial H_\theta/\partial q$. A leapfrog step of size $h$ is $p_{k+1/2}=p_k-(h/2)\nabla_qH_\theta(q_k,p_k)$, $q_{k+1}=q_k+h\nabla_pH_\theta(q_k,p_{k+1/2})$, and $p_{k+1}=p_{k+1/2}-(h/2)\nabla_qH_\theta(q_{k+1},p_{k+1/2})$. The update is symplectic, meaning its Jacobian $D\Phi_h$ satisfies $(D\Phi_h)^TJD\Phi_h=J$, and for a stable smooth Hamiltonian its numerical energy error is expected to remain bounded and oscillatory rather than grow linearly with rollout time.
Implementation notes
1. Integration point: use this as the transition operator in a latent world model or state-space model. An encoder maps observations $x_t$ to $z_t=(q_t,p_t)$, the Hamiltonian MLP takes $(q,p,c)$, and a decoder maps predicted latent states back to observations. Use two or four leapfrog substeps per observation interval; train with reconstruction loss, one-step latent matching, and multi-step rollout loss. 2. Pseudocode: encode $z_0=E_\phi(x_0)$; for each rollout step compute $g_q,g_p=\nabla_qH_\theta,\nabla_pH_\theta$; set $p\leftarrow p-hg_q/2$, $q\leftarrow q+hg_p$, recompute $g_q$ at the new $(q,p)$, then set $p\leftarrow p-hg_q/2$; decode every predicted $z$. Backpropagate through the integrator and minimize $L=L_{recon}+\lambda_1L_{one-step}+\lambda_TL_{rollout}$. 3. Computed from the mechanism: the Hamiltonian gradients and symplectic update are autodifferentiated quantities; estimate energy drift, Jacobian symplectic error, and prediction error empirically. Physical energy need not be known because $H_\theta$ is a learned diagnostic. 4. First cheap experiment: train a 4- or 8-dimensional latent model on simulated pendulum trajectories or a small N-body dataset, comparing an MLP transition, explicit-Euler Hamiltonian transition, and leapfrog Hamiltonian transition at equal parameter count. Sweep step size $h$ and rollout horizon $T$. The prediction is that leapfrog $|\Delta H_k|$ remains bounded and approximately oscillatory, with typical amplitude scaling as $O(h^2)$ for a smooth system, while explicit Euler exhibits secular energy drift and becomes unstable at a smaller step size. Also verify that $\|(D\Phi_h)^TJD\Phi_h-J\|_F$ is near autodiff and floating-point error for the leapfrog map.
Verification
Stage 1 · Toy mechanism gate: Failed ✗
Stage 2 · Mechanism transferred to benchmark: Not tested
Stage 2 · Practical benchmark result: Not run
Methodology: Toy-system gate first; the benchmark stage runs only after a pass. How verification works
Stage 1 — Mechanism check agent confidence 9/10
Built a differentiable learned-Hamiltonian latent rollout module and quantitative harmonic-oscillator verification. For the separable oscillator, leapfrog had roundoff symplectic defect, energy-error slope 2.000 matching O(h^2), and the predicted stability boundary hω=2; it also outperformed Euler in 500-step trajectory MSE. However, the supplied three-stage update applied to a genuinely nonseparable Hamiltonian produced defects growing with step size, so the claimed general learned-Hamiltonian guarantee was not established.
- Agent confidence
- 9/10
- Baseline
- Explicit Euler: h=0.1, 500-step trajectory MSE=10.5867; h=0.5 max norm over 200 steps=4.91e9; energy growth was secular and unstable.
- Idea
- Leapfrog: h=0.1, 500-step trajectory MSE=7.304e-5; bounded energy excursion=0.00125; log-log energy-error slope=2.000; stable through h=1.99 but unstable at h=2.01; oscillator symplectic defect <=1.57e-16. For the nonseparable test, defects were 2.39e-6, 5.95e-5, 2.37e-4, and 9.45e-4 at h=0.01, 0.05, 0.1, and 0.2.
Limitations: No observation encoder/decoder, learned world-model training, context-conditioned dataset, parameter-matched neural baseline, or GPU experiment was tested. The implementation follows the supplied explicit kick-drift-kick equations; these are symplectic for separable Hamiltonians but not generally for nonseparable H(q,p).
How to run: python3 symplectic_rollout.py && /home/maxwelhelp/main/bin/python3 test_module.py
Verdict computed by deterministic test code from paired-seed statistics — not by the language model.
Artifacts
- diagnose.py 0.4 KB View Raw
- hamiltonian_module.py 2.1 KB View Raw
- module_check.json 0.6 KB View Raw
- report.md 1.7 KB View
- results.json 3.0 KB View Raw
- symplectic_rollout.py 4.4 KB View Raw
- test_module.py 1.6 KB View Raw