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

Tính nghịch đảo nhiều ma trận cùng lúc trong Python

numpy.linalg.inv() hỗ trợ tính nghịch đảo hàng loạt (batch) cho stack ma trận vuông. Đầu vào shape (N, M, M), đầu ra shape tương tự. Mỗi ma trận con được nghịch đảo độc lập.

Các bước thực hiện

Nhập thư viện, tạo stack 2 ma trận 2x2:

import numpy as np
from numpy.linalg import inv

arr = np.array([[[1., 2.], [3., 4.]],
                [[1, 3], [3, 5]]])
print("Mảng của chúng ta...\n", arr)
print("\nSố chiều...\n", arr.ndim)
print("\nKiểu dữ liệu...\n", arr.dtype)
print("\nHình dạng...\n", arr.shape)

# Tính nghịch đảo batch
print("\nKết quả...\n", np.linalg.inv(arr))

Ví dụ hoàn chỉnh

import numpy as np
from numpy.linalg import inv

arr = np.array([[[1., 2.], [3., 4.]],
                [[1, 3], [3, 5]]])
print("Mảng của chúng ta...\n", arr)
print("\nSố chiều...\n", arr.ndim)
print("\nKiểu dữ liệu...\n", arr.dtype)
print("\nHình dạng...\n", arr.shape)
print("\nKết quả...\n", np.linalg.inv(arr))

Kết quả đầu ra

Mảng của chúng ta...
 [[[1. 2.]
   [3. 4.]]

  [[1. 3.]
   [3. 5.]]]
Số chiều...
 3
Kiểu dữ liệu...
 float64
Hình dạng...
 (2, 2, 2)
Kết quả...
 [[[-2.   1. ]
   [ 1.5 -0.5 ]]

  [[-1.25  0.75]
   [ 0.75 -0.25]]]