ภาพรวม
ใช้ numpy.linalg.matrix_rank() เพื่อหาแร้งก์ (rank) ของเมทริกซ์ โดยใช้วิธี Singular Value Decomposition (SVD) แร้งก์คือจำนวนค่าเอกพันธุ์ (singular values) ที่มากกว่าเกณฑ์ (tolerance)
พารามิเตอร์
- A: อาร์เรย์อินพุต หรือสแต็กของเมทริกซ์
- tol: เกณฑ์ที่ค่า SVD ต่ำกว่านี้ถือเป็นศูนย์ (ค่าเริ่มต้น: None)
- hermitian: หาก True จะถือว่า A เป็นเมทริกซ์ Hermitian (ค่าเริ่มต้น: False)
ขั้นตอนการทำงาน
- นำเข้าไลบรารี
import numpy as np from numpy.linalg import matrix_rank - สร้างเมทริกซ์เอกลักษณ์ 5x5 (Full Rank)
arr = np.eye(5) - ตรวจสอบคุณสมบัติเมทริกซ์
print("เมทริกซ์ของเรา...\n", arr) print("\nมิติ...\n", arr.ndim) print("\nชนิดข้อมูล...\n", arr.dtype) print("\nรูปร่าง...\n", arr.shape) - หาแร้งก์ของเมทริกซ์
print("\nแร้งก์ (Full-Rank Matrix)...\n", matrix_rank(arr))
ตัวอย่างโค้ดสมบูรณ์
import numpy as np
from numpy.linalg import matrix_rank
arr = np.eye(5)
print("เมทริกซ์ของเรา...\n", arr)
print("\nมิติของเมทริกซ์...\n", arr.ndim)
print("\nชนิดข้อมูลของเมทริกซ์...\n", arr.dtype)
print("\nรูปร่างของเมทริกซ์...\n", arr.shape)
print("\nแร้งก์ (Full-Rank Matrix)...\n", matrix_rank(arr))
ผลลัพธ์ที่คาดหวัง
เมทริกซ์ของเรา...
[[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.]]
มิติของเมทริกซ์...
2
ชนิดข้อมูลของเมทริกซ์...
float64
รูปร่างของเมทริกซ์...
(5, 5)
แร้งก์ (Full-Rank Matrix)...
5