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

Tính pseudo-inverse Moore-Penrose của ma trận trong Python

Để tính pseudo-inverse Moore-Penrose của một ma trận đơn lẻ, dùng numpy.linalg.pinv(). Dựa trên SVD, giữ các giá trị kỳ dị lớn. Tham số rcond điều chỉnh ngưỡng cắt.

Tham số

  • a (array_like): Ma trận cần pseudo-inverse.
  • rcond (float, tùy chọn): Ngưỡng cắt giá trị kỳ dị nhỏ.
  • hermitian (bool, tùy chọn): Giả định ma trận Hermitian.

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

Nhập NumPy, tạo ma trận ngẫu nhiên 9x6:

import numpy as np

arr = np.random.randn(9, 6)
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 pseudo-inverse
print("\nKết quả...\n", np.linalg.pinv(arr))

Ví dụ hoàn chỉnh

import numpy as np

arr = np.random.randn(9, 6)
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.pinv(arr))

Kết quả đầu ra

Kết quả ma trận 6x9 (chuyển vị hình dạng). Xem output gốc cho giá trị cụ thể do dùng randn().