横向约简操作的名称

Name of a transversal reduction operation?

本文关键字:操作 横向      更新时间:2023-10-16

我目前正在为矢量化操作编写一个高度模板化的C++帮助程序类,我需要特定操作的名称。

我已经有 2 个函数,其名称非常常见,取自矢量语言:

  • apply()将函数应用于向量的每个元素
  • reduce()对向量应用约简运算并返回标量

现在我想实现另一个函数,它是这两个函数的混合:它接受几个向量作为输入,并在每行上应用归约运算,并返回一个向量。

为了说明这一点,我们有:

  • apply(func, vec) -> 返回{func(vec[0]), func(vec[1]), ..., func(vec[n])}
  • reduce(func, vec) ->返回func(vec[0], vec[1], ..., vec[n])

和:

  • something(func, vec1, vec2, ..., vecn) ->返回{func(vec0[0], vec1[0], ..., vecn[0]), func(vec0[1], vec1[1], ..., vecn[1]), ..., func(vec0[n], vec1[n], ..., vecn[n])}

这个函数的通用名称是什么(一个简单的动词,如应用或减少)(如果存在这样的函数,则与其他向量语言兼容)?

也许我见过哈斯克尔用过的zip_with?