Computer >> Máy Tính >  >> Lập trình >> Python

Tích bên trong vectơ với quy ước tổng kết Einstein bằng Python

Để tính tích bên trong của vectơ với quy ước tổng kết Einstein, hãy sử dụng phương thức numpy.einsum () trong Python. Tham số đầu tiên là chỉ số con. Nó chỉ định các chỉ số con cho danh sách các nhãn chỉ số con được phân tách bằng danh sách tổng hợp ascomma. Tham số thứ 2 là các toán hạng. Đây là các mảng cho hoạt động.

Phương thức einsum () đánh giá quy ước tổng kết Einstein về các toán hạng. Sử dụng quy ước tính tổng củaEinstein, nhiều phép toán mảng đại số tuyến tính, đa chiều phổ biến có thể được biểu diễn theo cách đơn giản. Trong chế độ ngầm định, einsum tính toán các giá trị này.

Ở chế độ rõ ràng, einsum cung cấp tính linh hoạt hơn nữa để tính toán các phép toán mảng khác mà có thể không được coi là các phép tính tổng của Einstein cổ điển, bằng cách vô hiệu hóa hoặc buộc các nhãn chỉ số con được chỉ định tổng hợp.

Các bước

Đầu tiên, hãy nhập các thư viện được yêu cầu -

import numpy as np

Tạo một mảng numpy bằng phương thức arange () và reshape () -

arr = np.arange(4)

Hiển thị mảng -

print("Our Array...\n",arr)

Kiểm tra các thứ nguyên -

print("\nDimensions of our Array...\n",arr.ndim)

Lấy Datatype -

print("\nDatatype of our Array object...\n",arr.dtype)

Lấy hình dạng -

print("\nShape of our Array object...\n",arr.shape)

Để tính tích bên trong của vectơ với quy ước tính tổng Einstein, hãy sử dụng phương thức numpy.einsum () -

print("\nResult (inner product)...\n",np.einsum('i,i', arr, arr))

Ví dụ

import numpy as np

# Creating a numpy array using the arange() and reshape() method
arr = np.arange(4)

# Display the array
print("Our Array...\n",arr)

# Check the Dimensions
print("\nDimensions of our Array...\n",arr.ndim)

# Get the Datatype
print("\nDatatype of our Array object...\n",arr.dtype)

# Get the Shape
print("\nShape of our Array object...\n",arr.shape)

# To compute inner product of vectors with Einstein summation convention, use the numpy.einsum() method in Python.
print("\nResult (inner product)...\n",np.einsum('i,i', arr, arr))

Đầu ra

Our Array...
[0 1 2 3]

Dimensions of our Array...
1

Datatype of our Array object...
int64

Shape of our Array object...
(4,)

Result (inner product)...
14