Tôi muốn tính toán sản phẩm chấm theo hàng của hai ma trận có cùng kích thước nhanh nhất có thể. Đây là cách tôi đang làm nó:Cách tính véc-tơ hóa của hai hàng ma trận với Scipy
import numpy as np
a = np.array([[1,2,3], [3,4,5]])
b = np.array([[1,2,3], [1,2,3]])
result = np.array([])
for row1, row2 in a, b:
result = np.append(result, np.dot(row1, row2))
print result
và tất nhiên kết quả là:
[ 26. 14.]
là của bạn Python mã những gì bạn thực sự muốn? Bạn đang lấy sản phẩm dấu chấm của hàng đầu tiên và thứ hai của 'a' và sản phẩm dấu chấm của hàng đầu tiên và hàng thứ hai của' b', không phải là sản phẩm chấm của mọi hàng thứ i của 'a' và' b '. – jorgeca
như jorgeca đã nói, việc lập chỉ mục sai: trong đoạn mã bạn đang thực hiện: dấu chấm (a [0,:], a [1 ,:]), dấu chấm (b [0 ,:], b [1 ,: ]), xem http://stackoverflow.com/questions/1663807/how-can-i-iterate-through-two-lists-in-parallel-in-python – lib
Cảm ơn lời giải thích nhưng không có tôi thực sự đang tìm kiếm những gì tôi đã viết, tức là hai hàng nhân với cùng một chỉ mục. – Cupitor