Scientific Machine Learning for PDEs, made composable.
Scimba is a Python library implementing Scientific Machine Learning (SciML) methods for PDE problems — PINNs, Deep Ritz, neural Galerkin and neural semi-Lagrangian schemes — plus tools for hybrid numerical methods, with PyTorch and JAX backends.
Bridging classical and nonlinear approximation, in one framework.
Scimba explores how classical methods — finite elements, discontinuous Galerkin, reduced-order models — combine with nonlinear approaches — PINNs, neural operators, nonlinear manifold reduction — to push simulation toward greater accuracy and speed in high dimension.
Nonlinear approximation
PINNs
Physics-informed networks trained directly on the PDE residual.
Advanced optimizers
Adam, L-BFGS, SS-BFGS, SS-Broyden and natural-gradient methods for neural models.
Neural operators
Operator-learning architectures for parametric solution maps.
Linear approximation
DG / FEM
Discontinuous Galerkin and finite element spaces for classical, mesh-based discretizations.
Kernel methods
RBF and kernel-based approximation spaces.
ROMs
Reduced-order models built from snapshots of the solution manifold.
PIC / Lagrangian methods
Particle-in-cell and Lagrangian schemes for kinetic and transport problems.
Hybrid methods
Hybrid approximation spaces
Combine network-based and classical linear spaces within the same least-squares training loop.
Hybrid PIC
Particle-in-cell schemes augmented with neural approximation.
Hybrid ROMs
Reduced-order models enriched with nonlinear manifold corrections.
Pick the backend that fits your stack.
Both backends are documented in depth — head to the Code page for details.
Scimba Jax
A JAX-based, functional rewrite of Scimba — fast autodiff, vmap-friendly solvers, and a growing tutorial set.
Discover Scimba Jax →Scimba Torch
The original, fully-tested PyTorch backend — the place to start for production-grade SciML workflows.
Discover Scimba Torch →See Scimba in action.
A few of the example notebooks shipped with the library.