Cho phép nói rằng tôi có ma trận A (KxMxN) và B (KxLxN), trong đó L, M, N nhỏ và K là một số lớn. Tôi muốn tính toán sản phẩm bên ngoài của việc sử dụng 2 kích thước cuối cùng dọc theo chiều thứ nhất để lấy ma trận C (KxMxL).Làm thế nào để tính toán hiệu quả các sản phẩm bên ngoài của hai loạt ma trận trong numpy?
tôi có thể làm điều này bằng cách chạy một vòng lặp for cho mỗi chỉ số k trong "K" và sử dụng chức năng matmul NumPy cho 2D ma trận
out = [np.matmul(x,y.T) for x, y in zip(A, B)]
out=np.asarray(out)
Tôi tự hỏi nếu tôi có thể làm điều đó mà không có sự cho vòng/hiểu như K là một số rất lớn.
Nó thực sự là một sản phẩm bên trong - trên một tập hợp các subarrays. Sản phẩm bên ngoài tăng kích thước và không tính tổng. – hpaulj