PHAST: Port-Hamiltonian Architecture for
Structured Temporal Dynamics Forecasting

1Department of Computer Science & Oden Institute, The University of Texas at Austin
2Mihawk.ai
arXiv 2026
PHAST vs baselines: animated rollouts across 8 physical systems

100-step open-loop rollouts across 8 physical systems. Blue = PHAST (Known), Green = PHAST (Partial), Red = GRU, Gold = S5, Purple = LinOSS, White = ground truth. PHAST tracks ground truth where baselines diverge.

TL;DR: We embed the port-Hamiltonian energy structure $\dot{x}=(J{-}R)\nabla H(x)$ into a neural architecture that decomposes dynamics into potential $V(q)$, mass $M(q)$, and damping $D(q)$. Across 13 benchmarks spanning 6 physical domains, this structure alone yields the best long-horizon stability—outperforming S5, GRU, Transformers, and other baselines by up to 105×.

Abstract

Real physical systems are dissipative—a pendulum slows, a circuit loses charge to heat—and forecasting their dynamics from partial observations is a central challenge in scientific machine learning. We address the position-only (q-only) problem: given only generalized positions $q_t$ at discrete times (momenta $p_t$ latent), learn a structured model that (a) produces stable long-horizon forecasts and (b) recovers physically meaningful parameters when sufficient structure is provided.

The port-Hamiltonian framework makes the conservative–dissipative split explicit via $\dot{x} = (J - R)\nabla H(x)$, guaranteeing $dH/dt \le 0$ when $R \succeq 0$. We introduce PHAST (Port-Hamiltonian Architecture for Structured Temporal dynamics), which decomposes the Hamiltonian into potential $V(q)$, mass $M(q)$, and damping $D(q)$ across three knowledge regimes (KNOWN, PARTIAL, UNKNOWN), uses efficient low-rank PSD/SPD parameterizations, and advances dynamics with Strang splitting.

Across thirteen q-only benchmarks spanning mechanical, electrical, molecular, thermal, gravitational, and ecological systems, PHAST achieves the best long-horizon forecasting among competitive baselines and enables physically meaningful parameter recovery when the regime provides sufficient anchors. We show that identification is fundamentally ill-posed without such anchors (gauge freedom), motivating a two-axis evaluation that separates forecasting stability from identifiability.

Three Knowledge Regimes, One Template

PHAST unifies three levels of prior knowledge under a single port-Hamiltonian template. The architecture is identical across regimes—only the component instantiations change.

KNOWN

$V(q)$: given from physics

$M(q)$: given from physics

$D(q)$: learned (PSD)

E.g., pendulum, RLC circuit, Lennard-Jones, heat exchange

PARTIAL

$V(q)$: template + learned $\tilde{V}$

$M(q)$: given

$D(q)$: learned (bounded)

E.g., double pendulum, N-body gravity, cart-pole

UNKNOWN

$V(q)$: neural network

$M(q)$: neural SPD net

$D(q)$: neural PSD net

E.g., predator-prey, black-box dynamics

Shared across all regimes: port-Hamiltonian state $x=(q,p)$ with conservative–dissipative split • passivity guarantee $dH/dt \le 0$ by construction • Strang-split symplectic integration • causal velocity observer for q-only input

Key Insight: Forecasting ≠ Identifiability

Windy Pendulum, Double Pendulum, and Cart-Pole system schematics with damping equations

These three systems form a progression of structural complexity: Windy Pendulum (1-DOF, scalar damping $d(\theta)$), Double Pendulum (2-DOF chain with configuration-dependent mass $M(q)$), and Cart-Pole (mixed topology $\mathbb{R} \times S^1$, per-DOF damping with two distinct mechanisms: constant cart friction $d_c$ and position-dependent angular wind damping $d(\theta)$).

A model that forecasts well need not recover the true physics—damping $D(q)$ can act as a “stabilizer” absorbing errors in $V$ or $M$, making the inverse problem non-identifiable without sufficient structure. PHAST exposes this via two evaluation axes:

  • Forecasting — rollout MSE at $H{=}100$: PHAST (PARTIAL) achieves the best forecasting across all three systems
  • Identifiability — damping $R^2_D$ vs. ground truth: PHAST (KNOWN) achieves near-perfect recovery ($R^2_D \approx 1$) on Pendulum and Double Pendulum

Baselines (S5, LinOSS, VPT) do not expose explicit damping fields—they can forecast, but cannot tell you why the system dissipates.

Rollout trajectories and phase portraits across mechanical systems
Rollouts & phase portraits: PHAST tracks ground truth in state and phase space.
Damping recovery and energy trajectories across three mechanical systems
Damping recovery & energy passivity: KNOWN regime recovers true $D(q)$.

Benchmark Systems

Evaluated across 13 benchmarks spanning 6 physical domains. The 8 systems below appear in the animated comparison above.

Results

Suite summary across thirteen q-only benchmarks. Best PHAST regime vs. best baseline (mean ± std over 5 seeds).

Benchmark Best PHAST Best Baseline Gain
Mechanical systems (rollout MSE at H=100)
Pendulum (conservative) 0.680 ± 0.043 PARTIAL 2.320 ± 0.224 (Transformer) 3.4×
Pendulum (damped) 0.017 ± 0.005 KNOWN 0.450 ± 0.241 (D-LinOSS) 26.5×
Pendulum (windy) 0.092 ± 0.014 PARTIAL 0.435 ± 0.239 (D-LinOSS) 4.7×
Cart-Pole (windy) 0.063 ± 0.019 KNOWN 0.431 ± 0.077 (S5) 6.8×
Oscillator (conservative) 0.0010 ± 0.0002 KNOWN 1.087 ± 0.299 (Transformer) 1.1×103
Oscillator (damped) 0.0011 ± 0.0003 PARTIAL 0.926 ± 0.254 (Transformer) 8.4×102
Double pendulum (conservative) 0.402 ± 0.047 PARTIAL 0.618 ± 0.028 (S5) 1.5×
Double pendulum (damped) 0.320 ± 0.032 PARTIAL 0.630 ± 0.031 (S5) 2.0×
Non-mechanical systems (next-step MSE)
RLC circuit 2.63×10−5 UNKNOWN 4.81×10−4 (Transformer) 18×
LJ-3 cluster 4.59×10−10 PARTIAL 2.05×10−4 (S5) 4.5×105
Heat exchange 2.42×10−6 KNOWN 4.46×10−4 (LinOSS) 1.8×102
N-body gravity 4.27×10−8 PARTIAL 1.83×10−3 (Transformer) 4.3×104
Predator–prey 0.0199 UNKNOWN 0.179 (Transformer) 9.0×

BibTeX

@article{bhardwaj2026phast,
  title   = {PHAST: Port-Hamiltonian Architecture for Structured
             Temporal Dynamics Forecasting},
  author  = {Bhardwaj, Shubham and Bajaj, Chandrajit},
  journal = {arXiv preprint},
  year    = {2026},
  url     = {https://arxiv.org/abs/2602.17998}
}