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。
- 支援神經微分方程。
- 包含多樣化的求解器,涵蓋辛結構與隱式選項。