Để 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().