问题标签 [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 回答
7836 浏览

c++ - 如何使用 gsl 在 C++ 上实现左矩阵除法

我正在尝试将 MATLAB 程序移植到 C++。我想在矩阵A和列向量之间实现左矩阵除法B

A是一个不等于的m-by-n矩阵,并且是一个带有分量的列向量。mnBm

我希望结果X = A\B是对方程组的欠定或超定系统的最小二乘解AX = B。换句话说,X最小化norm(A*X - B),向量的长度AX - BA\B这意味着我希望它具有与MATLAB中相同的结果。

我想在 GSL-GNU(GNU 科学图书馆)中实现这个功能,但我对数学、最小二乘拟合或矩阵运算知之甚少,有人能告诉我如何在 GSL 中做到这一点吗?或者如果在 GSL 中实现它们太复杂,有人可以建议我一个提供上述矩阵运算的开源 C/C++ 库吗?


好的,在又花了 5 个小时后,我终于自己弄清楚了。但仍然感谢您对我的问题提出的建议。

假设我们有一个 5 * 2 矩阵

和一个向量b = [1.8388,2.5595,0.0462,2.1410,0.6750]

的解决方案A \ b

0 投票
1 回答
1566 浏览

cmake - 在 Windows 7 中添加环境变量

我正在尝试使用 CMake,我需要在 Windows 7 中添加一个环境变量 GSL_ROOT_DIR,以便 %GSL_ROOT_DIR%\include 包含 GSL 头文件,而 %GSL_ROOT_DIR%\lib 包含 GSL 库。你能告诉我我该怎么做吗?

0 投票
5 回答
4485 浏览

c - 在另一个发行版中运行 C 可执行文件

我有一个使用 Ubuntu 11.10(Linux 版本 3.0.0-12-generic-pae 内核)开发的 C 程序。我需要在安装了 Debian 3.1(Linux 版本 2.4.24-om2)并使用 Intel(R) Pentium(R) 4 CPU 3.20GHz 处理器的集群中运行该程序。

问题是我无法在 Debian 集群中编译,因为它没有安装我的程序需要的 GSL 库,而且我不知道如何在没有 root 权限的情况下安装它(或使用它)。

如果我尝试运行我在 Ubuntu 中编译的可执行文件(或者一个简单的hello world程序,对于这种情况),它也不起作用,即使我使用在集群上执行时抛出的所有 gcc 选项进行编译:

当我尝试执行在 Ubuntu 中编译的程序时,它会抛出:

更新:当我使用 -static 标志编译时,我得到的错误是:

那么我能不能做一些比重新实现我正在使用的 GSL 的所有功能更好的事情。

0 投票
1 回答
1429 浏览

rubygems - 当我尝试安装 gems 时,我通常会收到此错误

我是 Ruby 和 Gems 的新手,所以我可能会遗漏一些明显的东西:

我收到了几个 Gems 的错误,其中包括 Ruby GSL。

我正在运行 Mac OS 10.7.2、Ruby 1.8.7 和 XCode 4.2,如果这很重要的话。

完整的控制台输出:

0 投票
1 回答
568 浏览

python - 适用于 x86_64 的随机数生成器

这个问题是关于在 Mac OSX 10.7 (Lion) 系统上使用 Cython(在 Python 3.2 下)中的 GNU 科学图书馆的随机数生成器。

由于 Lion 是 64 位操作系统,安装程序给了我一个 64 位版本的 Python。我已经成功安装了 Cython (v0.15.1) 和 numpy (v1.6.1)。

我想从这里复制 Flavio Coelho 的示例,使用 C 库来让“Python”代码以 C 速度运行。Flavio 使用 Gnu Scientific Library 的随机数生成器的方式似乎在 64 位环境中不起作用(对我来说!)。这是我在编译期间收到的错误消息(实际上,我认为它是在编译后,在链接期间出现的,但我不是 C 专家):

有人可以告诉我如何解决吗?

0 投票
2 回答
636 浏览

c - ansi C程序中的直方图函数:GSL和/或其他?

如果我只想使用gsl_histogram.hGnu Scientific Library (GSL) 中的库,我可以将它从安装了 GSL 的现有机器 (Mac OS Snow Leopard) 复制到未安装 GSL 的另一台机器 (Linux CentOS 5.7) ,并且只#include <gls_histogram.h>在我的 c 程序中使用一个语句?这行得通吗?

或者,即使我只需要这个库,我是否必须在 Linux 机器上完成 GSL 的完整安装?

0 投票
2 回答
861 浏览

c++ - 在 C++ 中将向量设置为矩阵算法帮助

我有一个包含 M*N 元素的数组 X,我正在尝试使用相同的数据创建一个大小为 M x N 的矩阵 A。我使用 gsl 作为矩阵,并且 X 被声明为一个数组。我遇到了麻烦,我一直在矩阵中重叠。

这是我正在尝试做的一个例子:

0 投票
1 回答
556 浏览

c++ - 具有频率范围的 DFT

我们需要更改/重新实现 GSL 中的标准 DFT 实现,即

在这个实现中,GSL 对输入向量迭代两次以获得样本/输入大小。但是,我们需要为不同的频率仓构建。例如,我们有 4096 个样本,但我们需要计算 128 个不同频率的 DFT。你能帮我定义或实现所需的 DFT 行为吗?提前致谢。

编辑:我们不搜索第一个m频率。

实际上,以下方法对于查找具有给定频点编号的 DFT 结果是否正确?N = 样本大小 B = 频率区间大小

编辑:我可能没有详细解释 DFT 的问题,但是,我很高兴在下面提供答案:

0 投票
1 回答
5363 浏览

c++ - How to use the GSL implementation of the Pearson correlation coefficient?

I have two vectors of floats, x and y, and I want to compute the Pearson correlation coefficients. As I have to do it on a lot of data (for instance 10 millions different vectors x and 20 thousand different vectors y), I am using C++, and more specifically the gsl_stats_correlation function from the GSL.

Here is my C++ code:

It compiles successfully (gcc -Wall -g pearson.cpp -lstdc++ -lgsl -lgslcblas -o pearson) but when I run it here is the output:

While obviously the results should not be exactly 1, as shown with the following R code:

What am I missing?

0 投票
3 回答
2508 浏览

python - 链接外部 C 库时来自 Cython 的 ImportError

我正在尝试复制 Flavian Coelho 的作品,链接在这里。他使用 Cython 和 Gnu Scientific Library (GSL) 在生成随机数方面比 Python 获得了巨大的加速。当我在 Python 中导入已编译的 Cython 代码时(使用 command import cgibbs),我收到以下错误:

您会注意到投诉是_gsl_rng_mt19937找不到该符号。我试图链接的函数被调用gsl_rng_mt19937(没有前导下划线),这就是它在我的.pyx文件中的显示方式。我认为 Cython 通过添加前导下划线以某种方式引起了问题。

为了使故障排除更容易,我已经剥离了代码并将其发布在下面。我的系统是:运行 Python 2.7.2(32 位)的 Mac OSX 10.7(Lion)、gcc-4.0(我用来编译 32 位形式的 GSL 库)、GSL 1.15 和 Cython v0.15.1。

这是 cgibbs.pyx 的内容:

如果我注释掉我的最后一行,错误就会消失cgibbs.pyx,但是我实际上不能使用外部库......您可以提供的任何见解都将受到赞赏。谢谢!