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

Tích Kronecker của hai mảng với số chiều khác nhau trong Python

numpy.kron() tự động xử lý mảng có số chiều khác nhau bằng cách thêm chiều 1 vào mảng có chiều thấp hơn.

Ví dụ: mảng 3D và 2D

import numpy as np

# Mảng 3D: (2, 5, 2)
arr1 = np.arange(20).reshape(2, 5, 2)
# Mảng 2D: (2, 3)
arr2 = np.arange(6).reshape(2, 3)

print("Mảng 1:", arr1)
print("Mảng 2:", arr2)
print("Số chiều mảng 1:", arr1.ndim)
print("Số chiều mảng 2:", arr2.ndim)
print("Kích thước mảng 1:", arr1.shape)
print("Kích thước mảng 2:", arr2.shape)

result = np.kron(arr1, arr2)
print("Tích Kronecker:", result)

Kết quả

Mảng 1: [[[ 0  1] ... [ 8  9]] [[10 11] ... [18 19]]]
Mảng 2: [[0 1 2] [3 4 5]]
Số chiều mảng 1: 3
Số chiều mảng 2: 2
Kích thước mảng 1: (2, 5, 2)
Kích thước mảng 2: (2, 3)
Tích Kronecker: hình dạng (2, 10, 6) - ma trận khối phức tạp

Kết quả có hình dạng (2×2, 5×2, 2×3) = (4, 10, 6) sau khi broadcast chiều.