首页 > 解决方案 > 是否有计算矩阵列的所有成对点积或向量列表中所有对之间的函数?

问题描述

假设你有 n。任意(但相等)长度为 m 的向量。是否有(numpy?)函数或快速方法来计算这些 n 之间的所有成对点积。载体?

我最初的想法是你可以计算 A T A 并取上三角部分,但我不确定矩阵乘法是否缓慢/计算密集。有没有更快/更有效的方法?或者我应该为所有对的组合使用 for 循环定义一个函数?

标签: pythonnumpy

解决方案


根据@Brenila 的评论,使用tensordot

np.tensordot(arr, arr, axes=(0,0))

结果形状(n, n)适用于n = arr.shape[-1]


推荐阅读