问题标签 [pygsl]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
19433 浏览

python - 将刚性 ODE 与 Python 集成

我正在寻找一个可以在 Python 中集成僵硬 ODE 的好库。问题是,scipy 的 odeint有时会给我很好的解决方案,但初始条件的最轻微变化会导致它倒下并放弃。MATLAB 的刚性求解器(ode15s 和 ode23s)非常愉快地解决了同样的问题,但我不能使用它(即使是 Python,因为 MATLAB C API 的 Python 绑定都没有实现回调,我需要传递一个函数到 ODE 求解器)。我正在尝试 PyGSL,但它非常复杂。任何建议将不胜感激。

编辑:我在使用 PyGSL 时遇到的具体问题是选择正确的阶跃函数。其中有几个,但没有直接与 ode15s 或 ode23s 类似(bdf 公式和修改后的 Rosenbrock,如果有意义的话)。那么对于刚性系统来说,什么是好的阶跃函数呢?我必须对这个系统求解很长时间才能确保它达到稳态,而 GSL 求解器要么选择一个很小的时间步长,要么选择一个太大的时间步长。

0 投票
1 回答
139 浏览

python - PyGSL 中的 gsl_cdf_beta_Pinv() 在哪里?

我正在尝试在 Python 程序中使用分布函数(我已经弄清楚的随机函数;我正在专门寻找 gsl_cdf_beta_Pinv())但我找不到它。有人可以告诉我如何在程序中使用这些或快速替代方案吗?

谢谢,

马克·Ch。

0 投票
1 回答
555 浏览

python - 在 Python 中使用 Pygsl 和 GCC 4.0

我正在尝试使用最新版本的 GCC 安装 pygsl,即:

我得到错误:

知道可能是什么原因造成的吗?谢谢。

0 投票
1 回答
419 浏览

debian - debian 中的 pygsl

是否可以在 Debian 中安装 pygsl?我正在使用该软件包,而使用 Debian 的人不确定如何在不破坏其包装的情况下安装它(因为它不在 apt-get 中。)

0 投票
2 回答
561 浏览

python - 将 GSL ODE 求解器转换为 Python

我求解了一组对 ODE,我使用与此示例类似的 GSL ODE 求解器求解。目前这是通过在python中编写文件来自动化的,例如

然后用相关单词替换字符串text并写入文件script.c。然后我用os.system它来运行它,例如

所有这些都非常不雅,所以我一直在阅读有关替代品的文章,并且到目前为止偶然发现了 PyGSL、CythonGSL。这些似乎缺乏适当的文档,我还不够聪明,无法弄清楚它们是如何工作的!

任何建议将不胜感激。

0 投票
2 回答
1317 浏览

gcc - 如何安装 PyGSL?(Windows 7、64 位、Python 2.7、GSL 1.15)

我正在尝试在我的计算机(64 位 Windows 7)上安装 PyGSL,并安装了 Python 2.7 和 GSL 1.15。我几乎被困住了,我很想得到一些额外的帮助。GSL 安装得很好,但问题在于它的包装器。由于某种原因,我无法构建 pygsl。显然 gcc 是问题所在(在另一台 Windows 机器上遇到了同样的问题)。或者可能是 pygsl 似乎在使用名为 AMD64 的文件,而我的计算机是 x86。我很想为 pygsl 使用 windows 二进制文件,但它只存在于 python 2.5,我的项目需要 2.6 或更高版本。我已经为 GSL 使用了 windows 二进制文件并从源代码构建它,但无论哪种方式我都遇到了同样的问题。我尝试将 dll 从 GSL 复制到 pygsl 中,但这没有用。一些论坛提到了一个名为 gsl.dll 的文件,但我似乎找不到它。我'

我运行的cmds:

有任何想法吗??谢谢。

干杯,贝雷克帽

在 Cygwin 中得到与 windows cmd 提示符相同的消息。错误信息:

0 投票
1 回答
156 浏览

python-2.7 - gsl、pygsl、lmsder、内存泄漏、输出不一致

我正在使用 pygsl 的 multifit_nlin 模块进行非线性最小二乘拟合。pygsl 是 c 数值库 gsl 的 python 绑定。我遇到的问题似乎与 pygsl 或 gsl 无关,但它只出现在这种情况下。

我正在将函数的参数拟合到某些数据。要使用 pygsl 进行参数拟合,我需要定义函数及其 jacobian。然后multifit_nlin的fitter lmsder在拟合过程中需要时调用这两个函数。当我调用 jacobian 时,它会生成一个数字矩阵。我可以将此矩阵输出到屏幕上,并且我看到数字是正确的。接下来,我定义一个 lmsder 类并使用 lmsder.set 命令对其进行初始化。我使用 lmsder.getJ() 命令将雅可比矩阵输出到屏幕,我看到的数字与以前相同。当然,这不是我想要对我的代码执行的操作,仅用于说明和调试目的。

jacobian 和 lmsder.getJ() 的输出之间的一致性是您所期望的,因为 lmsder.getJ() 访问由 jacobian 函数生成的内存中的 jacobian 矩阵。但是,如果我插入一行代码,请说 print 'bob" (或其他任何内容),如下所示

其中 ... 表示适当的参数。然后 print solver.getJ() 打印一个矩阵,该矩阵是雅可比矩阵的转置,较低的行填充了随机内容。再说一次,这只发生在 set() 和 getJ() 调用之间有额外的代码行时。

如果我正常执行我的代码,即我拥有的整个拟合过程,代码可以正常工作。如果雅可比矩阵确实是 getJ() 命令所显示的内容,那么在很多地方都会引发异常。因此,我确定我的代码可以正常工作,并且因为我为参数获得的值是合理的。

我还跟踪了 pygsl 一直到 gsl 的 c 库的调用链。没有什么会导致这个问题。此外,gsl 已经存在了很长时间,并且像显示矩阵这样简单的东西在很久以前就已经修复了。

对可能导致此问题的原因有任何建议吗?垃圾收集器,导入语句的错误顺序,多核?我可以使用哪些工具来检查内存泄漏、垃圾收集过程?

谢谢,亚历山大

0 投票
0 回答
172 浏览

python - 版本冲突:pygsl 和 gsl

尝试使用pygsl库时出现此错误:

gsl安装在 1.16 版中。版本pygsl是 0.9.5 从头开始​​编译,我先安装 gslpygsl连接到最新版本的gsl. env没有关于 to或gsl的信息pygsl。出现此错误是因为编译的 gsl 版本与运行的 gsl 版本不一致。如何告诉 python 我要运行哪个版本的 gsl?无论如何,还有什么可能导致此错误,我该如何解决?

0 投票
1 回答
249 浏览

python - 在 osx 中安装 pygsl 时出现错误“cc”退出状态 1

我已经有了 gsl 库,当我尝试在我的 mac(OS X 10.10.3)中安装 pygsl 时,我得到了(我只发布了最后几行)

指示和错误的行是

我检查了有关“cc”问题的另一个答案,他们建议使用

接着

但不工作

我拥有的cc版本是: Apple LLVM version 6.0 (clang-600.0.57) (based on LLVM 3.5svn)

0 投票
2 回答
134 浏览

python - 错误:当我在 Ubuntu 12.04 上安装 pygsl 时,“gcc ...”失败,退出状态为 1

当我运行“python setup.py build”时,错误如下,gsl版本是gsl_1.16 pygsl版本是pygsl-2.3.0