首页 > 解决方案 > numpy.linalg.eig 和加载的另一个后续行动

问题描述

无论如何,我仍在努力完成以下任务:1)计算矩阵的特征值和特征向量,2)将它们保存到文件中,3)重新加载数据。我可以执行第 1 步和第 2 步;但无论我尝试什么,第 3 步总是会引发错误。请参阅np.savetxt 触发 ValueError。为什么?写和读特征值和特征向量,跟进

这次我尝试分别保存特征值和特征向量,所以它们都是数组。不幸的是,我仍然收到泡菜错误。即使只加载特征值。

eigs=np.linalg.eig(P@K@P)
eigvals=np.real(eigs[0])
eigvecs=np.real(eigs[1])
np.savetxt('eigvals.txt',eigvals)
np.savetxt('eigvecs.txt',eigvecs)

果然,eigvals 和 eigvecs 在变量资源管理器中显示为数组,大小分别为 10000 和 10000x10000。当我手动打开 eigvals.txt 时,我看到了一长串预期的浮点数。但是当我尝试 np.load('eigvals.txt','r') 时,我仍然会收到 pickle 错误(ValueError:当 allow_pickle=False 时无法加载包含腌制数据的文件)。现在怎么了?

谢谢

标签: numpyeigenvalueeigenvector

解决方案


推荐阅读