Vector riêng (Eigen vectors) và trị riêng (Eigen values) có ứng dụng trong nhiều tình huống. Từ 'Eigen' trong tiếng Đức nghĩa là 'own' (riêng) hoặc 'typical' (đặc trưng). Vector riêng còn gọi là 'vector đặc trưng' (characteristic vector). Giả sử cần thực hiện phép biến đổi trên tập dữ liệu nhưng điều kiện là hướng của dữ liệu trong tập dữ liệu không được thay đổi. Đây là lúc trị riêng và vector riêng được sử dụng.
Cho một ma trận vuông (ma trận số hàng bằng số cột), một trị riêng và một vector riêng thỏa mãn phương trình sau:

Vector riêng được tính toán sau khi tìm thấy trị riêng.
Lưu ý - Trị riêng hoạt động tốt với chiều 3 hoặc cao hơn.
Thay vì tính toán thủ công, SciPy cung cấp hàm eig trong thư viện để tính trị riêng và vector riêng.
Cú pháp hàm 'eig'
scipy.linalg.eig(matrix)
Hãy xem cách dùng hàm eig:
Ví dụ
from scipy import linalg
import numpy as np
my_arr = np.array([[5, 7], [11, 3]])
eg_val, eg_vect = linalg.eig(my_arr)
print("Các trị riêng là:")
print(eg_val)
print("Các vector riêng là:")
print(eg_vect)
Đầu ra
Các trị riêng là: [12.83176087+0.j -4.83176087+0.j] Các vector riêng là: [[ 0.66640536 -0.57999285] [ 0.74558963 0.81462157]]
Giải thích
- Nhập các thư viện cần thiết.
- Định nghĩa ma trận với các giá trị cụ thể bằng NumPy.
- Truyền ma trận làm tham số cho hàm
eigđể tính trị riêng và vector riêng. - Kết quả tính được lưu trong hai biến riêng biệt.
- Đầu ra được hiển thị trên console.
Giải thích: Ma trận 2x2 có 2 trị riêng (có thể là số phức). Vector riêng tương ứng được chuẩn hóa. Cột i của eg_vect là vector riêng ứng với trị riêng eg_val[i].