混合表象下单粒子格林函数计算

G = 1/(z-H(k))

其中H(k)一个方向作傅里叶变换,另一个方向不做, 直接对矩阵进行求逆。

混合表象下单粒子格林函数计算_第1张图片

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);

测试通过

你可能感兴趣的:(算法)