YAML Metadata Warning:empty or missing yaml metadata in repo card
Check out the documentation for more information.
Metriplex
A neural layer class whose invariants hold exactly, per layer, to machine precision — the discrete, learnable form of GENERIC dynamics, built for physical AI: models that must roll out learned dynamics for long horizons without their physics unraveling.
Continuous-time metriplectic networks learn vector fields whose invariants hold in the continuous limit — and any integrator used in deployment introduces drift. MetriplecticLayer makes the invariant algebraic: one forward pass is one step of a metriplectic flow, and each channel's invariant holds for every parameter value, at every step, after any amount of training, because it is a property of the map itself.
Paper: manuscript.pdf (Nature Machine Intelligence
format). Every number in the paper reads from a committed JSON under
results/ — never hand-typed. Figures and results/summary.tex (the macro
file the manuscript is typeset from) regenerate with one script.
Live: project site on GitHub Pages
(https://sehajr-singhs.github.io/metriplex/); the committed
results on Kaggle
(https://www.kaggle.com/datasets/sehajrsingh/metriplex-results);
trained checkpoints (safetensors + model cards + zero-install usage.py)
and the papers on a Hugging Face model repo
(https://huggingface.co/Sejibeji/Metriplex); a mirror of the site
on Hugging Face Spaces
(https://sejibeji-metriplex.static.hf.space).
The layer
One discrete metriplectic step, three channels:
h' = h + Δt·Φ(h) − Δt·γ·F(h) [+ R(h), optional]
Φ(h) flux: h + W·φ(h) with 𝟙ᵀW = 0 → Σh' = Σh, exact, any φ
F(h) friction: Cayley transform of BBᵀ ⪰ 0 → ‖h'‖ ≤ ‖h‖, exact
R(h) rotation: Cayley transform of S = −Sᵀ → ‖h'‖ = ‖h‖, exact
γ gate: learnable, starts closed (σ ≈ 0); must be opened to
represent dissipation
- Balanced flux is the discrete-divergence form of a conservation law: the residual of the channel is an exchange, never a source or sink — the exact, learnable counterpart of divergence-free (Hamiltonian) flows.
- Metric friction is the second law as a structural fact: the map cannot
create "energy" out of nothing; the learned subspace
Bdecides where energy is dissipated, the sign is not learned. - The gate forces the model to decide, from data, whether its world is open. Conservative systems leave it closed; dissipative systems open it.
The same class instantiates as an MLP (depth is integration time), an RNN (the layer is the cell, applied every rollout step), and a GNN (flux message passing on a mesh — the predicted field conserves mass).
What survived contact with the mathematics
- Exactness survives training and deployment. Latent drift sits at the machine-precision floor for every metriplectic model — ~10⁻¹³ in structural float64 measurement, ~10⁻⁷ in float32 deployment. Baselines have no conserved quantity by construction, so there is nothing to measure on their side: that is the point. On advection–diffusion the invariant is physical: the metriplectic GNN conserves the predicted field's mass to ~10⁻¹³ while the plain GNN with identical data and parameters leaks a substantial fraction of it.
- Structure shows in the shape of the error curve, not its height. NeuralODE, a continuous-time map in the raw state space, is the tightest one-step fitter on these smooth small-state ODE benchmarks; the metriplectic model sits in the MLP-family band. On the spring its horizon growth ratio is far below NeuralODE, LSTM, and HNN and of the same order as ResMLP; on damped spring the error is essentially flat with horizon (metriplectic ≈ ResMLP ≈ NeuralODE), while the LSTM compounds.
- Channel choice is the physics of the target system. The exact ablation isolates it: on the spring, the channel that matches the physics wins: circulation (conserving the energy-like ‖h‖) fits measurably better than flux (0.457 vs 0.585); on Kepler the same switch hurts (1.373 vs 0.396), because circulation conserves the wrong quantity there. Structure matters exactly when it matches — and measurably when it does not.
- The friction gate is born closed and stays closed on these data. The measured gates end at σ(γ) ≈ 0.003 even on the damped spring: the flux channel alone suffices to fit the transitions. The guarantee that survives is the sign of the channel — the friction map is a contraction wherever the gate sits, so the model can never represent a growing latent norm.
- Recurrent long-horizon stability. The metriplectic RNN (reversible channel as the cell, skew generator conditioned on the physical parameters) conserves its latent norm step after step over 2× the training horizon (~3.8×10⁻¹⁶): the Cayley map is orthogonal for every parameter value, so the state is bounded forever by construction. The LSTM fits the transitions more tightly on this benchmark (0.44 vs 0.95 final error), but its latent carries no conserved quantity — nothing about its long-horizon behavior is guaranteed.
Measured results (nothing extrapolated; medians over 5 seeds, per-seed values committed)
| Claim | Where |
|---|---|
| Latent drift, structural (float64) | ~10⁻¹³, all metriplectic models |
| Field mass drift, metriplectic GNN vs plain GNN | ~10⁻¹³ vs ~10⁻¹ on advection–diffusion |
| One-step fidelity | NeuralODE is tightest; metriplectic in the MLP band (reported plainly) |
| Horizon growth ratio (spring) | far below NeuralODE/LSTM/HNN, comparable to ResMLP |
| Channel choice | circulation matches the spring's energy-like invariant (0.457 vs 0.585); hurts on Kepler (1.373 vs 0.396) |
| Friction gate | born closed; measured ≈ 0.003 on damped spring |
| RNN over 2× horizon | metriplectic: norm exact (~3.8×10⁻¹⁶), bounded by construction; LSTM fits tighter (0.44 vs 0.95) but no conserved quantity |
| Data efficiency | invariant exact at every budget (25/50/100%) |
| Higher-dimensional payoff | tightest MLP-family baseline on 6-D coupled springs (HNN included); lowest horizon growth on the chaotic double pendulum (3.9 vs 5.8 NeuralODE / 8.3 HNN) |
Repo layout
manuscript.tex / .pdf the paper (NMI format)
ieee_paper.tex / .pdf the paper (IEEE format)
supplementary_information.tex / .pdf
index.html the project website
src/metnet/ layers.py (the class + theorems), models.py,
benchmarks.py, train.py, test_metnet.py
scripts/ run_experiments.py, make_figs.py,
train_lightning.py (PyTorch Lightning training),
export_models.py (train + export the headline
models to safetensors)
export/ trained checkpoints: model.safetensors + config.json
+ per-model cards + usage.py (zero-install demo)
results/ committed result JSONs + manifest + summary.tex
tests/ the invariant theorems, float64 + float32 floor
figs/ regenerated by scripts/make_figs.py
Reproduce
pip install -r requirements.txt
python -m unittest tests.test_metnet # 17 tests: the theorems, pinned
python scripts/run_experiments.py --seeds 3 # all benchmarks, ablations,
# data efficiency, RNN stress
python scripts/make_figs.py # figures + results/summary.tex
cd .. && pdflatex manuscript.tex # the paper
# the same protocol on PyTorch Lightning (CPU / GPU / distributed with one flag):
python scripts/train_lightning.py --bench spring --seeds 3 --epochs 100
# train + export the headline models to safetensors (also on Hugging Face):
python scripts/export_models.py
Honest gaps
The friction channel contracts the state norm — the right structure for these benchmarks, but not the full GENERIC degeneracy. The conserved quantity is a learned latent invariant: the layer guarantees that some quantity is conserved exactly, and the network must discover the physically meaningful one (the field GNN is the case where the invariant lives in the predicted state and is therefore physically exact). Extending exactness from latent structure to named physical invariants is the central open problem.
License
MIT — see LICENSE.