PHNN Theory and Port-Hamiltonian Formulation
Objectives
Understand the port-Hamiltonian formulation for dynamical systems
Learn how each sub-network (S, R, F) enforces physical constraints
Understand symmetric integration and why it matters
Know how separation of concerns enables modular inference
Prerequisites
This episode covers the mathematical foundations. You do not need to understand every equation to use the demonstrator – but understanding the structure will help you interpret results.
Port-Hamiltonian Systems
A pseudo-Hamiltonian system describes the time evolution of a state vector x as:
dx/dt = (S(x) - R(x)) * grad_H(x) + F(x)
Each term has a precise physical meaning:
Term |
Name |
Property |
Physical Role |
|---|---|---|---|
H(x) |
Hamiltonian |
Scalar function |
Total energy of the system |
S(x) |
Structure matrix |
Skew-symmetric |
Energy-conserving coupling |
R(x) |
Dissipation matrix |
Positive semi-definite |
Energy dissipation (damping) |
F(x) |
External force |
Unconstrained |
External energy input/output |
The key insight: S being skew-symmetric guarantees that x^T S x = 0, so the conservative part never creates or destroys energy. R being positive semi-definite guarantees that energy only decreases through dissipation.
Neural Network Architecture
Each term is parameterized by a separate neural network with built-in structural constraints:
graph TD
X[State x] --> H_NET[H-network<br/>Energy estimator]
X --> S_NET[S-network<br/>Skew-symmetric]
X --> R_NET[R-network<br/>Pos. semi-definite]
X --> F_NET[F-network<br/>External force]
H_NET --> GRAD[grad H]
S_NET --> STRUCT["(S - R)"]
R_NET --> STRUCT
STRUCT --> MULT["(S - R) * grad H"]
MULT --> SUM["+"]
F_NET --> SUM
SUM --> DXDT["dx/dt"]
style S_NET fill:#d4edda
style R_NET fill:#fff3cd
style F_NET fill:#d1ecf1
style H_NET fill:#f8d7da
S-network (Skew-Symmetric)
The S-network outputs a matrix that is anti-symmetrized:
S_out = A - A^T
This guarantees S = -S^T by construction, so energy is always conserved through this channel.
R-network (Positive Semi-Definite)
The R-network outputs a matrix that passes through a positive semi-definite projection:
R_out = B * B^T
This guarantees x^T R x >= 0, so energy can only decrease through dissipation – never increase.
F-network (External Force)
The F-network has no structural constraint. It learns arbitrary state-dependent forcing that can inject or remove energy from the system.
Separation of Concerns
graph LR
TRAINED[Trained PHNN] --> INF1["Inference: Full system<br/>(S - R) grad H + F"]
TRAINED --> INF2["Inference: Free system<br/>(S - R) grad H"]
TRAINED --> INF3["Inference: New force<br/>(S - R) grad H + F'"]
style INF1 fill:#d4edda
style INF2 fill:#fff3cd
style INF3 fill:#d1ecf1
Because each sub-network has a physical interpretation, you can:
Remove the external force at inference time to study the free (unforced) system
Swap in a different forcing function without retraining the model
Inspect the learned Hamiltonian to verify the energy landscape is plausible
Analyze dissipation to check which states lose energy and at what rate
This is impossible with a standard black-box neural network.
Symmetric Integration
Training uses a symmetric fourth-order integration scheme rather than standard Euler or RK4. This matters because:
Lower-order integrators (Euler, RK4) introduce systematic bias in energy estimates
With sparse or noisy training data, this bias corrupts the learned Hamiltonian
Symmetric integrators preserve the geometric structure of Hamiltonian systems
The phlearn package provides midpoint and symmetric integrators via the train() function.
Energy Budget
For a well-trained PHNN, the energy budget at each time step satisfies:
dH/dt = -grad_H^T * R * grad_H + grad_H^T * F
\___ dissipation ___/ \__ forcing __/
Without external force:
dH/dt <= 0(energy always decreases or stays constant)With external force: energy can increase or decrease depending on F
This is the fundamental guarantee that makes PHNNs physically valid.
Keypoints
Port-Hamiltonian systems decompose dynamics into conservative, dissipative, and external force terms
The S-network is anti-symmetrized by construction, guaranteeing energy conservation
The R-network is projected to positive semi-definite, guaranteeing non-negative dissipation
Symmetric integration preserves geometric structure during training
Separation of concerns allows modifying forces at inference time without retraining
The energy budget dH/dt = -grad_H^T R grad_H + grad_H^T F is guaranteed by architecture