patrick-kidger/diffrax

Numerical differential equation solvers in JAX. Autodifferentiable and GPU-capable. https://docs.kidger.site/diffrax/

What it solves

Diffrax 提供了一种在 JAX 生态系统中数值求解微分方程(特别是常微分方程 (ODE)、随机微分方程 (SDE) 与受控微分方程 (CDE))的方法。它使这些求解器具备自动微分能力并能在 GPU 上运行,这对于将基于物理的模型与机器学习结合至关重要。

How it works

基于 JAX 构建,该库使用统一的内部结构来处理不同类型的方程。它支持多种求解器(例如 Tsit5 与 Dopri8),允许状态以 PyTree 形式表示,并提供多种 adjoint 方法进行反向传播。由于是基于 JAX,几乎所有过程的每个部分(包括积分区间)都可以 vmappable。

Who it’s for

此库面向从事科学计算和 AI 的研究人员与开发者,特别是实现神经微分方程或需要高性能、可微分数值求解器的人。

Highlights

  • 支持 ODE、SDE 与 CDE 求解器。
  • 完全自动微分且兼容 GPU。
  • 整个库的操作均可 vmappable。
  • 支持神经微分方程。
  • 包含多样化的求解器,涵盖辛结构和隐式选项。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目