Symplectic Recurrent Block / report.md
Mechanism confirmed, baseline not beaten
Эксперимент: Symplectic Recurrent Block (#1425)
{ "worked": true, "confidence": 9, "verdict": "Built a PyTorch learned separable-Hamiltonian SymplecticBlock with leapfrog substeps and a deterministic nonlinear oscillator verification. The core claim was clearly observed: leapfrog had Jacobian determinant 1.0, bounded norm, and small bounded energy error over 10,000 steps, while Euler had determinant 1.06352 and diverged rapidly. A tiny learned one-step regression also showed a slight MSE improvement, but with substantially more parameters, so the practical accuracy win is only a weak signal.", "metrics": { "baseline": "Explicit Euler: Jacobian determinant 1.06352; at h=0.1 diverged at step 189 with maximum energy error 7.39e264; at h=0.2 diverged at step 58.", "idea": "Leapfrog: Jacobian determinant 1.0; over 10,000 steps maximum norm 1.134 and maximum absolute energy error 0.00173 at h=0.1, with no divergence. Learned one-step MSE was 0.00823 versus 0.00885 for the Euler analogue, using 355 versus 164 parameters." }, "how_to_run": "/home/maxwelhelp/main/bin/python3 experiment.py", "files": [ "symplectic_block.py", "experiment.py", "results.json" ], "limitations": "Only a toy nonlinear oscillator and tiny one-step regression were tested. No sequential-MNIST, Transformer, multilayer residual benchmark, matched-FLOP comparison, repeated training seeds, or GPU speed measurement was performed. The learned symplectic block is more expensive because it computes internal Hamiltonian gradients with autograd." }