この投稿が大反響を呼んだので、実際の計算結果をシェアしようと思いました。純粋数学を使用するだけで、あの有名な「写真 51」のようなグラフを作成できるというのは、私にとっては本当にすごいことだからです。 GPT-5 Pro はすべてを詳細に説明し、プロットを作成する Python コードも用意されています。
コードを含む会話へのリンクは次のとおりです。 https://t.co/BkjaVurpIl
コード自体は次のとおりです。これを Google Colab に直接貼り付けると、プロットが生成されます。 numpyをnpとしてインポートし、matplotlib.pyplotをpltとしてインポートします。 R=10.0; P=34.0; q=2*np.pi/P nz,nk=720,560; kz_max,kp_max=2.0,2.0 sigma_z=0.04; mmax=20;デルタ_ファイ=np.pi;デルタ_z=P/2.0 h=3.4; N_bp=400; ベータ=0.25 kz=np.linspace(-kz_max,kz_max,nz); kp=np.linspace(0,kp_max,nk) n_tau=512; tau=np.linspace(0,np.pi,n_tau); s_tau=np.sin(タウ) Jv(m,x) を定義します。 x=np.asarray(x); ph=m*tau[なし,:]-x[:,なし]*s_tau[なし,:] np.trapz(np.cos(ph),tau,axis=1)/np.pi を返す I=np.zeros((nz,nk),dtype=np.float64) mが範囲内(-mmax,mmax+1)の場合: Jm=Jv(abs(m),kp*R); L=np.exp(-0.5*((kz-m*q)/sigma_z)**2)[:,なし] A2=2.0+2.0*np.cos(m*delta_phi+kz[:,None]*delta_z) I+=(Jm*Jm)[なし,:]*L*A2 eps=1e-9 S=(np.sin(0.5*N_bp*h*kz)**2)/((np.sin(0.5*h*kz)**2)+eps); S=(S/(S.max()+eps))[:,なし] I*=1.0+ベータ*S I/=I.max()+1e-12; I=np.log1p(12*I) I_full=np.concatenate([I[:,::-1],I],axis=1) 範囲=[-kp_max,kp_max,-kz_max,kz_max] plt.figure(図サイズ=(6,8)) plt.imshow(I_full,extent=extent,origin='lower',aspect='auto') plt.axis('オフ') plt.savefig('photo51_like.png',dpi=220,bbox_inches='tight',pad_inches=0.02) https://t.co/HDadZBCvO4()
以下は Python から直接出力された最終画像です。




