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 Hibernate@ManyToMany mapping只在一个方向上在数据库中添加记录   java将文件上载到tomcat服务器外部的文件夹   java将摄像头捕获的图像上传到服务器   java如何创建Rest API并为进程添加时间延迟?   springmodulesvalidation0中缺少java注释包。8a源文件   如何在java中打印SOAP头   Spring security中的java自定义消息,包括UserDetailsService实现和异常   java如何使用Htmlunit中的表单数据登录站点   web如何在WildFly上自动运行java文件   java如何从已经使用另一个方法传递的参数的方法中获取返回值?   java我在JFrame上有一个索引越界。setContentPane   java中的循环序列/系列打印   java maven 3 webapp没有要运行的测试吗?   java CORS不允许POST请求   java再次在派生类中的Jackson中添加字段,该字段在基类中被忽略   爪哇坑测试显示仆从由于超时而异常退出   java寻找第10001个素数   java jboss是否更改web应用程序上下文根?