所返回的特征值
linalg.eig是列向量,因此您需要对的 转置 进行
e_vecs迭代(因为2D数组上的迭代默认会返回行向量):
import numpy as npimport numpy.linalg as LAA = np.array([[1, 0, 0], [0, 1, 0], [1, 1, 0]])e_vals, e_vecs = LA.eig(A)print(e_vals)# [ 0. 1. 1.]print(e_vecs)# [[ 0. 0. 1. ]# [ 0.70710678 0. 0.70710678]# [ 0. 0.70710678 0.70710678]]for val, vec in zip(e_vals, e_vecs.T): assert np.allclose(np.dot(A, vec), val * vec)



