【发布时间】:2016-12-15 12:34:02
【问题描述】:
在 numpy 中有没有办法执行以下操作(或者是否有一个通用的数学术语):
假设正常点积:
M3[i,k] = sum_j(M1[i,j] * M2[j,k])
现在我想用 sum 其他运算替换 sum,比如最大值:
M3[i,k] = max_j(M1[i,j] * M2[j,k])
如您所见,它与上述完全平行,只是我们将max 放在所有j 上,而不是总和。
其他选项可以是min、prod,以及将序列/集合转换为值的任何其他操作。
【问题讨论】:
-
出于好奇:有谁知道这种概括是否有一个特殊的数学术语?也许这个问题已经在优化方面进行了研究......
-
dot是sum of products操作。有一个issue请求泛化np.einsum,这将让用户指定这两个操作。在艾弗森的APL中,内积写成A+.×B,可以用其他运算符代替+和x。
标签: python numpy max sequence dot-product