ferromotion-learn — differentiable, physics-informed learning for physical AI
Where [ferromotion_core] gives you the physics — rigid-body dynamics, variational integrators,
contact, estimation — this crate gives you the learning: the differentiable machinery for models that
blend physics priors with data. It is the on-device, pure-Rust, WASM-clean counterpart to the
PyTorch-based physics-informed-ML stacks: no BLAS, no Python, no GPU required.
The organizing idea (from the physics-informed ML literature) is that a physics prior can enter a learned model at one of three places:
- guided — in the data / features (engineered inputs, geometric projections);
- informed — in the loss (penalize violation of a differential equation — a PINN);
- encoded — in the architecture (Lagrangian/Hamiltonian nets, Neural ODEs, structure-preserving integrators).
Everything rests on one keystone: automatic differentiation. [autodiff] is reverse-mode (for
gradients of a scalar loss w.r.t. many parameters — backpropagation); [dual] is forward-mode (for exact
higher-order derivatives w.r.t. a model's inputs, which PINNs and Lagrangian nets need). Both are
verified against finite differences.