boost中odeint的python绑定。

pyodeint的Python项目详细描述


Build statusBuild status on CircleCIBuild status on Travis-CIBuild status on AppVeyorPyPI versionLicensecoveragehttps://zenodo.org/badge/41257136.svg

pyodeint提供了 Python绑定到odeint。 目前,以下步进器已曝光:

  • rosenbrock4:四阶rosenbrock(隐式多步)步进器
  • dopri5:5阶dopri5(显式runge kutta)
  • bs:bulirsch-stoer步进器(修改的中点规则)。

Rosenbrock4步进器要求用户提供 计算雅可比矩阵。

您可能还想知道可以使用pyodeintfrom pyodesys 它可以为你解析地导出雅可比(pyodesys也提供了 绘图功能,C++代码生成等等。

文档

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

安装

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

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

测试应该通过。

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

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

下面是如何从源代码构建的示例:

$ CPATH=/opt/boost_1_65_0/include python3 setup.py build_ext -i

示例

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

>>>frompyodeintimportintegrate_adaptive# also: integrate_predefined>>>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,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)...dfdt[0]=0...dfdt[1]=0...>>>y0=[1,0];tend=10.0;dt0=1e-8;t0=0.0;atol=1e-8;rtol=1e-8>>>tout,yout,info=integrate_adaptive(f,j,y0,t0,tend,dt0,atol,rtol,...method='rosenbrock4',nsteps=1000)>>>importmatplotlib.pyplotasplt>>>series=plt.plot(tout,yout)>>>plt.show()# doctest: +SKIP
https://raw.githubusercontent.com/bjodah/pyodeint/master/examples/van_der_pol.png

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

另请参见

pyodesys了解如何自动 生成jacobian回调函数(并轻松切换到其他解算器)。

许可证

源代码是开放源码的,在 “简化(2条款)BSD许可证”。有关详细信息,请参见LICENSE。 欢迎投稿人在https://github.com/bjodah/pyodeint提出改进建议

作者

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

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

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

推荐PyPI第三方库


热门话题
java在ArrayList中比较数字   java在Kotlin中使异步调用同步   让“Scala编程”junit示例在IntelliJ中工作的java问题   java Servlet侦听器未在ContextListener中设置属性   将Microsoft SQL Server数据库连接到我的Java项目   加载资源时出现java“需要注册工厂”异常   java如何使用POI检查excel中的重复记录?   java如何更改机器生成的代码   java如何确保重写的方法是同步的   用Spring编写Hibernate时的java XML奥秘   java管理mysql数据库中存储的用户权限   java如何运行。来自Javascript的jar方法   java我想在Web应用程序中进行身份验证&对桌面应用程序使用相同的凭据。我该怎么做?