Một vị trí mà kết quả được lưu trữ. Nếu được cung cấp, nó phải có hình dạng khớp với chữ ký [n,k],[k,m]->[n,m]. Nếu không được cung cấp hoặc Không có, một mảng mới được phân bổ sẽ được trả về
**kwargsĐối với các đối số chỉ có từ khóa khác, hãy xem tài liệu ufunc .
Mới trong phiên bản 1. 16. Bây giờ xử lý ufunc kwargs
Trả về . y ndarraySản phẩm ma trận của các yếu tố đầu vào. Đây chỉ là một đại lượng vô hướng khi cả x1, x2 đều là vectơ 1 chiều
Tăng . Giá trịErrorNếu kích thước cuối cùng của x1 không cùng kích thước với kích thước từ thứ hai đến cuối cùng của x2
Nếu một giá trị vô hướng được truyền vào
Xem thêm
vdot
Sản phẩm chấm liên hợp phức tạp
________số 8Tính tổng các tích trên các trục tùy ý
einsum
Quy ước tổng kết Einstein
>>> a = np.array[[[1, 0], .. [0, 1]]] >>> b = np.array[[[4, 1], .. [2, 2]]] >>> np.matmul[a, b] array[[[4, 1], [2, 2]]]0
sản phẩm ma trận thay thế với các quy tắc phát sóng khác nhau
ghi chú
Hành vi phụ thuộc vào các đối số theo cách sau
Nếu cả hai đối số là 2-D, chúng sẽ được nhân giống như ma trận thông thường
Nếu một trong hai đối số là N-D, N > 2, thì nó được coi là một chồng ma trận nằm trong hai chỉ mục cuối cùng và phát sóng tương ứng
Nếu đối số đầu tiên là 1-D, thì nó được thăng cấp thành ma trận bằng cách thêm 1 vào thứ nguyên của nó. Sau khi nhân ma trận, 1 được thêm vào trước bị xóa
Nếu đối số thứ hai là 1-D, thì nó được thăng cấp thành ma trận bằng cách thêm 1 vào thứ nguyên của nó. Sau khi nhân ma trận, 1 được thêm vào sẽ bị xóa
>>> a = np.array[[[1, 0], .. [0, 1]]] >>> b = np.array[[[4, 1], .. [2, 2]]] >>> np.matmul[a, b] array[[[4, 1], [2, 2]]]1 khác với
>>> a = np.array[[[1, 0], .. [0, 1]]] >>> b = np.array[[[4, 1], .. [2, 2]]] >>> np.matmul[a, b] array[[[4, 1], [2, 2]]]0 ở hai điểm quan trọng
Phép nhân với số vô hướng không được phép, thay vào đó hãy sử dụng
>>> a = np.array[[[1, 0], .. [0, 1]]] >>> b = np.array[[[4, 1], .. [2, 2]]] >>> np.matmul[a, b] array[[[4, 1], [2, 2]]]
3Các chồng ma trận được phát cùng nhau như thể các ma trận là các phần tử, tôn trọng chữ ký
>>> a = np.array[[[1, 0], .. [0, 1]]] >>> b = np.array[[[4, 1], .. [2, 2]]] >>> np.matmul[a, b] array[[[4, 1], [2, 2]]]
4>>> a = np.ones[[9, 5, 7, 4]] >>> c = np.ones[[9, 5, 4, 3]] >>> np.dot[a, c].shape [9, 5, 7, 9, 5, 3] >>> np.matmul[a, c].shape [9, 5, 7, 3] >>> # n is 7, k is 4, m is 3
Hàm matmul triển khai ngữ nghĩa của toán tử
>>> a = np.array[[[1, 0], .. [0, 1]]] >>> b = np.array[[[4, 1], .. [2, 2]]] >>> np.matmul[a, b] array[[[4, 1], [2, 2]]]5 được giới thiệu trong Python 3. 5 sau PEP 465