Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

การหาแร้งก์ของเมทริกซ์เต็มอันดับ (Full Rank matrix) ด้วยวิธี Singular Value Decomposition ใน Python


ภาพรวม

ใช้ numpy.linalg.matrix_rank() เพื่อหาแร้งก์ (rank) ของเมทริกซ์ โดยใช้วิธี Singular Value Decomposition (SVD) แร้งก์คือจำนวนค่าเอกพันธุ์ (singular values) ที่มากกว่าเกณฑ์ (tolerance)

พารามิเตอร์

  • A: อาร์เรย์อินพุต หรือสแต็กของเมทริกซ์
  • tol: เกณฑ์ที่ค่า SVD ต่ำกว่านี้ถือเป็นศูนย์ (ค่าเริ่มต้น: None)
  • hermitian: หาก True จะถือว่า A เป็นเมทริกซ์ Hermitian (ค่าเริ่มต้น: False)

ขั้นตอนการทำงาน

  1. นำเข้าไลบรารี
    import numpy as np
    from numpy.linalg import matrix_rank
    
  2. สร้างเมทริกซ์เอกลักษณ์ 5x5 (Full Rank)
    arr = np.eye(5)
    
  3. ตรวจสอบคุณสมบัติเมทริกซ์
    print("เมทริกซ์ของเรา...\n", arr)
    print("\nมิติ...\n", arr.ndim)
    print("\nชนิดข้อมูล...\n", arr.dtype)
    print("\nรูปร่าง...\n", arr.shape)
    
  4. หาแร้งก์ของเมทริกซ์
    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