我想用python编写一个脚本,生成2到10的偶数秩矩阵(以2为步)并计算其特征值。我成功地做到了。我能够生成元素a穿过主对角线,元素b位于主对角线之外的对角线上的矩阵,并计算特征值:
import numpy as np
import matplotlib.pyplot as plt
def Huckel(a,b):
for n in range(2,10,2):
huckel_matrix = np.zeros(shape(n,n))
np.fill_diagonal(huckel_matrix,a)
huckel_matrix[np.arange(n-1),np.arange(1,n)] = b
huckel_matrix[np.arange(1,n),np.arange(n-1)] = b
eigen_values = np.linalg.eigvalsh(huckel_matrix)
Huckel(0.0,-1.0)
但是,我还想根据相应nxn矩阵(x轴)的秩(给定a=0.0和b=-1.0)散点绘制这些特征值(y轴)。所以,我想写一行,取特征值,把它们散点到对应矩阵的秩(2,4,6,8)上,但我不知道怎么做。你知道吗
我对Python非常陌生,我不确定如何实现这一点。我认为它应该写在for循环中,但我不知道怎么写。希望有人能帮我。你知道吗
我想在这里要小心,因为我不完全理解你想要的输出背后的数学,然而,你没有做任何与你的计算。我已经修改了你的代码来存储你的结果,然后你可以根据自己的喜好来绘制。你知道吗
返回一个列表:
如果我理解正确的话,你需要一个散点图,其中特征值在y轴上,特征值的个数在x轴上。你知道吗
相关问题 更多 >
编程相关推荐