我试图做一个二维能带结构的计算,它涉及多个方向的平面波。对于一个简单的正方形系统,我有两个可能的方向,并将具有{n,m}的项耦合到:{n,m},{n+1,m+1},{n+1,m-1},{n-1,m-1},{n-1,m+1},{n-2,m},{n+2,m},{n,m+2},{n,m-2},{n,m-2}
我正试图找出如何制作一个数组来实现这一点。我不知道如何定义某种基础。在我的例子中,我可以在任意的max n,m处截断,矩阵的维数将是(2n(max)+1)(2m(max)+1),因为我想从-max运行到+max
所以本质上,我试图编码一个矩阵mij,它将给出ij和I,j之间的耦合,其中I和j是一些{n,M}组合
希望这是有道理的。这是我第一次体验python的有趣任务
将得到所需的矩阵大小
然后,您需要通过偏移来重新计算矩阵的中心,例如,法线中的
(x,y)
将是(x+n, y+m)
相关问题 更多 >
编程相关推荐