科研情況總結1-5

建議直接將單粒子格林函數保存下來,這樣計算量小

先直接取omega‘ 算chi0測試一下,直接計算的時間複雜度是O(n^4)

nw = 200
qs = np.linspace(0,2*pi,nk)
omega_p = np.linspace(-3.5,3.5,nw) 
chi0 = np.zeros((nw,nk,m,m),dtype='complex')
for i in range(nk):
    for j in range(nk):
        for k in range(nw):
            k_plus_q = (i+j)%nk
            k_mines_q = (i-j)%nk
            chi0[0,i,:,:] += fermi(omega_p[k], mu, T)*(np.imag(Gk_up[k,j,:,:].T)*Gk_down[k,k_plus_q,:,:]+np.imag(Gk_down[k,j,:,:])*Gk_up[k,k_mines_q,:,:].T)
chi0 = chi0/nk/nw/N

 還是要解決這個計算問題。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章