Để tính tích ngoài (outer product) của hai vector, dùng numpy.outer(). Với vector a = [a0, a1, ..., aM] và b = [b0, b1, ..., bN], kết quả là ma trận (M+1) x (N+1) với phần tử [i, j] = a[i] * b[j]. Đầu vào tự động làm phẳng nếu không phải 1D.
Tham số
- a, b (array_like): Hai vector đầu vào.
- out (ndarray, tùy chọn): Vị trí lưu kết quả.
Các bước thực hiện
Nhập NumPy, tạo hai vector 1D:
import numpy as np
arr1 = np.array([5, 10, 15])
arr2 = np.array([20, 25, 30])
print("Vector 1...\n", arr1)
print("\nVector 2...\n", arr2)
print("\nSố chiều Vector 1...\n", arr1.ndim)
print("\nSố chiều Vector 2...\n", arr2.ndim)
print("\nHình dạng Vector 1...\n", arr1.shape)
print("\nHình dạng Vector 2...\n", arr2.shape)
# Tích ngoài
print("\nKết quả (Tích ngoài)...\n", np.outer(arr1, arr2))
Ví dụ hoàn chỉnh
import numpy as np
arr1 = np.array([5, 10, 15])
arr2 = np.array([20, 25, 30])
print("Vector 1...\n", arr1)
print("\nVector 2...\n", arr2)
print("\nSố chiều Vector 1...\n", arr1.ndim)
print("\nSố chiều Vector 2...\n", arr2.ndim)
print("\nHình dạng Vector 1...\n", arr1.shape)
print("\nHình dạng Vector 2...\n", arr2.shape)
print("\nKết quả (Tích ngoài)...\n", np.outer(arr1, arr2))
Kết quả đầu ra
Vector 1...
[ 5 10 15]
Vector 2...
[20 25 30]
Số chiều Vector 1...
1
Số chiều Vector 2...
1
Hình dạng Vector 1...
(3,)
Hình dạng Vector 2...
(3,)
Kết quả (Tích ngoài)...
[[100 125 150]
[200 250 300]
[300 375 450]]