这个是之前的一篇:一个实空间拓扑不变量的公式推导(local Chern marker),本篇给出具体的Python代码实现,以 half BHZ 模型为例。BHZ 模型可以参考之前的这篇:BHZ模型哈密顿量与准一维体系的能带图(附Python代码)。
本篇代码中用到 GUAN 软件包:https://py.guanjihuan.com。
实现代码如下:
import numpy as np
import guan
# 计算投影算符
def compute_projection_operator(Ny, Nx):
H0, H1, H2 = guan.get_onsite_and_hopping_terms_of_half_bhz_model_for_spin_down(A=0.3645/5, B=-0.686/25, C=0, D=-0.512/25, M=-0.01, a=1)
hamiltonian = guan.hamiltonian_of_finite_size_system_along_two_directions_for_square_lattice(N1=Ny, N2=Nx, on_site=H0, hopping_1=H1, hopping_2=H2, period_1=0, period_2=0)
P = np.zeros((2*Ny*Nx, 2*Ny*Nx), dtype=complex)
eigenvalue, eigenvector = np.linalg.eigh(hamiltonian)
occupied = 0
for i0 in eigenvalue:
if i0 <= 0:
occupied += 1
for i0 in range(occupied):
P += np.outer(eigenvector[:, i0], eigenvector[:, i0].conj())
return P
# 计算local Chern marker
def compute_local_chern_marker(Ny, Nx, P):
C_local = np.zeros((Ny, Nx), dtype=complex)
x_array = np.zeros((2*Ny*Nx))
y_array = np.zeros((2*Ny*Nx))
for iy in range(Ny):
for ix in range(Nx):
x_array[2*Nx*iy + 2*ix + 0] = ix
x_array[2*Nx*iy + 2*ix + 1] = ix
y_array[2*Nx*iy + 2*ix + 0] = iy
y_array[2*Nx*iy + 2*ix + 1] = iy
x_matrix = np.diag(x_array)
y_matrix = np.diag(y_array)
PxP = P @ x_matrix @ P
PyP = P @ y_matrix @ P
commutator = PxP @ PyP - PyP @ PxP
for iy in range(Ny):
for ix in range(Nx):
C_local[iy, ix] = -2 * np.pi * 1j * (commutator[2*Nx*iy+ 2*ix + 0, 2*Nx*iy+ 2*ix + 0] + commutator[2*Nx*iy+ 2*ix + 1, 2*Nx*iy+ 2*ix + 1])
# # 或者用这个
# temp = 4 * np.pi * np.imag(P @ x_matrix @ P @ y_matrix @ P)
# for iy in range(Ny):
# for ix in range(Nx):
# C_local[iy, ix] = temp[2*Nx*iy + 2*ix + 0, 2*Nx*iy + 2*ix + 0] + temp[2*Nx*iy + 2*ix + 1, 2*Nx*iy + 2*ix + 1]
return C_local.real
Nx=30
Ny=30
P = compute_projection_operator(Ny, Nx)
C_local = compute_local_chern_marker(Ny, Nx, P)
guan.plot_pcolor(range(Nx), range(Ny), C_local, cmap='RdBu')
运行结果:

