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 语法定义函数,以实现最大效率。
相关
- 项目
- 项目
- 项目
- 项目
- 项目