对于这个问题,我用python创建了一个8x8数组,并使用numpy的linalg工具找到了特征值和特征频率。但是,现在我需要通过检查det(A- lambda *I) = 0来验证这些特征值是否正确,其中A是8x8数组,i是单位矩阵,然后是lambda。我该如何在python中解决这个问题呢?在numpy中有没有工具可以让我轻松地做到这一点呢?我已经包括了我的代码,直到找到单位矩阵。
#Defining an 8x8 matrix using random numbers
A = np.zeros((8, 8), dtype=complex)
A[1::2,::2] = 1
A[::2,1::2] = 1
eig_vals, eig_vecs = np.linalg.eig(A)
print("The resulting eigenvalues of the 8x8 matrix is:", eig_vals)
print("The resulting eigenvectors of the 8x8 matrix is:", eig_vecs)
I = np.identity(8)发布于 2019-11-02 00:06:04
简单地说:
for i in range(len(eig_vals)):
print(np.linalg.det(A - eig_vals[i]*I))当然,您需要考虑数字误差-它们不是精确的零,但请仔细查看:)
https://stackoverflow.com/questions/58662169
复制相似问题