gpt4 book ai didi

python - 广播矩阵向量点积

转载 作者:行者123 更新时间:2023-11-30 23:23:03 25 4
gpt4 key购买 nike

我在形状 (1222, 47, 47) 的 3-D 数组中收集了一组矩阵,在形状 ( 1222, 47) .

是否有一种广播方式将每个 [47x47] 矩阵与其相应的 [47] 向量相乘?对于完整的循环,这将是

numpy.vstack([A[n, :, :].dot(xb[n, :]) for n in range(A.shape[0])])

这对于 1222 个元素来说还可以,但稍后我可能会有更多。我尝试了 dotmatrix_multiplyinnerinner1d 结合使用是否符合要求转置,但我不太明白。这可以吗?

最佳答案

其中任何一个都可以:

matrix_multiply(matrices, vectors[..., None])
np.einsum('ijk,ik->ij', matrices, vectors)

但是没有人会利用高度优化的库。

在未来的某个时候,当 PEP 465已经实现,使用 Python >= 3.5 您应该能够简单地执行以下操作:

matrices @ vectors[..., None]

关于python - 广播矩阵向量点积,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24174045/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com