diffrax  by patrick-kidger

JAX library for numerical differential equation solvers

created 4 years ago
1,704 stars

Top 25.5% on sourcepulse

GitHubView on GitHub
Project Summary

Diffrax is a JAX-based library for numerical differential equation solvers, targeting researchers and engineers working with ODEs, SDEs, and CDEs. It offers autodifferentiation and GPU acceleration, enabling efficient training of neural differential equations and providing dense solutions with various adjoint methods for backpropagation.

How It Works

Diffrax unifies the solution of Ordinary, Stochastic, and Controlled Differential Equations within a single, tightly-written library. This approach leverages JAX's capabilities for vmappable operations, allowing for flexible integration regions and PyTree-based state management. It supports a wide array of solvers, including adaptive methods like Tsit5 and Dopri8, symplectic solvers, and implicit solvers, all designed for efficient autodifferentiation.

Quick Start & Requirements

Highlighted Details

  • Supports ODE, SDE, and CDE solvers.
  • Features vmappable integration regions and PyTree states.
  • Offers multiple adjoint methods for backpropagation.
  • Enables training of neural differential equations.

Maintenance & Community

The project is primarily maintained by Patrick Kidger. Further community engagement details are not explicitly provided in the README.

Licensing & Compatibility

The library is available under an unspecified license. The README does not detail any restrictions on commercial use or closed-source linking.

Limitations & Caveats

The README does not specify any limitations, known bugs, or alpha status. The license is not explicitly stated, which may require further investigation for commercial applications.

Health Check
Last commit

3 days ago

Responsiveness

Inactive

Pull Requests (30d)
5
Issues (30d)
8
Star History
95 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.