SplineFlow: Flow Matching for Dynamical Systems with B-Spline Interpolants
Organizations: CISPA Helmholtz Center for Information Security, Saarbrücken, Germany · Department of Computer Science and Technology, University of Cambridge, UK
Abstract
Flow matching is a scalable generative framework for characterizing continuous normalizing flows with wide-range applications. However, current state-of-the-art methods are not well-suited for modeling dynamical systems, as they construct conditional paths using linear interpolants that may not capture the underlying state evolution, especially when learning higher-order dynamics from irregular sampled observations. Constructing unified paths that satisfy multi-marginal constraints across observations is challenging, since naïve higher-order polynomials tend to be unstable and oscillatory. We introduce SplineFlow, a theoretically grounded flow matching algorithm that jointly models conditional paths across observations via B-spline interpolation. Specifically, SplineFlow exploits the smoothness and stability of B-spline bases to learn the complex underlying dynamics in a structured manner while ensuring the multi-marginal requirements are met. Comprehensive experiments across various deterministic and stochastic dynamical systems of varying complexity, as well as on cellular trajectory inference tasks, demonstrate the strong improvement of SplineFlow over existing baselines. Our code is available at: https://github.com/santanurathod/SplineFlow.
Figures & tables
| Model | Exp. | Harm. | Damp. | LV | Hopper. | Lorenz | |
| NeuralODE | |||||||
| LatentODE | |||||||
| MMFM | |||||||
| TFM | |||||||
| SplineFlow | |||||||
| LatentODE | – |
| Dataset | Model | MSE (SDE) | MMD | ||
|---|---|---|---|---|---|
| Exp-Decay | SF2M | ||||
| SplineFlow ( ) | |||||
| SF2M | |||||
| SplineFlow ( ) | |||||
| Damped Harmonic | SF2M | ||||
| SplineFlow ( ) |
| Dataset | Task | Model | MMD | Energy | |
|---|---|---|---|---|---|
| Brain Regeneration | Inter. | MOTFM | |||
| SF2M | |||||
| SplineFlow | |||||
| Extra. | MOTFM | ||||
| SF2M | |||||
| SplineFlow |
Appendix figures & tables62 assets
Supplementary material from the paper’s appendix.
Appendix
| Interpolant | Mathematical Form | Locality | Smoothness | Derivatives |
|---|---|---|---|---|
| Linear | Piecewise linear | Local | Discontinuous | |
| Cubic | Piecewise cubic | Global | Continuous | |
| Lagrangian | Global polynomial | Global | Smooth | Unstable |
| Chebyshev | Polynomial in basis | Global | Smooth | Stable |
| Hermite | Value+Derivative interpolation | Local | Noise-Sensitive | |
| B-spline | Local | Degree-Controlled | Stable |
| System | Linear | Non-linear | Oscillatory | Chaotic |
|---|---|---|---|---|
| Exponential Decay | ✓ | ✗ | ✗ | ✗ |
| Harmonic Oscillator | ✓ | ✗ | ✓ | ✗ |
| Damped Harmonic Oscillator | ✓ | ✗ | ✓ | ✗ |
| Lotka–Volterra | ✗ | ✓ | ✓ | ✗ |
| Lorenz System | ✗ | ✓ | ✗ | ✓ |
| Dynamical System | ODE | SDE (additive noise) | Model Use Case |
| Exponential Decay | First-order relaxation processes | ||
| radioactive decay, simple stable linear systems | |||
| mean-reverting stochastic dynamics (OU) | |||
| Harmonic | Oscillations near stable equilibria | ||
| LC circuits, linearized mechanical vibrations | |||
| Damped Harmonic | Damped mechanical vibrations |
| Dataset | Method | Time (s) |
|---|---|---|
| Exponential Decay | SplineFlow | |
| TFM | ||
| HopperPhysics | SplineFlow | |
| TFM |
| Model | Exp. | Harm. | Damp. | LV | Hopper | Lorenz | |
| NeuralODE | |||||||
| LatentODE | |||||||
| MMFM | |||||||
| TFM | |||||||
| SplineFlow (CV) | |||||||
| LatentODE | – |
| Setting | SplineFlow (CV) | SplineFlow | SF2M | |
|---|---|---|---|---|
| Exp. | ||||
| Damp. | ||||
| LV | ||||
| Setting | ||||
|---|---|---|---|---|
| Exp. | ||||
| Harm. | ||||
| Damp. | ||||
| LV | ||||
| Hopper | ||||
| Lorenz | – | – | – |
| Dataset | |||||||
|---|---|---|---|---|---|---|---|
| Exp. | |||||||
| Damp. | |||||||
| LV | |||||||
| Lorenz | |||||||
| Exp. | |||||||
| Damp. |
| Model | Exp-Decay | Harmonic | Damped Harmonic | Lotka–Volterra | HopperPhysics | Lorenz | |
| NeuralODE | |||||||
| LatentODE | |||||||
| MMFM | |||||||
| TFM | |||||||
| SplineFlow | |||||||
| LatentODE | – |
| Dataset | Model | MSE (P-ODE) | MSE (SDE) | Wasserstein | MMD | Energy |
|---|---|---|---|---|---|---|
| Exp. | SF2M | |||||
| SplineFlow | ||||||
| Damped. | SF2M | |||||
| SplineFlow | ||||||
| LV | SF2M | |||||
| SplineFlow |
| Dataset | Model | MSE (P-ODE) | MSE (SDE) | Wasserstein | MMD | Energy | |
|---|---|---|---|---|---|---|---|
| Exp. | SF2M | ||||||
| SplineFlow | |||||||
| SF2M | |||||||
| SplineFlow | |||||||
| SF2M | |||||||
| SplineFlow |
| Embedding | Task | Model | Wasserstein | MMD | Energy |
|---|---|---|---|---|---|
| PHATE | Interpolation | MOTFM | |||
| SF2M | |||||
| SplineFlow | |||||
| Extrapolation | MOTFM | ||||
| SF2M | |||||
| SplineFlow |
| Embedding | Task | Model | Wasserstein | MMD | Energy |
|---|---|---|---|---|---|
| PHATE | Interpolation | MOTFM | |||
| SF2M | |||||
| SplineFlow | |||||
| Extrapolation | MOTFM | ||||
| SF2M | |||||
| SplineFlow |
| Degree | ||||
|---|---|---|---|---|
| 1 | ||||
| 2 | ||||
| 3 | ||||
| 4 | ||||
| 5 |
| Degree | ||||
|---|---|---|---|---|
| 1 | ||||
| 2 | ||||
| 3 | ||||
| 4 | ||||
| 5 |
| Degree | ||||
|---|---|---|---|---|
| 1 | ||||
| 2 | ||||
| 3 | ||||
| 4 | ||||
| 5 |
| Degree | MSE | MSE | Wasserstein | MMD | Energy |
|---|---|---|---|---|---|
| 1 | |||||
| 2 | |||||
| 3 | |||||
| 4 | |||||
| 5 |
| Degree | MSE | MSE | Wasserstein | MMD | Energy |
|---|---|---|---|---|---|
| 1 | |||||
| 2 | |||||
| 3 | |||||
| 4 | |||||
| 5 |
| Degree | MSE | MSE | Wasserstein | MMD | Energy |
|---|---|---|---|---|---|
| 1 | |||||
| 2 | |||||
| 3 | |||||
| 4 | |||||
| 5 |
| Degree | MSE | MSE | Wasserstein | MMD | Energy |
|---|---|---|---|---|---|
| 1 | |||||
| 2 | |||||
| 3 | |||||
| 4 | |||||
| 5 |
| Degree | MSE | MSE | Wasserstein | MMD | Energy |
|---|---|---|---|---|---|
| 1 | |||||
| 2 | |||||
| 3 | |||||
| 4 | |||||
| 5 |
| Degree | MSE | MSE | Wasserstein | MMD | Energy |
|---|---|---|---|---|---|
| 1 | |||||
| 2 | |||||
| 3 | |||||
| 4 | |||||
| 5 |
| Degree | MSE | MSE | Wasserstein | MMD | Energy |
|---|---|---|---|---|---|
| 1 | |||||
| 2 | |||||
| 3 | |||||
| 4 | |||||
| 5 |
| Degree | MSE | MSE | Wasserstein | MMD | Energy |
|---|---|---|---|---|---|
| 1 | |||||
| 2 | |||||
| 3 | |||||
| 4 | |||||
| 5 |
| Degree | MSE | MSE | Wasserstein | MMD | Energy |
|---|---|---|---|---|---|
| 1 | |||||
| 2 | |||||
| 3 | |||||
| 4 | |||||
| 5 |
| Degree | MSE | MSE | Wasserstein | MMD | Energy |
|---|---|---|---|---|---|
| 1 | |||||
| 2 | |||||
| 3 | |||||
| 4 | |||||
| 5 |
| Degree | MSE | MSE | Wasserstein | MMD | Energy |
|---|---|---|---|---|---|
| 1 | |||||
| 2 | |||||
| 3 | |||||
| 4 | |||||
| 5 |
| Degree | MSE | MSE | Wasserstein | MMD | Energy |
|---|---|---|---|---|---|
| 1 | |||||
| 2 | |||||
| 3 | |||||
| 4 | |||||
| 5 |
| Degree | MSE |
|---|---|
| 1 | |
| 2 | |
| 3 | |
| 4 | |
| 5 |
| Degree | MSE | MSE | Wasserstein | MMD | Energy |
|---|---|---|---|---|---|
| 1 | |||||
| 2 | |||||
| 3 | |||||
| 4 | |||||
| 5 |
| Degree | Wasserstein | MMD | Energy |
|---|---|---|---|
| 1 | |||
| 2 | |||
| 3 | |||
| 4 | |||
| 5 |
| Degree | Wasserstein | MMD | Energy |
|---|---|---|---|
| 1 | |||
| 2 | |||
| 3 | |||
| 4 | |||
| 5 |
| Degree | Wasserstein | MMD | Energy |
|---|---|---|---|
| 1 | |||
| 2 | |||
| 3 | |||
| 4 | |||
| 5 |
| Degree | Wasserstein | MMD | Energy |
|---|---|---|---|
| 1 | |||
| 2 | |||
| 3 | |||
| 4 | |||
| 5 |
| Degree | Wasserstein | MMD | Energy |
|---|---|---|---|
| 1 | |||
| 2 | |||
| 3 | |||
| 4 | |||
| 5 |
| Degree | Wasserstein | MMD | Energy |
|---|---|---|---|
| 1 | |||
| 2 | |||
| 3 | |||
| 4 | |||
| 5 |
| Degree | Wasserstein | MMD | Energy |
|---|---|---|---|
| 1 | |||
| 2 | |||
| 3 | |||
| 4 | |||
| 5 |
| Degree | Wasserstein | MMD | Energy |
|---|---|---|---|
| 1 | |||
| 2 | |||
| 3 | |||
| 4 | |||
| 5 |
| Model | Exp. | Damp. | LV | Lorenz | |
|---|---|---|---|---|---|
| MMFM | |||||
| SplineFlow ( ) | |||||
| MMFM | – | ||||
| SplineFlow ( ) | – | ||||
| MMFM | – | ||||
| SplineFlow ( ) | – |
Flow Matching
Flow matching learns continuous-time vector fields that transport simple noise distributions into data for efficient generative modeling.
See all 656 papers