Để tính giá trị riêng của ma trận Hermitian phức hoặc đối xứng thực, dùng numpy.eigvalsh(). Phương thức trả về giá trị riêng theo thứ tự tăng dần, mỗi giá trị lặp lại theo bội số của nó. Tham số a là ma trận phức hoặc thực. Tham số UPLO chỉ định dùng phần tam giác dưới ('L', mặc định) hoặc trên ('U'). Chỉ phần thực của đường chéo được dùng để bảo toàn tính chất Hermitian.
Các bước thực hiện
Nhập thư viện:
import numpy as np
from numpy import linalg as LA
Tạo ma trận 2x2 phức:
arr = np.array([[5+2j, 9-2j], [0+2j, 2-1j]])
Hiển thị ma trận:
print("Ma trận của chúng ta...\n", arr)
Kiểm tra số chiều:
print("\nSố chiều của mảng...\n", arr.ndim)
Lấy kiểu dữ liệu:
print("\nKiểu dữ liệu của đối tượng mảng...\n", arr.dtype)
Lấy hình dạng:
print("\nHình dạng của đối tượng mảng...\n", arr.shape)
Tính giá trị riêng:
print("\nKết quả...\n", LA.eigvalsh(arr))
Ví dụ hoàn chỉnh
import numpy as np
from numpy import linalg as LA
arr = np.array([[5+2j, 9-2j], [0+2j, 2-1j]])
print("Ma trận của chúng ta...\n", arr)
print("\nSố chiều của mảng...\n", arr.ndim)
print("\nKiểu dữ liệu của đối tượng mảng...\n", arr.dtype)
print("\nHình dạng của đối tượng mảng...\n", arr.shape)
print("\nKết quả...\n", LA.eigvalsh(arr))
Kết quả đầu ra
Ma trận của chúng ta...
[[5.+2.j 9.-2.j]
[0.+2.j 2.-1.j]]
Số chiều của mảng...
2
Kiểu dữ liệu của đối tượng mảng...
complex128
Hình dạng của đối tượng mảng...
(2, 2)
Kết quả...
[1. 6.]