问题标签 [gsl]

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 投票
2 回答
4075 浏览

c++ - 二项分布的随机数

我需要从二项式分布中快速生成大量随机数,以用于显着不同的试验规模(然而,大多数会很小)。我希望不必手动编写算法(例如,参见11 月的相关讨论),因为我是新手程序员,不喜欢重新发明轮子。看来 Boost 不提供二项分布变量的生成器,但TR1GSL做。是否有充分的理由选择一个而不是另一个,或者我根据自己的情况编写一些定制的东西更好?我不知道这是否有意义,但我将在整个程序中从均匀分布和二项分布生成数字之间交替,我希望它们共享相同的种子并最大限度地减少开销。对于我应该考虑的问题,我很乐意提供一些建议或示例。

0 投票
1 回答
713 浏览

iphone - 将 GSL 集成到 iPhone Xcode

我一直在尝试使用 Xcode 将 GSL (Gnu Scientific Library) 集成到 iPhone 项目中。

挑战在于 GSL 将所有模块放在不同的文件夹中,但是当它们的头文件被引用时,它们通常引用而不是 or 。

至少我可以使用 Xcode 的递归头文件搜索来找到它。但是,基本上找不到文件。

有没有人有一种简单的方法来解决分层 GSL 结构以编译成 Xcode?

我可以用繁琐的方法来修复所有#INCLUDE 行,但希望有更好的选择。这样,当社区进行更改时,我可以更轻松地更新 GSL。

注意:我发现 Xcode 需要找到正确的头文件位置(确保调整您的 TARGET Build 设置,而不仅仅是您的 Project Build 设置)。

0 投票
7 回答
3072 浏览

c - 在 GPU 上使用随机数

我正在研究使用 nvidia GPU 进行蒙特卡罗模拟。但是,我想使用 gsl 随机数生成器以及并行随机数生成器,例如 SPRNG。有谁知道这是否可能?

更新

我玩过使用 GPU 的 RNG。目前没有很好的解决方案。SDK 附带的 Mersenne Twister 并不真正适合(我的)蒙特卡罗模拟,因为生成种子需要非常长的时间。

NAG 库更有希望。您可以批量或在单个线程中生成 RN。但是,目前仅支持少数分布 - 均匀、指数和正态。

0 投票
3 回答
1187 浏览

c - 尝试在 GSL 中使用累积分布函数

嘿伙计们,我正在尝试使用 GSL(Gnu 统计库)计算 C 中公式的标准正态分布的累积分布函数

我已经安装并包含了 gsl,但无法理解如何使用它。

我认为我需要的功能是:

我的公式只有一个数字,我会传递给 cdf 函数,所以我不太确定在这里做什么。(这可能是因为我对统计的理解很糟糕)

我将不胜感激,任何人都可以帮助我了解如何使用带有一个输入变量的 gsl 来获取 cdf。

文档只说:

此函数从对数正态分布中返回一个随机变量。分布函数为

p(x) dx = {1 \over x \sqrt{2 \pi \sigma^2} } \exp(-(\ln(x) - \zeta)^2/2 \sigma^2) dx

对于 x > 0。

基本上,有人能解释一下 gsl_rng、zeta 和 sigma 应该是什么吗?

编辑:好的,我认为 zeta 应该是 0(mu)而 sigma 应该是 1(std dev)才能使其正常?那正确吗?什么是 gsl_rng?

0 投票
1 回答
555 浏览

python - 在 Python 中使用 Pygsl 和 GCC 4.0

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

我得到错误:

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

0 投票
2 回答
2258 浏览

python - 将 GSL(或其他库)静态链接到共享库

注意:尽管下面提到了 Python,但我的问题很可能与 Python 无关。如果我没记错的话,我提到的“模块”相当于一个 C 库——至少就我的问题而言。

在 Debian 上,我试图用 C 创建一个 Python 模块,而 C 又使用 GSL。以下 Makefile 成功编译它:

因为这个模块应该由我以外的(Linux)机器使用,所以我希望 GSL 包含在模块中(或随它一起提供)。

但是,如果我将-static选项添加到 Makefile 的最后一行,我会收到以下错误:

在库链接之前添加-Wl,-Bstatic会导致不同的错误:

其他不起作用的东西:使用 fPIC、-static-libgcc 重新编译 GSL,排列选项。我还没有尝试过使用 fPIC 或类似工具编译 gcc。

0 投票
4 回答
3279 浏览

c++ - 函数指针在 C++ 中用作闭包

C++ 中有没有一种方法可以有效地创建一个作为函数指针的闭包?我正在使用 Gnu 科学图书馆,我必须创建一个gsl_function。这个函数需要在我创建它时有效地“关闭”几个可用的参数。是否有一个很好的技巧来创建一个闭包,这样我就不必将所有这些作为参数传递给 gsl_function 结构?如果不是,我应该只传递一个指向包含这些参数的数组的指针吗?

编辑 我曾尝试像这样使用 boost::bind:

但我收到以下错误消息:

0 投票
3 回答
858 浏览

c++ - 在 C/C++ 中使用 GSL 将多边形投影到平面上

一般问题是将多边形投影到平面上已得到广泛解决,但我想知道是否有人可以为我的特殊情况提出一些建议。

我在 3 空间中有一个平面多边形 P,我想通过与单位向量 u 正交的原点将它投影到平面上。P 的顶点和 u 的坐标是我拥有的唯一数据(所有数据都是 R^3 的标准基础)。

但是,我不只是想要投影坐标。我实际上想找到与 u 正交的平面的正交基,然后在这个新基中找到投影顶点的坐标。

基础本身并不重要,只要它是正交的。所以我真的需要在 GNU 科学图书馆的框架内做两件事:

(1) 求与单位向量u正交的齐次平面的两个正交基向量。

(2) 求P 的顶点在平面上的投影在此基础上的坐标。

关于如何使用 gsl 执行此操作的任何想法?

0 投票
2 回答
7505 浏览

math - GSL/BLAS:将矩阵与逆矩阵相乘

我正在使用 GNU GSL 进行一些矩阵计算。我正在尝试将矩阵 B 与矩阵 A 的逆相乘。

现在我注意到 GSL 的 BLAS 部分具有执行此操作的功能,但前提是 A 是三角形的。这有什么具体原因吗?另外,进行此计算的最快方法是什么?我应该使用 LU 分解来反转 A,还是有更好的方法?

FWIW,A 具有 P' G P 的形式,其中 P 是正规矩阵,P' 是它的逆矩阵,G 是对角矩阵。

非常感谢:)

0 投票
3 回答
630 浏览

c++ - 复制构造函数的 const 正确性问题?

我正在尝试将 C 结构包装在 C++ 类中以利用内存管理等。我把这个结构变成了一个私人成员,并提供了一个公共功能来提供访问权限。返回类型是常量,因为所有将对象作为参数的函数都const在其签名中。

这一切都编译得很好。当我变得聪明并尝试添加复制构造函数时,就会出现问题。把它引入课堂,比如......

我收到以下编译器错误:

我在 Mac 上使用 g++。我已经尝试了不同的变体,但仍然无法弄清楚我是如何混淆编译器(或我自己!)。有趣的是,当我constrng().

有任何想法吗?

有关使用的函数的文档: 随机数生成,“环境变量”和“复制生成器”部分。