SciML/diffeqpy
Solving differential equations in Python using DifferentialEquations.jl and the SciML Scientific Machine Learning organization
解決的問題
diffeqpy 提供了一個高效率的介面,可在 Python 中直接求解各種微分方程。它彌補了 Python 的易用性與 Julia 語言 DifferentialEquations.jl 生態系統中先進且高效率的數值求解器之間的差距。
工作原理
該套件作為 DifferentialEquations.jl 的封裝。它允許使用者在 Python 中定義問題(例如 ODE、SDE 或 DAE),並使用 Julia 的核心例程執行。為最大化效能,它包含 de.jit 函數,可將 Python 的導數函數編譯為高效原生程式碼,並支援 seval 以直接使用 Julia 語法定義函數。它也與 juliacall 集成,用於處理質量矩陣和稀疏陣列等複雜類型。
適用對象
需要在 Python 中求解複雜微分方程,但又需要通常與高效能計算語言相關的速度與專用求解器選項(如 GPU 加速與集合求解)的研究人員、科學家與工程師。
主要特色
- 廣泛的方程式支援:可求解常微分方程(ODE)、隨機微分方程(SDE)、延遲微分方程(DDE)與微分代數方程(DAE),以及離散與混合方程式。
- GPU 加速:透過
DiffEqGPU支援在 GPU 上並行求解大型 ODE 集合。 - 效能最佳化:提供問題的 JIT 編譯,以減少內部迴圈的開銷。
- 多核心與平行處理:透過多種集合求解策略(序列、執行緒、分散式、SplitThreads)支援多 CPU 核心。
- 彈性整合:允許以 Python 或 Julia 語法定義函數,以達到最大效率。
相關
- 專案
- 專案
- 專案
- 專案
- 專案