numpy.linalg.matrix_rank() tính hạng ma trận bằng SVD. Hạng = số giá trị kỳ dị > tol. Mặc định tol = S.max() * max(M, N) * eps. Tham số hermitian=True tối ưu cho ma trận Hermitian.
Tham số
- A (array_like): Ma trận hoặc stack ma trận.
- tol (float, tùy chọn): Ngưỡng giá trị kỳ dị coi như 0.
- hermitian (bool, tùy chọn): Giả định Hermitian.
Các bước thực hiện
Nhập thư viện, tạo ma trận đơn vị 5x5:
import numpy as np
from numpy.linalg import matrix_rank
arr = np.eye(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 hạng
print("\nKết quả (hạng)...\n", matrix_rank(arr))
Ví dụ hoàn chỉnh
import numpy as np
from numpy.linalg import matrix_rank
arr = np.eye(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ả (hạng)...\n", matrix_rank(arr))
Kết quả đầu ra
Mảng của chúng ta...
[[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
Hình dạng...
(5, 5)
Kết quả (hạng)...
5