用2D递归编程python矩阵

2024-10-02 22:26:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图做一个二维能带结构的计算,它涉及多个方向的平面波。对于一个简单的正方形系统,我有两个可能的方向,并将具有{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的有趣任务


Tags: 定义系统矩阵数组方向结构基础max