python - 如何在 Python (cuPy/Numpy) 中将行与相应的列相乘?

标签 python python-3.x numpy cupy

我需要将每一行与相应行索引处的一列相乘。考虑下面的图形,其中我有一个 3 x 3 矩阵。所需操作是将矩阵的row[0]transpose_matrixcol[0]相乘,row[1] 的矩阵和 col[1]transpose_matrix,依此类推。

enter image description here

问题:如何在 cupPy/Numpy Python 中以智能方式实现它(即不使用 for 循环)?

最佳答案

看起来像你想要的:

out = (A**2).sum(axis=1)

示例:

# input
array([[1, 2, 3],
       [4, 5, 6],
       [7, 8, 9]])

# output
array([ 14,  77, 194])

因为您想要每行的等价于 sum(1*1 + 2*2 + 3*3)

如果 A 和 B 是不同的矩阵,则使用:

out = (A*B.T).sum(axis=1)

关于python - 如何在 Python (cuPy/Numpy) 中将行与相应的列相乘?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/77257710/

相关文章:

python - 给定所需元素列表,如何从列表中选择最佳(成本)卖家团队

python - 如何使用 BeautifulSoup 在 Python 中解析谷歌搜索结果

python - 如何根据 x,y 值推断函数?

numpy - 来自两个概率分布组合的样本数据

python - 如何将一个字符串分成3组,然后相应地打印到组中?

python - 跨 numpy 矩阵的映射函数

python - 如何检查for循环中的特定值然后结束它?

Python telnetlib 读取函数返回的数据比预期多

python - 如何更新/更改 Python 版本?

python - 如何在 matplotlib 中将 rc 参数 `usetex=True` 与其他字体一起使用