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

Xếp hạng ma trận đầy đủ bằng phương pháp phân rã giá trị kỳ dị trong Python

numpy.linalg.matrix_rank() tính rank ma trận dùng SVD (Singular Value Decomposition). Rank = số giá trị kỳ dị lớn hơn ngưỡng tol.

Ví dụ: ma trận đơn vị 5x5

import numpy as np
from numpy.linalg import matrix_rank

arr = np.eye(5)  # Ma trận đơn vị 5x5

print("Ma trận:", arr)
print("Số chiều:", arr.ndim)
print("Kiểu dữ liệu:", arr.dtype)
print("Kích thước:", arr.shape)

# Rank ma trận đầy đủ
rank = matrix_rank(arr)
print("Rank:", rank)

Kết quả

Ma trận: [[1. 0. 0. 0. 0.]
 [0. 1. 0. 0. 0.]
 [0. 0. 1. 0. 0.]
 [0. 0. 0. 1. 0.]
 [0. 0. 0. 0. 1.]]
Số chiều: 2
Kiểu dữ liệu: float64
Kích thước: (5, 5)
Rank: 5

Ma trận đơn vị n×n luôn có rank = n (đầy đủ rank). Tất cả 5 giá trị kỳ dị = 1 > tol.