【发布时间】:2016-09-02 19:25:18
【问题描述】:
大家好,
这就是我想要做的。我有两个数组:
- rotation_matrices 包含 50 个二维旋转矩阵。每个旋转矩阵的形状为 (2,2)。因此,rotation_matrices 的形状为 (2,2,50)。
- vectors 包含 50 个二维向量。因此,它的形状为 (2,50)。
我想要(如果存在的话)一个单行 numpy 操作,它为我提供包含旋转向量的 (2,50) 数组,我们称之为 rotated_vectors。我的意思是 rotated_vectors 的第 k 个元素包含第 k 个旋转矩阵与第 k 个向量的乘积。
目前,我想出了以下循环:
for ind,elt in enumerate(np.arange(nb_of_vectors)):
rotated_vector[ind] = np.dot( rotation_matrices[:,:,ind], vectors[:,ind] )
我认为还有改进的余地。如果您有任何建议,欢迎您。
感谢您的宝贵时间。
捷豹
【问题讨论】:
标签: python arrays performance numpy matrix