gnu科学库(gsl)中odeiv2的python绑定。

pygslodeiv2的Python项目详细描述


Build statusBuild status on CircleCIBuild status on Travis-CIPyPI versionPython versionLicensecoverageZenodo DOI

pygslodeiv2提供了 Python绑定到 Ordinary Differential Equationodeiv2 interface公开的集成例程 GSL - GNU Scientific Library。 ODEIv2接口允许用户对微分方程组进行数值积分。

以下stepping functions可用:

  • RK2
  • RK4
  • RKF45
  • RKCK
  • RK8PD
  • RK1IMP
  • RK2IMP
  • RK4IMP
  • bsimp
  • msadams
  • msbdf

注意,所有隐式步进器(以“imp”结尾)和msbdf都需要用户提供 用于计算jacobian的回调。

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

文档

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

安装

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

$ conda install -c bjodah pygslodeiv2 pytest
$ python -m pytest --pyargs pygslodeiv2

测试应该通过。

此处提供二进制分布: https://anaconda.org/bjodah/pygslodeiv2,conda稳定释放配方可在此处获得: http://hera.physchem.kth.se/~pygslodeiv2/conda-recipes

此处提供源分发(需要gsl v1.16或v2.1共享库和头文件): https://pypi.python.org/pypi/pygslodeiv2(镜像文件保存在此处: http://hera.physchem.kth.se/~pygslodeiv2/releases

示例

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

>>>importnumpyasnp>>>frompygslodeiv2importintegrate_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):...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)...dfdt[0]=0...dfdt[1]=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,dt0,atol,rtol,...method='bsimp')# Implicit Bulirsch-Stoer>>>importmatplotlib.pyplotasplt>>>series=plt.plot(tout,yout)>>>plt.show()# doctest: +SKIP
https://raw.githubusercontent.com/bjodah/pygslodeiv2/master/examples/van_der_pol.png

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

许可证

源代码是开源的,在gnu gpl v3下发布。有关详细信息,请参见LICENSE。 欢迎投稿人在https://github.com/bjodah/pygslodeiv2

作者

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

  • Gmail地址:bjodah
  • KTH.SE地址:bda

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

推荐PyPI第三方库


热门话题
java类。getResource和ClassLoader。getSystemResource:有没有理由选择其中一个而不是另一个?   在Java中以编程方式粘贴后恢复剪贴板   Java字符串到日期没有时间   JavaSpring注释:@Component起作用,@Repository不起作用   java“addScript”在HSQL中是否有最大记录计数?   java如何将值从JDialog框返回到父JFrame?   java我的模块库的用户有没有办法访问尚未导出的类?   java javac:未找到命令   java如何解决jsoup错误:无法找到请求目标的有效证书路径   类中的java作用域变量   Java中集合实现中的arraylist add()方法不起作用   java如何使用while循环和从用户接收输入来近似Pi?   java Spring安全CSRF培训模式   在安卓系统中,如何通过在警报框外单击来限制用户?