什么是最快速的方法,以乘一个矩阵与一个数字数组的向量?我需要把矩阵A乘以1000个向量列表中的每一个向量。使用for循环花费的时间太长了,所以我想知道是否有一种方法一次将它们全部乘以?
示例:
arr = [[1,1,1], [1,1,1],[1,1,1]]
A=
[2 2 2]
[2 2 2]所以我需要对arr中的每一个v乘以Av。结果:
arr = [[6,6], [6,6], [6,6]]有没有比以下更快的方法:
new_arr = []
for v in arr:
sol = np.matmul(A, v)
new_arr.append(sol)发布于 2018-11-15 23:02:21
似乎你想要一个点产品:
new_arr = np.dot(arr, A.T)其中arr和A是numpy数组:
arr = np.array([[1,1,1], [1,1,1],[1,1,1]])
A = np.array([[2,2, 2],[2,2,2]])结果:
array([[6, 6],
[6, 6],
[6, 6]])根据您的编辑,您想要的点产品可能是:
new_arr = np.dot(A, arr).T两者返回相同的结果,但计算不一样。
https://stackoverflow.com/questions/53328768
复制相似问题