首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在python中检查矩阵的行列式(A*lambda*I) =0?

如何在python中检查矩阵的行列式(A*lambda*I) =0?
EN

Stack Overflow用户
提问于 2019-11-01 23:52:18
回答 1查看 430关注 0票数 0

对于这个问题,我用python创建了一个8x8数组,并使用numpy的linalg工具找到了特征值和特征频率。但是,现在我需要通过检查det(A- lambda *I) = 0来验证这些特征值是否正确,其中A是8x8数组,i是单位矩阵,然后是lambda。我该如何在python中解决这个问题呢?在numpy中有没有工具可以让我轻松地做到这一点呢?我已经包括了我的代码,直到找到单位矩阵。

代码语言:javascript
复制
#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)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-02 00:06:04

简单地说:

代码语言:javascript
复制
for i in range(len(eig_vals)):
    print(np.linalg.det(A - eig_vals[i]*I))

当然,您需要考虑数字误差-它们不是精确的零,但请仔细查看:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58662169

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档