厄米特矩阵的特征向量

Eigenvectors of a Hermitian matrix

厄米特矩阵是一个复数方阵,它等于它的共轭转置。其矩阵元素满足以下条件:

每次,我使用 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])

我认为这是一道 python 题而不是一道数学题。

您在执行特征值分解时有一些歧义:如果 u 是特征值 lambda 的酉特征向量,则 exp(i theta) * u 也是相同特征值的酉特征向量(对于任何实数 theta)。 为了解决这个不确定性,一些实现强制每个特征向量的第一个系数是实数。

对实数矩阵进行特征分解时,您会得到同样的结果:如果 u 是特征向量,- u 也是。为了使特征分解具有确定性,某些实现(例如 sklearn 的 PCA,请参阅 )强制 u 的最大系数为正。