GSL中是否有“numpy.minimum”等价物

Is there a `numpy.minimum` equivalent in GSL?

本文关键字:minimum 等价物 numpy 是否 GSL      更新时间:2023-10-16

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

GSL 中是否存在等效的numpy.minimum(即,元素上至少有两个矩阵(? 这只是我正在寻找的 Numpy 抽象的一个例子。 在使用 GSL 时,是否只需要手动重新实现这样的事情? 我注意到GSL提供了以下内容:

double gsl_matrix_min (const gsl_matrix * m)

但这仅提供了整个矩阵的最小值。 无论元素比较如何,似乎都不可能使用 GSL 沿单个矩阵的特定轴报告最小值。 这让我感到惊讶。

我的期望是错位的吗?

您可以通过find((和.elem((函数在Armadillo中轻松实现元素最小值:

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);

对于犰狳中不存在的其他函数,可以通过 .memptr(( 函数将犰狳矩阵与 GSL 函数接口。