Để tính tích trong (inner product) của mảng và scalar, dùng numpy.inner(). Với mảng 2D và scalar, kết quả là nhân scalar với từng phần tử (tương tự broadcast). Đối với vector 1D, là tích vô hướng chuẩn.
Các bước thực hiện
Nhập NumPy, tạo ma trận đơn vị 5x5 và scalar:
import numpy as np
arr = np.eye(5) # Ma trận đơn vị 5x5
val = 2 # Scalar
print("Mảng...\n", arr)
print("\nKiểu dữ liệu...\n", arr.dtype)
print("\nSố chiều...\n", arr.ndim)
print("\nHình dạng...\n", arr.shape)
# Tích trong mảng và scalar
print("\nKết quả (Tích trong)...\n", np.inner(arr, val))
Ví dụ hoàn chỉnh
import numpy as np
arr = np.eye(5)
val = 2
print("Mảng...\n", arr)
print("\nKiểu dữ liệu...\n", arr.dtype)
print("\nSố chiều...\n", arr.ndim)
print("\nHình dạng...\n", arr.shape)
print("\nKết quả (Tích trong)...\n", np.inner(arr, val))
Kết quả đầu ra
Mảng...
[[1. 0. 0. 0. 0.]
[0. 1. 0. 0. 0.]
[0. 0. 1. 0. 0.]
[0. 0. 0. 1. 0.]
[0. 0. 0. 0. 1.]]
Kiểu dữ liệu...
float64
Số chiều...
2
Hình dạng...
(5, 5)
Kết quả (Tích trong)...
[[2. 0. 0. 0. 0.]
[0. 2. 0. 0. 0.]
[0. 0. 2. 0. 0.]
[0. 0. 0. 2. 0.]
[0. 0. 0. 0. 2.]]
Lưu ý: np.inner(arr, scalar) tương đương arr * scalar do broadcast rule.