A JAX-based framework for building differentiable numerical simulators with arbitrary discretizations for physical systems.
Jaxdf is a JAX-based research framework for writing differentiable numerical simulators with arbitrary discretizations. It helps researchers construct numerical models for physical systems, like wave propagation or partial differential equations, that can be seamlessly integrated into JAX's differentiable programming ecosystem. The framework enables these models to be used as layers in neural networks or as components in physics-informed loss functions.
Researchers and computational scientists working on physics-informed machine learning, numerical simulation of PDEs, or differentiable programming who need flexible discretization schemes integrated with JAX.
Jaxdf provides a unique combination of arbitrary discretization support with JAX's automatic differentiation, enabling rapid prototyping of differentiable simulators for research. Unlike general-purpose libraries, it focuses specifically on bridging numerical methods with differentiable programming in a pure functional style.
A JAX-based research framework for writing differentiable numerical simulators with arbitrary discretizations
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Built directly on JAX, it enables models to be pure functions compatible with JIT compilation and automatic differentiation, as demonstrated in the example where gradients are computed using JAX's AD.
Supports arbitrary discretizations like Fourier spectral methods, allowing researchers to tailor numerical models to specific needs, as highlighted in the overview and example.
Aimed at aiding in constructing numerical models for physical systems, with a focus on easy experimentation and integration into machine learning pipelines, per the philosophy section.
Models are pure functions, aligning with JAX's philosophy for efficient parallelization and compilation, as noted in the key features.
Requires JAX to be installed separately, with additional steps for GPU support, making installation more cumbersome than all-in-one packages, as cautioned in the installation guide.
Presented at a workshop and research-focused, it may lack the stability, extensive documentation, and broad community support of established libraries like SciPy or deepXDE.
Tailored specifically for differentiable numerical simulation in JAX, it doesn't offer general-purpose numerical tools, which might limit usability outside research contexts.