G = 1/(z-H(k))
其中H(k)一個方向作傅里葉變換,另一個方向不做, 直接對矩陣進行求逆。
Matlab代碼
nw = 1000;
delta = 0.002;
omega = linspace(-1,1,nw);
A = zeros(nw,nk);
for i=1:nw
for j=1:nk
H0 = Hamiltonian_H0(k(j),t,N);
H = H0+U*Nupavg-0.5*U*eye(m,m);
G = ((omega(i)+1j*delta)*eye(m,m)-H)^-1;
A(i,j) = -imag(trace(G));
end
end
[X,Y] = meshgrid(k,omega);
mesh(X,Y,A);
測試通過