GSL中是否有“numpy.minimum”等效项? 我正在把一个复杂的数据分析例程移植到Python,并将其“原型化”到C++。我在Python代码中广泛使用了Numpy。我正在考虑在C++端口中使用GSL,因为它实现了我需要的各种数值例程(而犰狳、本根等只有我需要的子集,尽管它们的API更接近我所寻找的)。p>

GSL中是否有“numpy.minimum”等效项? 我正在把一个复杂的数据分析例程移植到Python,并将其“原型化”到C++。我在Python代码中广泛使用了Numpy。我正在考虑在C++端口中使用GSL,因为它实现了我需要的各种数值例程(而犰狳、本根等只有我需要的子集,尽管它们的API更接近我所寻找的)。p>,c++,numpy,gsl,C++,Numpy,Gsl,GSL中是否存在与numpy.minimum等价的元素(即两个矩阵的元素最小值)?这只是我正在寻找的Numpy抽象的一个例子。在使用GSL时,这样的事情是否需要手动重新实现?我注意到GSL提供了以下内容: 双gsl\U矩阵最小值(常数gsl\U矩阵*m) 但这只是提供了整个矩阵的最小值。无论元素比较如何,似乎都不可能使用GSL报告单个矩阵特定轴上的最小值。这让我感到惊讶 我的期望是错的吗 您可以通过和函数在Armadillo中轻松实现元素最小值: mat A; A.randu(5,5); mat

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

双gsl\U矩阵最小值(常数gsl\U矩阵*m)

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


我的期望是错的吗

您可以通过和函数在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);
mata;A.randu(5,5);
材料B;B.randu(5,5);
umat指数=发现(B

对于Armadillo中不存在的其他函数,可以通过该函数将Armadillo矩阵与GSL函数连接起来。

正如我所指出的,Armadillo和Eigen都没有我需要的所有功能。我确实玩过Eigen(我想类似犰狳),很容易得到我需要的减少量。但是,我需要GSL来平衡。我将查看.memptr()并向您报告。请关注您的链接。这绝对适用于我!“获取指向用于存储元素的内存的原始指针。除非您知道自己在做什么,否则不建议使用!”