波函数的节线ψ ( x , y) =罪12倍罪是的+ ( 1 + ε )罪x罪12岁ψ(x,y)=sin⁡12xsin⁡y+(1+ϵ)sin⁡xsin⁡12y

计算科学 数值分析 计算物理学 傅立叶分析 麻木的
2021-12-21 04:37:59

我正在尝试从Berry的这项工作中重现这个波函数的节点线图

ψ=sin2rxsiny+(1+ϵ)sinxsin2ry
这里的图像。第一个是ϵ=0第二个是ϵ>0在此处输入图像描述

我制作了一个脚本来使用 numpy 在许多点上评估正弦值。这是 iPython 脚本:

import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline

dt = 0.005
t  = 2*np.pi*np.arange(-1,1+dt,dt)

r = 5
eps = 0

w = np.sin(2*r*t[...,None])*np.sin(t[None,...]) + (1+eps)*np.sin(t[...,None])*np.sin(2*r*t[None,...])

z = t[...,None] + t[None,...]

x, y = np.where(np.abs(w)< 0.05)

plt.plot(t[x], t[y], '.', markersize=2)

结果看起来更像图像(a) - 实际上是它的许多副本 - 而不是(b)

在此处输入图像描述

事实上,报纸上说r=12我得到了这个迷人但不正确的图像。虽然这些图形在 1982 年令人眼花缭乱 - 任何普通的笔记本电脑都应该能够重新创建这些图形以及更多。

在此处输入图像描述


这是我可以获得的关闭设置r=6并改变窗口。我得到一个与显示的非常不同的模式,我的ϵ=0.5这是相当大的。

dt = 0.0005
t  = 2*np.pi*np.arange(0,0.5+dt,dt)

r = 6

eps = 0.5

w = np.sin(2*r*t[...,None])*np.sin(t[None,...]) + (1+eps)*np.sin(t[...,None])*np.sin(2*r*t[None,...])

z = t[...,None] + t[None,...]

x, y = np.where(np.abs(w)< 0.05)

plt.plot(t[x], t[y], '.', markersize=1)
plt.xlim([-0.25,3.25])
plt.ylim([-0.25,3.25])

这是结果——与上面的33b不同的模式

在此处输入图像描述

1个回答

资料来源 [61] 是Courant 和 Hilbert所著的《数学物理方法》第 1 卷。序言署名R. Courant,纽约新罗谢尔,1953 年——在序言中,我们发现最初的德文版本可以追溯到1924 年,因此他可能还没有电脑可供他使用。

确实,如果我设置r=62r=12ϵ=0.01我确实得到了他们手工制作的图像。间隙更窄

在此处输入图像描述