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

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

Subscript 'i,i' trong numpy.einsum() tính tích trong (inner product): nhân phần tử tương ứng và cộng tổng.

Ví dụ

import numpy as np

arr = np.arange(4)  # [0, 1, 2, 3]
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 trong: i,i -> scalar
result = np.einsum('i,i', arr, arr)
print("Tích trong:", result)

Kết quả

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

Kết quả = 0×0 + 1×1 + 2×2 + 3×3 = 0 + 1 + 4 + 9 = 14. Tương đương np.dot(arr, arr) hoặc np.inner(arr, arr).