Jak*_*ner 3 python numpy matrix linear-algebra eigenvector
埃尔米特矩阵是一个复方矩阵,等于其共轭转置。其矩阵元素满足以下条件:
每次,我使用 Python 计算 Hermitian 矩阵的特征向量时,特征向量的第一个系数都是纯实数。这是 Hermitian 矩阵的属性吗?
我附加了一个代码片段来生成埃尔米特矩阵,计算其特征向量并打印与最低特征值相对应的特征向量。
import numpy as np
from numpy import linalg as LA
N = 5 # Set size of a matrix
# Generate real part of the matrix at first
real_matrix = np.random.uniform(-1.0, 1.0, size=(N,N))
real_matrix = (real_matrix + real_matrix.T)/2
# Generate imaginary part of the matrix
imaginary_matrix = np.random.uniform(-1.0, 1.0, size=(N,N))
imaginary_matrix = (imaginary_matrix + imaginary_matrix.T)/2
imaginary_matrix = imaginary_matrix.astype(complex) * 1j
for row in range(N):
for column in range(row,N):
if row == column:
imaginary_matrix[row][column] = 0.0
else:
imaginary_matrix[row][column] *= -1
# Combine real and imaginary part
matrix = real_matrix + imaginary_matrix
# Compute and print eigenvector
eigenvalues, eigenvectors = LA.eigh(matrix)
print(eigenvectors[:,0])
Run Code Online (Sandbox Code Playgroud)