You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何确认numpy计算的特征值对应的特征向量是行还是列?

关于numpy.linalg.eig中特征值与特征向量的对应关系

结论明确:np.linalg.eig返回的特征值数组里的第i个元素,对应特征向量矩阵的第i列。

以你提供的计算结果为例:

  • 特征值数组[36.22111819, 6.98906964, 1.58981217]中,第三个元素1.58981217(索引为2)对应的是特征向量矩阵的第三列:[0.30929225, 0.53647618, 0.78519527]。

验证代码

你可以通过矩阵乘法验证这个对应关系,特征值与特征向量满足公式:covMatrix · eigvec_col = eigval * eigvec_col

import numpy as np
A = [45,37,42,35,39]
B = [38,31,26,28,33]
C = [10,15,17,21,12]
arrays= np.array([A,B,C])
covMatrix = np.cov(arrays,bias=True)

eigval, eigvec = np.linalg.eig(covMatrix)
eigval = eigval.real

# 取第三个特征值和对应的第三列特征向量
target_eigval = eigval[2]
target_eigvec = eigvec[:, 2]  # 注意是[:,2]取第三列

# 计算协方差矩阵乘特征向量
left = covMatrix @ target_eigvec
# 计算特征值乘特征向量
right = target_eigval * target_eigvec

print("协方差矩阵×特征向量:", left)
print("特征值×特征向量:", right)

运行后会看到两组结果几乎完全一致(浮点误差可忽略),证明对应关系正确。

内容的提问来源于stack exchange,提问作者The first man

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 13:35:30