我正在使用NumPy计算矩阵的特征向量和特征值,希望通过assert
语句检查结果。然而,这样会引发一个ValueError错误,我不太明白原因,因为直接打印比较结果是可以正常工作的。你有什么建议可以让这个assert
语句正常工作吗?
import numpy as np
A = np.array([[3,5,0], [5,7,12], [0,12,5]])
eig_val, eig_vec = np.linalg.eig(A)
print('eigenvalue:', eig_val)
print('eigenvector:', eig_vec)
for col in range(A.shape[0]):
assert (A.dot(eig_vec[:,col])) == (eig_val[col] * eig_vec[:,col])