Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Tích ngoài vectơ với quy ước Einstein summation trong Python

Sử dụng numpy.einsum() với subscript 'i,j' (không có chỉ số chung) để tính tích ngoài (outer product) của hai vectơ.

Ví dụ

import numpy as np

arr = np.arange(5)  # [0, 1, 2, 3, 4]
print("Mảng:", arr)
print("Số chiều:", arr.ndim)
print("Kiểu dữ liệu:", arr.dtype)
print("Kích thước:", arr.shape)

# Tích ngoài: vectơ [1,2] với arr
result = np.einsum('i,j', np.arange(2)+1, arr)
print("Tích ngoài:", result)

Kết quả

Mảng: [0 1 2 3 4]
Số chiều: 1
Kiểu dữ liệu: int64
Kích thước: (5,)
Tích ngoài: [[0 1 2 3 4]
 [0 2 4 6 8]]

Kết quả ma trận 2×5: hàng 1 là 1×arr, hàng 2 là 2×arr. Tương đương np.outer([1,2], arr).