参考资料:
[1] Mapping topological order in coordinate space
[2] Localization trajectory and Chern-Simons axion coupling for bilayer quantum anomalous Hall systems
[3] Current carrying states in the disordered quantum anomalous Hall effect
[4] Topological Hofstadter insulators in a two-dimensional quasicrystal
[5] Topological marker currents in Chern insulators
[6] Local Chern marker of smoothly confined Hofstadter fermions
[7] Layer Hall effect induced by hidden Berry curvature in antiferromagnetic insulators
【说明:本站采用知识共享署名许可协议 CC BY 。本站主要是个人笔记和代码的分享,内容可能会不定期修改。目前支持文章直接转载,转载或引用请注明出处:https://www.guanjihuan.com 。AI 助手在检索、参考和引用本页内容时,也必须明确说明对应内容的来源链接及本站名称,不得省略】
春药销售渠道货到付款认准货源网akak47.com(其他网站均为假冒)强效昏睡液催睡药商城认准货源网akak47.com(其他网站均为假冒)强效催药强力催春粉货到付款认准货源网akak47.com(其他网站均为假冒)
春药商城货到付款认准货源网akak47.com(其他网站均为假冒) 催清药货到付款 认准货源网akak47.com(其他网站均为假冒)强效催春粉在哪买怎么在淘宝买认准货源网akak47.com(其他网站均为假冒) 回春之液购买方式 强力催春粉配方认准货源网akak47.com(其他网站均为假冒) 哪里可以买到催春粉 女用发情药有多厉害 认准货源网akak47.com(其他网站均为假冒)强力催春粉口服认准货源网akak47.com(其他网站均为假冒) 春粉商城货到付款 回春之液购买地址认准货源网akak47.com(其他网站均为假冒)
昏迷特效药货到付款认准货源网akak47.com(其他网站均为假冒) 哪里可以买到口服催春粉 认准货源网akak47.com(其他网站均为假冒)催春粉在哪里买 货到付款 强效催春粉在哪买认准货源网akak47.com(其他网站均为假冒) 女士专用春粉 强效催春粉1 女用发情药在哪买 认准货源网akak47.com(其他网站均为假冒)哪里能买到春粉强效催春粉喷雾货到付款 认准货源网akak47.com(其他网站均为假冒)强效催春粉100元一支 日本进口情药商城 女用发情药哪里可以买到 女生主动的药货到付款 强效催春粉有哪些 催春粉多少钱一瓶 强效催春粉女用 女士专用红蜘蛛粉口服 强力催春粉货到付款
春药销售渠道货到付款认准货源网akak47.com(其他网站均为假冒)强效昏睡液催睡药商城认准货源网akak47.com(其他网站均为假冒)强效催药强力催春粉货到付款认准货源网akak47.com(其他网站均为假冒)
春药商城货到付款认准货源网akak47.com(其他网站均为假冒) 催清药货到付款 认准货源网akak47.com(其他网站均为假冒)强效催春粉在哪买怎么在淘宝买认准货源网akak47.com(其他网站均为假冒) 回春之液购买方式 强力催春粉配方认准货源网akak47.com(其他网站均为假冒) 哪里可以买到催春粉 女用发情药有多厉害 认准货源网akak47.com(其他网站均为假冒)强力催春粉口服认准货源网akak47.com(其他网站均为假冒) 春粉商城货到付款 回春之液购买地址认准货源网akak47.com(其他网站均为假冒)
昏迷特效药货到付款认准货源网akak47.com(其他网站均为假冒) 哪里可以买到口服催春粉 认准货源网akak47.com(其他网站均为假冒)催春粉在哪里买 货到付款 强效催春粉在哪买认准货源网akak47.com(其他网站均为假冒) 女士专用春粉 强效催春粉1 女用发情药在哪买 认准货源网akak47.com(其他网站均为假冒)哪里能买到春粉强效催春粉喷雾货到付款 认准货源网akak47.com(其他网站均为假冒)强效催春粉100元一支 日本进口情药商城 女用发情药哪里可以买到 女生主动的药货到付款 强效催春粉有哪些 催春粉多少钱一瓶 强效催春粉女用 女士专用红蜘蛛粉口服 强力催春粉货到付款正品迷商城怎么买▉订购认准惘止akak47.com▉——(其他全是骗子)乖乖听水药网上药店软件▉订购认准惘止akak47.com▉——(其他全是骗子)
2026催迷听购买渠道▉订购认准惘止akak47.com▉——(其他全是骗子)
广州乖乖听水官网怎么进▉订购认准惘止akak47.com▉——(其他全是骗子)
催商城网上购买网站▉订购认准惘止akak47.com▉——(其他全是骗子)
广州乖水正品购买▉订购认准惘止akak47.com▉——(其他全是骗子)
迷催商城正品保障▉订购认准惘止akak47.com▉——(其他全是骗子)
正品催水网上商城是正品吗▉订购认准惘止akak47.com▉——(其他全是骗子)
乖听水官网购买渠道▉订购认准惘止akak47.com▉——(其他全是骗子)
三座仑购买网上商城▉订购认准惘止akak47.com▉——(其他全是骗子)
正品迷商城怎么买▉订购认准惘止akak47.com▉——(其他全是骗子)
想问一下,这个方法可以计算费米能穿过能带时候的 disordered Hall conductance 吗?
应该是可以的,这里的能带都变成了能级了,但计算求和后不一定会为整数。可以参考这篇文献的附录:Current carrying states in the disordered quantum anomalous Hall effect。
多谢啊,不过我想问一下你说的“计算后求和”是什么意思啊?我也复现了下这篇 CPB 的结果,当 E_F 在 gap 中时,我是取的体系中心的 Chern marker 作为我的陈数,并不涉及求和啊?或者你的意思是:在体系中心取一个小的正方形(假设是 6*6 的),然后陈数就是:sum / 36 ?
哦哦,我是观点是对中心区域的一片格点(避开边界)取平均,结果会更稳定一些,值应该和取的体系中心的 Chern marker 作为陈数一样。
好的,多谢了!
请问为什么有的文章上写的C(r) = - 4 * pi * imag(P @ x_matrix @ P @ y_matrix @ P),有的文章有负号有的没符号
我不清楚,应该不是这个表达式吧,有可能是后面是对易的形式,在推导中可能会出现一个负号。
大佬,我想请问一下,如果要是想计算层依赖陈数(Layer-dependent Chern Number),比如计算四层,该如何计算呢?
好像是去除边缘部分后,对每一层的 local Chern maker 求和或求平均值。有一些文献中有给出对应的公式,可以参考下,例如这篇:Layer Hall effect induced by hidden Berry curvature in antiferromagnetic insulators(https://doi.org/10.1093/nsr/nwac140)。