gpt4 book ai didi

c++ - GSL 中是否有 `numpy.minimum` 等价物?

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:55:55 25 4
gpt4 key购买 nike

我正在努力将我在 Python 中“原型(prototype)化”的复杂数据分析例程移植到 C++。我在整个 Python 代码中广泛使用了 Numpy。我正在考虑在 C++ 端口中使用 GSL,因为它实现了我需要的所有各种数值例程(而 Armadillo、Eigen 等只有我需要的一个子集,尽管它们的 API 更接近我正在寻找的为了)。

在 GSL 中是否有等同于 numpy.minimum 的东西(即两个矩阵的元素最小值)?这只是我正在寻找的 Numpy 抽象的一个例子。使用 GSL 时,像这样的事情是否必须手动重新实现?我注意到 GSL 提供了以下内容:

double gsl_matrix_min (const gsl_matrix * m)

但这只是提供了整个矩阵的最小值。不管元素方面的比较如何,使用 GSL 报告单个矩阵的特定轴上的最小值似乎是不可能的。这让我很吃惊。

我的期望有误吗?

最佳答案

您可以通过 find() 在 Armadillo 中轻松实现元素最小化。和 .elem()功能:

mat A; A.randu(5,5);
mat B; B.randu(5,5);

umat indices = find(B < A);

mat C = A;
C.elem(indices) = B.elem(indices);

对于 Armadillo 中不存在的其他函数,可以通过 .memptr() 将 Armadillo 矩阵与 GSL 函数连接起来。功能。

关于c++ - GSL 中是否有 `numpy.minimum` 等价物?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19160595/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com