日晷库中cvodes的python绑定。

pycvodes的Python项目详细描述


Build status on private Drone serverBuild status on CircleCIBuild status on Travis-CIPyPI versionLicensecoveragehttps://zenodo.org/badge/43224425.svg

pycvodes提供了 Python绑定到 Ordinary Differential Equation 中来自cvodes的集成例程 SUNDIALS suitepycvodes允许用户进行数值积分 (系统)微分方程。请注意,敏感度分析的例程尚未在此绑定中公开(这使得 其功能与cvode基本相同)。

以下多步骤方法可用:

  • bdf:后向微分公式(1到5阶)
  • adams:隐式adams方法(顺序1到12)

注意,bdf(作为隐式步进器)需要用户提供 用于计算jacobian的回调。

您可能还想知道可以使用pycvodesfrom pyodesys 例如,可以解析地导出雅可比矩阵(使用同态)。pyodesys还提供 绘图功能,C++代码生成等等。

文档

最新稳定版本的自动生成API文档可在以下位置找到: https://bjodah.github.io/pycvodes/latest (当前主分支的开发版本如下: http://hera.physchem.kth.se/~pycvodes/branches/master/html)。

安装

最简单的安装方法是使用conda package manager

$ conda install -c conda-forge pycvodes pytest
$ python -m pytest --pyargs pycvodes

测试应该通过。

手动安装

此处提供二进制分布: https://anaconda.org/bjodah/pycvodes

源分发在以下位置可用: https://pypi.python.org/pypi/pycvodes

从源安装时,可以通过设置 环境变量PYCVODES_LAPACK,以后可以从python访问您的选择:

>>>frompycvodesimport_config>>>_config.env['LAPACK']# doctest: +SKIP'lapack,blas'

如果使用pip安装pycvodes请注意,您需要安装日晷 (及其开发头,启用了cvodes&lapack)在安装pycvodes之前。

示例

经典范德波尔振荡器(见examples/van_der_pol.py

>>>importnumpyasnp>>>frompycvodesimportintegrate_predefined# also: integrate_adaptive>>>mu=1.0>>>deff(t,y,dydt):...dydt[0]=y[1]...dydt[1]=-y[0]+mu*y[1]*(1-y[0]**2)...>>>defj(t,y,Jmat,dfdt=None,fy=None):...Jmat[0,0]=0...Jmat[0,1]=1...Jmat[1,0]=-1-mu*2*y[1]*y[0]...Jmat[1,1]=mu*(1-y[0]**2)...ifdfdtisnotNone:...dfdt[:]=0...>>>y0=[1,0];dt0=1e-8;t0=0.0;atol=1e-8;rtol=1e-8>>>tout=np.linspace(0,10.0,200)>>>yout,info=integrate_predefined(f,j,y0,tout,atol,rtol,dt0,...method='bdf')>>>importmatplotlib.pyplotasplt>>>series=plt.plot(tout,yout)>>>plt.show()# doctest: +SKIP
https://raw.githubusercontent.com/bjodah/pycvodes/master/examples/van_der_pol.png

有关更多示例,请参见examples/,并在此处显示Jupyter笔记本: http://hera.physchem.kth.se/~pycvodes/branches/master/examples

许可证

源代码是开源的,在简化的2条款bsd许可下发布。有关详细信息,请参见LICENSE

欢迎投稿人在https://github.com/bjodah/pycvodes提出改进建议

作者

比约恩·达尔格伦,联系人:

  • Gmail地址:bjodah

有关所有作者的列表,请参见根目录中的文件AUTHORS

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
使用jaxb2annotateplugin和XJC工具的java自定义注释   java组织。xeustechnologies。jcl无法加载WstxInputFactory类   java JUnit在格式化字符串上比较失败   java Bukkit配置部分getKeys   如何关闭Java流?   java Struts2正则表达式配置   链式事务注释的java奇怪行为   java在两个JButton之间使用变量   java签署APK时内容会发生什么变化?   java LWJGL:Slick:3D世界中的绘图字体   如何分解Java数组?   在Java MySql中处理多个过滤器   java如何在Firebase数据库中跳过初始OnChildaded事件触发   java如何在PreviewView中使用CameraX?   在子类#中重写父类后访问父类原始方法的java已解决   java找不到类型的属性   游戏框架游戏!框架+Java