본문 바로가기

카테고리 없음

디랙 해밀토니안

Chern number calculations and Topological phase transitions [model hamiltonian case]
2D band dispersion relations (2D BZ, two-band model)
 
Dirac hamiltonian
2D, broken time-reversal symmetry, two-band nontrivial structure, periodic in x and y directions, 2D BZ is torus,
the number of times the h(k)/|h|-vector wraps around the unit sphere.
 
topological invariants: nonlocal, nonlinear, intensive
 
h(kx,ky,m)=sin(kx) sigma1 + sin(ky) sigma2 +(m+cos(kx)+cos(ky)) sigma3
 
\[ {\Large h(k_x,k_y, m) = sin(k_x) \sigma_1 + sin(k_y) \sigma_2 + \left\{ m + cos(k_x)+cos(k_y)  \right\}\sigma_3 } \]
---------------------------------------------------------------------------------------------------------------------
두 가지 구조들이 상반된 패턴을 가지고, 서로 만날 때,
위상학적으로 반전된 파동함수를 연결해 줘야 하는 상태가 경계에서 존재해야만 한다.
 
경계 상태가 전도성을 가지게 된다.
 
절연체가 이러한 경계 상태를 가지며 이러한 경우, 위상 절연체가 된다.
 
시스템의 대칭성을 바꾸지 않고, 
m=0.1,  m=2.1
서로 다른 시스템이다. c1 /=0   천 인슐레이터라고 한다.
QHE 와 유사한 경우이다.
 
m : hydrostatic pressure 같은 것으로 볼 수 있다.
c1 : 측정가능한 것이다.
 
모든 topological invariant가 측정가능한 것은 아니다.
 
스펙트럼만으로는 부족하다.
파동함수 정보를 알고 있어야 한다. 
 
가장 간단한 topological band theory 라고 볼 수 있다.
 
# Written by In-Ho Lee, KRISS, May 12 (2019).
import numpy as np
from numpy import linalg as LA
import matplotlib.pyplot as plt
 
def genh(kx,ky,mm):
    h1=np.sin(kx)
    h2=np.sin(ky)
    h3=mm+np.cos(kx)+np.cos(ky)
    if False:
        tmp=h1**2+h2**2+h3**2
        if tmp < 1.e-13:
           tmp=0.
        tmp=np.sqrt(tmp)
        if tmp > 1.e-13:
            h1=h1/tmp
            h2=h2/tmp
            h3=h3/tmp
    return h1,h2,h3
 
def ndotvec(kx,ky,mm,ioption,delk):
    h1,h2,h3=genh(kx,ky,mm)
    kxp=kx+delk
    wec1,wec2,wec3=genh(kxp,ky,mm)
    if ioption == 1:
        dhdkx1=(wec1-h1)/delk
        dhdkx2=(wec2-h2)/delk
        dhdkx3=(wec3-h3)/delk
    if ioption == 0:
        kxp=kx-delk
        vec1,vec2,vec3=genh(kxp,ky,mm)
        dhdkx1=(wec1-vec1)/(2*delk)
        dhdkx2=(wec2-vec2)/(2*delk)
        dhdkx3=(wec3-vec3)/(2*delk)
    kyp=ky+delk
    wec1,wec2,wec3=genh(kx,kyp,mm)
    if ioption == 1:
        dhdky1=(wec1-h1)/delk
        dhdky2=(wec2-h2)/delk
        dhdky3=(wec3-h3)/delk
    if ioption == 0:
        kyp=ky-delk
        vec1,vec2,vec3=genh(kx,kyp,mm)
        dhdky1=(wec1-vec1)/(2*delk)
        dhdky2=(wec2-vec2)/(2*delk)
        dhdky3=(wec3-vec3)/(2*delk)
    if ioption == -1:
        dhdkx1=np.cos(kx)
        dhdkx2=0.
        dhdkx3=-np.sin(kx)
        dhdky1=0.
        dhdky2=np.cos(ky)
        dhdky3=-np.sin(ky)
    v1=dhdkx2*dhdky3-dhdkx3*dhdky2
    v2=dhdkx3*dhdky1-dhdkx1*dhdky3
    v3=dhdkx1*dhdky2-dhdkx2*dhdky1
    tmq=0.
    tmp=h1**2+h2**2+h3**2
    if tmp > 1.e-13:
       tmp=np.sqrt(tmp)
       tmp=tmp**3
       tmq=(h1*v1+h2*v2+h3*v3)/tmp
    return tmq
 

def defint(nx,ny,mm,ioption,delk):
    dx=2.*np.pi/float(nx-1)
    dy=2.*np.pi/float(ny-1)
    integral=0.
    for i in range(nx):
        kx=-np.pi+float(i)*dx
        for j in range(ny):
            ky=-np.pi+float(j)*dy
            integral=integral+ndotvec(kx,ky,mm,ioption,delk)
    return integral*(dx*dy)/(4.*np.pi)
 
def wvfromham(kx,ky,mm):
    s1=np.zeros((2,2),dtype=complex)
    s2=np.zeros((2,2),dtype=complex)
    s3=np.zeros((2,2),dtype=complex)
    s1[0,1]=1.
    s1[1,0]=1.
    s2[0,1]=-1j
    s2[1,0]=1j
    s3[0,0]=1
    s3[1,1]=-1
    ham=np.sin(kx)*s1+ np.sin(ky)*s2+ (mm+np.cos(kx)+ np.cos(ky))*s3
    assert(np.all(0 == (ham-np.conj(ham.T))))
    w,v=LA.eig(ham)
    idx=w.argsort()
    w=w[idx]
    v=v[:,idx]
    w=w.real
    if False:
        w,v=wvfromham(kx,ky,mm)
        for i in range(2):
            print(w[i])
            print(v[:,i])
        for i in range(2):
           for j in range(2):
               print( v[:,i]@v[:,j] )
    return w,v
 
mm=-4
mm=-3
mm=0
mm=-1
mm=1
mm=3
mm=4
print('m= ',mm)
 

nx=1001
ny=nx
delk=1.e-4
ioption=-1
integral=defint(nx,ny,mm,ioption,delk)
print(integral)
 

ng=200
shift=0.
x=[]
y1=[]
y2=[]
kvec1=np.zeros((2),dtype=float)
kvec2=np.zeros((2),dtype=float)
kvec1[0]=0.
kvec1[1]=0.
kvec2[0]=np.pi
kvec2[1]=0.
for i in range(ng):
    kx=kvec1[0]+float(i)*(kvec2[0]-kvec1[0])/float(ng-1)
    ky=kvec1[1]+float(i)*(kvec2[1]-kvec1[1])/float(ng-1)
    w,v=wvfromham(kx,ky,mm)
    tmp=np.sqrt((kx-kvec1[0])**2+(ky-kvec1[1])**2)
    x.append(tmp+shift)
    y1.append(w[0])
    y2.append(w[1])
x=np.asarray(x)
y1=np.asarray(y1)
y2=np.asarray(y2)
fig, ax=plt.subplots()
ax.plot(x,y1, 'o')
ax.plot(x,y2, '+')
 
shift=x[-1]
x=[]
y1=[]
y2=[]
kvec1[0]=np.pi
kvec1[1]=0.
kvec2[0]=np.pi
kvec2[1]=np.pi
for i in range(ng):
    kx=kvec1[0]+float(i)*(kvec2[0]-kvec1[0])/float(ng-1)
    ky=kvec1[1]+float(i)*(kvec2[1]-kvec1[1])/float(ng-1)
    tmp=np.sqrt((kx-kvec1[0])**2+(ky-kvec1[1])**2)
    w,v=wvfromham(kx,ky,mm)
    x.append(tmp+shift)
    y1.append(w[0])
    y2.append(w[1])
x=np.asarray(x)
y1=np.asarray(y1)
y2=np.asarray(y2)
ax.plot(x,y1, 'o')
ax.plot(x,y2, '+')
 
shift=x[-1]
x=[]
y1=[]
y2=[]
kvec1[0]=np.pi
kvec1[1]=np.pi
kvec2[0]=0.
kvec2[1]=0.
for i in range(ng):
    kx=kvec1[0]+float(i)*(kvec2[0]-kvec1[0])/float(ng-1)
    ky=kvec1[1]+float(i)*(kvec2[1]-kvec1[1])/float(ng-1)
    tmp=np.sqrt((kx-kvec1[0])**2+(ky-kvec1[1])**2)
    w,v=wvfromham(kx,ky,mm)
    x.append(tmp+shift)
    y1.append(w[0])
    y2.append(w[1])
x=np.asarray(x)
y1=np.asarray(y1)
y2=np.asarray(y2)
ax.plot(x,y1, 'o')
ax.plot(x,y2, '+')
#ax.set_title('')
fig.savefig("band.pdf")
plt.show()

 
---------------------------------------------------------------------------------------------------------------------
 
# Written by In-Ho Lee, KRISS, May 12 (2019).
import numpy as np
import matplotlib.pyplot as plt
from matplotlib import cm
from mpl_toolkits.mplot3d import Axes3D
from numpy import linalg as LA
 
def genh(kx,ky,mm):
    h1=np.sin(kx)
    h2=np.sin(ky)
    h3=mm+np.cos(kx)+np.cos(ky)
    if False:
        tmp=h1**2+h2**2+h3**2
        if tmp < 1.e-13:
           tmp=0.
        tmp=np.sqrt(tmp)
        if tmp > 1.e-13:
            h1=h1/tmp
            h2=h2/tmp
            h3=h3/tmp
    return h1,h2,h3
 
def ndotvec(kx,ky,mm,ioption,delk):
    h1,h2,h3=genh(kx,ky,mm)
    kxp=kx+delk
    wec1,wec2,wec3=genh(kxp,ky,mm)
    if ioption == 1:
        dhdkx1=(wec1-h1)/delk
        dhdkx2=(wec2-h2)/delk
        dhdkx3=(wec3-h3)/delk
    if ioption == 0:
        kxp=kx-delk
        vec1,vec2,vec3=genh(kxp,ky,mm)
        dhdkx1=(wec1-vec1)/(2*delk)
        dhdkx2=(wec2-vec2)/(2*delk)
        dhdkx3=(wec3-vec3)/(2*delk)
    kyp=ky+delk
    wec1,wec2,wec3=genh(kx,kyp,mm)
    if ioption == 1:
        dhdky1=(wec1-h1)/delk
        dhdky2=(wec2-h2)/delk
        dhdky3=(wec3-h3)/delk
    if ioption == 0:
        kyp=ky-delk
        vec1,vec2,vec3=genh(kx,kyp,mm)
        dhdky1=(wec1-vec1)/(2*delk)
        dhdky2=(wec2-vec2)/(2*delk)
        dhdky3=(wec3-vec3)/(2*delk)
    if ioption == -1:
        dhdkx1=np.cos(kx)
        dhdkx2=0.
        dhdkx3=-np.sin(kx)
        dhdky1=0.
        dhdky2=np.cos(ky)
        dhdky3=-np.sin(ky)
    v1=dhdkx2*dhdky3-dhdkx3*dhdky2
    v2=dhdkx3*dhdky1-dhdkx1*dhdky3
    v3=dhdkx1*dhdky2-dhdkx2*dhdky1
    tmq=0.
    tmp=h1**2+h2**2+h3**2
    if tmp > 1.e-13:
       tmp=np.sqrt(tmp)
       tmp=tmp**3
    tmq=(h1*v1+h2*v2+h3*v3)/tmp
    return tmq

def defint(nx,ny,mm,ioption,delk):
    dx=2.*np.pi/float(nx-1)
    dy=2.*np.pi/float(ny-1)
    integral=0.
    for i in range(nx):
        kx=-np.pi+float(i)*dx
        for j in range(ny):
            ky=-np.pi+float(j)*dy
            integral=integral+ndotvec(kx,ky,mm,ioption,delk)
    return integral*(dx*dy)/(4.*np.pi)
 
def wvfromham(kx,ky,mm):
    s1=np.zeros((2,2),dtype=complex)
    s2=np.zeros((2,2),dtype=complex)
    s3=np.zeros((2,2),dtype=complex)
    s1[0,1]=1.
    s1[1,0]=1.
    s2[0,1]=-1j
    s2[1,0]=1j
    s3[0,0]=1
    s3[1,1]=-1
    ham=np.sin(kx)*s1+ np.sin(ky)*s2+ (mm+np.cos(kx)+ np.cos(ky))*s3
    assert(np.all(0 == (ham-np.conj(ham.T))))
    w,v=LA.eig(ham)
    idx=w.argsort()
    w=w[idx]
    v=v[:,idx]
    w=w.real
    if False:
        w,v=wvfromham(kx,ky,mm)
        for i in range(2):
            print(w[i])
            print(v[:,i])
        for i in range(2):
           for j in range(2):
               print( v[:,i]@v[:,j] )
    return w,v
 
mm=-4
mm=-3
mm=-1
mm=1
mm=3
mm=4
mm=0
print('m= ',mm)
 
nx=1001
ny=nx
delk=1.e-4
ioption=-1
integral=defint(nx,ny,mm,ioption,delk)
print(integral)
 
nx=51
ny=nx
x=np.zeros(nx)
y=np.zeros(ny)
Z=np.zeros((nx,ny))
W=np.zeros((nx,ny))
dx=2.*np.pi/float(nx-1)
dy=2.*np.pi/float(ny-1)
for i in range(nx):
     x[i]=-np.pi+float(i)*dx
for j in range(ny):
     y[j]=-np.pi+float(j)*dy

for i in range(nx):
     kx=x[i]
     for j in range(ny):
         ky=y[j]
         w,v= wvfromham(kx,ky,mm)
         Z[i,j]=w[0]
         W[i,j]=w[1]
X, Y =np.meshgrid(x,y)
 
fig = plt.figure()
ax=Axes3D(fig)
ax.plot_surface(X,Y,Z, rstride=1, cstride=1, cmap=cm.viridis)
ax.plot_surface(X,Y,W, rstride=1, cstride=1, cmap=cm.viridis)
#ax.set_title('')
fig.savefig("band3d.pdf")
plt.show()

---------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------

m     Chern number

-4       0

-3       0

-1       1

0       0

1      -1

3       0

4       0

m < -2,
-2< m < 0, 
0 < m < 2,  
m > 2
m 값에 따라서 동일한 Chern number를 가지는 구간이 있다.
그리고 m 값의 변화에 따라서 Chern number가 갑자기 바뀐다. 이를 topological phase transition이라고 한다.  
m_c=-2, 0, 2
topological phase transitions
이들 점에서는 사실 Chern number가 잘 정의가 안 된다. 왜냐하면, insulator가 아니기 때문이다.
밴드갭이 없어지기 전후를 비교해야 한다. 밴드갭이 없어지는 순간을 기준으로 Chern number의 변화가 발생한다.
정확하게 밴드갭이 없어지기 때문이다. 또한, 밴드갭이 없어지는 k point의 갯수가 다르다.
이 갯수는 Chern number 값의 변화와도 관계가 있다.
m=2 일 때, 4개의 k points에서 밴드갭이 0으로 간다.
 
---------------------------------------------------------------------------------------------------------------------
m=-2
---------------------------------------------------------------------------------------------------------------------
 
m=0
---------------------------------------------------------------------------------------------------------------------
# Written by In-Ho Lee, KRISS, May 12 (2019).
import numpy as np
from numpy import linalg as LA
import matplotlib.pyplot as plt
 
x=[]
y=[]
with open('output','r') as ifile:
     for line in ifile:
         for j in range(len(line.split())):
              if j == 0 :
                  m=int(line.split()[j])
                  x.append(m)
              if j == 1 :
                  c=float(line.split()[j])
                  y.append(c)
x=np.array(x)
y=np.array(y)
 
#fig, ax=plt.subplots()
fig, ax = plt.subplots(subplot_kw={'facecolor': "#ebf5ff"})
#ax.plot(x,y, 'o')
ax.scatter(x,y, s=25, c='r', marker='o', alpha=0.5)
ax.set_xlabel(r'$m$',fontsize=15)
ax.set_ylabel(r'$Chern(m)$',fontsize=15)
ax.set_xlim([-4, 4])
ax.set_ylim([-2, 2])
ax.grid(True)
fig.tight_layout()
#ax.set_title('')
fig.savefig("m_C.pdf")
plt.show()

---------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------
 


 
 
위상학적으로 보호받는 특별한 상태가 존재하게 된다. 
계면을 따라서 손실이 없이 전파가 잘 되는 상태가 존재하게 된다.
소리, 광, 전자 모두에 해당된다.
 
 
 
오일러 지표, 위상수학, 위상학적 불변량, 그리고 새로운 물질의 분류 (위상학적 상전이)
 
오일러 지표 그리고 위상수학 [位相數學] (위상학적 불변량)
 
눈에 보이는 것으로 설명하는 것이 중요합니다. 왜냐 하면 이것이 나름 심오합니다.
 
3차원에서 형성된 다면체를 먼저 고려합니다.
 
오일러 지표는 처음 오일러에 의해서 정의 되었다. 
다면체에 대해서 정의했었다.
그 후, 다면체를 넘어서 새로운 곳에서도 여전히 유용함을 알 수 있다.  
 
오일러 지표가 아래와 같은 성질을 가지는지 체크해 보자.
국소적이지 않다.
전체적으로 결정되는 것이다.
더하기를 해서 변하는 것이 아니다. 크기가 커다고 해서 커지는 것이 아니다.
시간 의존성이 없다.
비선형적이다.
 
 
오일러 지표 : V -E +F = 2, 여기에서 V, E, F는 아래와 같이 정의한다. 
꼭지점의 수 : V
모서리의 수 : E
면의 수     : F
 
\[ V-E+F= 2  \]
 
The Euler characteristic is a topological invariant.
That means that if two objects are topologically the same, they have the same Euler characteristic.
 
위상수학(位相數學, 영어: topology)은 연결성이나 연속성 등, 작은 변환에 의존하지 않는 기하학적 성질들을 다루는 수학의 한 분야이다.  위상수학은 위상기하학(位相幾何學)이라고도 불리운다.
 
 
 
 
정20면체 (20면, 12개 꼭지점, 30개 모서리, V -E +F = 12-30+20=2)
잘려진 정20면체 : 좌측의 경우, V -E +F = 60 -90 + 32   = 2.
 
탄소60, 풀러렌에는 왜 오각형이 12개만 존재하는가?
더 큰 크기의 탄소 클러스터에서도 안정한 구조들에서 오각형은 12개만 필요하다.  [가장 안정한 구조의 경우에 그렇다.]
 
2차원에서는 V -E +F= 1이 됩니다. 오일러 지표값이 1이 됩니다.
아래에 표시된 그림들을 보면 오일러 지표를 계산할 수 있습니다. 
 
 
2차원에서 원을 만들 수 있다. 그런데, 그 원을 위의 삼각형을 변형시켜서 만들었다고 하자. 피자 반죽을 생각하고, 그것을 변형시키는 과정을 생각해 보자.
 
원의 오일러 지표는 1이다. 위의 그림들을 응용하면 원을 만들 수 있다.
아래의 2차원에 표시된 사각형도 오일러 지표는 1이다.
오일러 지표를 기준으로 보면 아래와 같이 서로 같은 것이라고 말할 수 있다.
모두 다 오일러 지표가 1이기 때문이다. 오일러 지표는 전체 모양과 관련된 수이다. 
기하학적으로는 서로 다른 것들인데, 위상학적으로는 서로 같은 것이다. 
예를 들어, 각이 져있는 물체, 정20면체와 각이 없는 매끈한 구를 비교해 보는 것은 매우 의미있다.
이들 모두 오일러 지수는 2이다.
마찬가지로 토러스는 0인데, 0인 물체를 만들수 있다. 토러스를 각지게 만들면 된다.  
 
V-E+F = 2 -2g =2(1-g)
 
\[V-E+F = 2(1-g) \]
 
 
 
V-E+F= 16-32+16=0
 
오일러 지표가 위상학적 불변량 역할을 하고 있다. 위상학적 불변량 = 2
다시 말해서 위상학적 불변량이 같으면 위상학적으로 동일하다고 한다. 
 
 
물리학에서도 위상학적 불변량이 있다. 시간 의존성이 없고, 오로지 기하학적 모양에 의해서만 정의되는 것이다. 
위상학적 불변량은 물량이 많아서, 부피의 대소로부터 나오는 것이 아니다. 
국소적 성질에 의해서 생기는 것도 아니다. 오히려 전반적인 구조적 특성에서 기인하는 것이다. 
시스템 고유의 기학적 배치에 의한 것이다.
또한, 실험적으로 측정 가능한 위상학적 불변량이 있을 수 있다.
이미 노벨 물리학상이 나왔다.: 
 
위에서 언급한 노벨 물리학상의 확장 개념으로 활발한 연구들이 진행되고 있다.
최근 15년간 이러한 위상학적 불변량을 찾아내고 측정하는 것이 중요한 물리학의 일부가 되었다.
위상학적으로 새롭게 물질 분류가 가능하다. 
외부 조건 변화에 대해서 변하지 않는 양이 있다면 매우 유용할 것이다. 
천천히 연속적으로 변화하는 환경에서 변화하지 않는 특정한 지표가 있다면 유용할 것이다.
특히, 이것이 측정 가능한 것이라면 더더욱 놀라운 기준이 될 것이다.
본디 물리학은 불변량을 찾는 학문이기 때문이다. 
이렇게 되면, 식물의 분류학에서 처럼, 물질을 분류할 수도 있을 것이다. 
 
동일한 유전형질을 나타내는 개체군을 종이라고 표현하듯이 위상학적 불변량이 같은 것은 같은 물질 "종"으로 분류할 수 있을 것이다.  
 
여기서 동일한 유전형질은 '위상학적 불변량'이 될 것이다.
따라서, 서로 다른 물질 "종"은 위상학적으로 서로 다른 "고유의 위상학적 불변량"을 가지게 되는 것이다. 
 
그렇다면, 과연 무엇이 위상학적 불변량이 될 수 있을까?
잘 알려진 것처럼, 물질의 성질은 소위 전자구조에 의해서 결정된다.
예를 들면, 도체, 절연체, 반도체에서 처럼, 전자구조가 물성을 좌우한다.
전자구조라 함은 전자들이 어떻게 배열되어 있는가에 대한 것이다.
반도체의 경우, 온도가 올라가면 전기가 더 잘 통할 수 있다.
이것은 아주 작은 크기의 밴드갭을 가지는 매우 독특한 전자구조를 가지고 있기 때문에 가능하다.
 
전자들의 상태가 Brillouin zone(BZ) 내부 공간에서 어떻게 분포하는가?
사실 BZ는 torus 같은 것이다. 왜냐하면 반복되는 구조를 가지고 있다. 
특정한 방향으로 여행을 하면 제자리로 돌아오게 되어 있다.
아래 그림에서처럼 일차원인 경우 -pi와 pi는 같은 위치를 나타낸다.
분명, 제자리로 돌아왔는데, 0 이라는 것이 아니라, 뭔가가 달라져 있다면, 그것이 베리위상이다.
밴드구조를 보고 물질의 특성을 구별할 수 있을 수도 있다. 하지만, 위상학적 분류는 쉽지 않다. 
밴드구조만 보고 추측을 할수는 있지만, 결론지을 수는 없다. 사실상 불가능하다.
밴드구조만으로 위상학적 불변량을 계산할 수 없다. 
본질적으로 파동함수, 해밀토니안 없이는 구별이 안 된다.
사실, 우리는 홀데인 모델에서 출발할 수 있다. 
이것이 왜 위상 절연체가 매우 나중에 정의되고 발견되었는지를 잘 설명해준다.
밴드구조만으로는 본질적으로 위상 물질을 정의할 수 없다. 파동함수를 반드시 알아야만 한다.  
하지만, 특별한 경우, 밴드구조를 보고 위상학적으로 물질을 분류할수도 있다.
 
 

두 가지 구조들이 상반된 패턴들을 가지고, 서로 만날 때,

위상학적으로 반전된 파동함수를 연결해 줘야 하는 상태가 경계에서 존재해야만 한다.

경계 상태가 전도성을 가지게 된다.

절연체가 이러한 경계 상태를 가지며 이러한 경우, 위상 절연체가 된다. 위상 절연체는 부피는 절연체인데 표면은 도체가 된다.

절연체가 아니라고 하더라도 물질에 대한, 즉, 전자구조에 대한 위상 논의는 여전히 가능하다.

 
 
topological invariants: nonlocal, nonlinear, intensive, global, time-independent
topological phase transitions: 
[Chern number 계산을 통한 전자구조 (밴드구조) 분류 예제]
 
 
h(kx,ky,m)=sin(kx) sigma1 + sin(ky) sigma2 +(m+cos(kx)+cos(ky)) sigma3
 
\[ {\Large h(k_x,k_y, m) = sin(k_x) \sigma_1 + sin(k_y) \sigma_2 + \left\{ m + cos(k_x)+cos(k_y)  \right\}\sigma_3 } \]
 
 
 

두 가지 구조들이 상반된 패턴들을 가지고, 서로 만날 때,

위상학적으로 반전된 파동함수를 연결해 줘야 하는 상태가 경계에서 존재해야만 한다.

경계 상태가 전도성을 가지게 된다.

절연체가 이러한 경계 상태를 가지며 이러한 경우, 위상 절연체가 된다.

 
위상학적으로 보호받는 특별한 상태가 존재하게 된다. 
계면을 따라서 손실이 없이 전파가 잘 되는 상태가 존재하게 된다.
소리, 광, 전자 모두에 해당된다.
 
---------------------------------------------------------------------------------------------------------------------
T^2 = eta I = -I or +I
 
 
---------------------------------------------------------------------------------------------------------------------
 
위상: 수학에서 사용하는 것. 위치를 나타낼 때 사용하는 '위', 서로의 관계를 나타내는 '상'이 만나서 하나의 단어가 되었다. 位相
 
위상수학은 생물학에서 찾을 수 있는 분류학과 유사한 점이 있다. 이것과 저것은 같은 것이다. 아니다. 
 
 
 
다양한 대칭성의 결과가 고유값의 축퇴라고 볼 수 있다. 하지만, 많은 경우들에서 파동함수의 위상에  대한 언급은 필요가 없다. 
 
많은 경우들에서 파동함수의 위상이 직접적인 일을 할 수 있는 경우가 있다. 
 
양자역학에서 파동함수의 위상은 별일을 하지 않는 경우가 많이 있다.
 
하지만, 파동함수의 위상이 매우 결정적인 일을 할 때가 있다. 현대 고체물리학에서 더욱 더 그렇다.
 
 
 
결국, 고체물리학, 응집물리학에서 위상수학이 적용하되면 물질/소재의 분류에 사용될 수 있다.
 
약 20,000 가지 물질이 있다.
 
그 중에 대략 100개는 fragile topology를 가지고 있다. fragile topology 물질은 전도를 할 수 있는 표면상태가 없다.
 
 
 
기본적으로 위상 수학을 활용하면 분류학에서처럼 물질을 분류하는데 사용될 수 있다. 
 
이 때 중요한 것은 위상 불변량을 찾는 것이다. 이것이 분류를 가능하게 하는 기본 인자가 된다.
 
위상 불변량은 천천히 그리고 연속적으로 바뀌는 외부 변화에도 불변이다. 또한, 시간 의존성이 없는 것이 특징이다.
 
 
연결성이나 연속성 등, 작은 변환에 의존하지 않는 기하학적 성질을 위상학적인 것이라고 부를 수 있다.
 
위상 불변량은 비국소, 비선형, 세기형이다.
 
위상불변량이 같으면 위상학적으로 동일하다고 한다. 
 
 
--------------------------------------------------------------------------------------------------------------

양자홀 상태: 2차원 물질 가장자리를 따라서 시계방향 혹은 반시계 방향으로 홀 전류가 흐른다.

2차원 금속에 수직방향으로 자기장을 걸어둔 상태, 자기장의 방향에 따라서 부호가 결정되는 양자화된 홀 전도도를 가진다.

란다우 준위가 에너지 갭에 의해서 잘 정의되는한 동일한 홀 전도도를 가진다. 즉, 홀 전도도는 위상 불변량으로 불리게 된다. 해당 파동함수의 고유한 성질에 기인한다.

에너지 갭이 0으로 접근할 경우, 위상 상전이가 가능하다.

 

베리 곡률의 적분값  천 숫자

 위상 불변량 (수학)

 란다우 준위가 존재하는 사실이 중요하다기 보다는 오히려  전자 파동함수가 k 공간에서 만드는 폐곡면이 가지는 구멍의 갯수

 란다우 준위없이 양자 홀 효과가 가능한 격자 모델 

 홀데인 모델

 주기적인 자기장 변화, 합이 0이되는 것, 즉, 총 자기장이 0인것. 란다우 준위가 없는 상황.

 에너지 갭 주변에서 큰 베리곡률이 발생함. 

 천숫자 =1 또는 -1이 가능해짐.

 

 

총 C=0, C_M /= 0 : 거울 대칭성 위상학적 결정 부도체

총 C=[C_M(i)+C_M(-i)]=0, C_M = [C_M(i) - C_M(-i)]/2 /= 0 : 거울 대칭성 위상학적 결정 부도체
짝수개의 디락콘들이 존재함.

1810.03484.pdf (arxiv.org)

 

샘플 의존성 없는 양자홀 효과

--------------------------------------------------------------------------------------------------------------

 

\[C=C_M(i)+C_M(-i)=0 \]

\[C_M=\{C_M(i)-C_M(-i) \}/2 \neq 0 \]

 

유한 천숫자, 2차원 절연체: 국소화된 바니어 함수가 존재하지 않는다.

시간역전 대칭, 2차원 스핀홀 절연체: 국소화된 바니어 함수가 존재하지 않는다.

위상학적 결정 절연체: 1,2차 절연체 (3차원), 1차 절연체 (2차원) --> 국소화된 바니어 함수가 존재하지 않는다.

양자 홀 절연체: 바니어 함수가 존재하지 않는다.

3차원 3차, 2차원 2차, 1차원 1차 절연체 : 국소화된 바니어 함수가 존재한다.

 

Periodic table of topological invariants - Wikipedia

 

https://docs.pybinding.site/en/stable/tutorial/fields.html
https://tight-binding.com/

https://www.physics.rutgers.edu/pythtb/

 

--------------------------------------------------------------------------------------------------------------------

 

https://www.youtube.com/watch?v=ACZC_XEyg9U

 

 

Wilson loops, Wannier charge centers (Berry phases)

 
 
 

두 가지 구조들이 상반된 패턴들을 가지고, 서로 만날 때,

위상학적으로 반전된 파동함수를 연결해 줘야 하는 상태가 경계에서 존재해야만 한다.

경계 상태가 전도성을 가지게 된다.

절연체가 이러한 경계 상태를 가지며 이러한 경우, 위상 절연체가 된다.

 
 
 
위상 물질은 기존의 밴드 이론에서 간과되었던 파동함수의 위상에 대한 새로운 해석을 준다. 
[위상학적 논의는 단지 전자에만 해당하는 것이 아니다. https://en.wikipedia.org/wiki/Photonic_topological_insulator
전자의 밴드 이론에만 국한되지 않는다. 전자, 광자, 포논의 밴드 이론에도 똑같이 적용된다.]
위상이 결정적인 역할을 할 수 있는 경우는 밴드가 꼬이는 경우이다. 브릴루앙 존에서 밴드가 꼬인 경우이다.
[실공간 단위셀에서도 마찬가지 예를 찾을 수 있다. Skirmion] 
브릴루앙 존은 주기적인 공간이다. 
브릴루앙 존내의 결정 운동량은 베리 위상을 공부할 때 출현하는 소위 천천히 변화하는 변수에 해당한다. 
통상 한바퀴를 돌면, 360도, 2 pi가되어야 한다. 자기 자신으로 돌아오는 것을 말한다. 
\[ exp(i 2\pi) =1 \]
 
하지만, 브릴루앙 존에서 한바퀴를 돌았는데, 어떤 파동함수의 위상이 2pi가 아니라 180도, pi가 되는 상황이 생길 수 있다.
이것은 마치 T라는 무엇을 제곱했는데, T^2 = 1이 아니고 T^2 = -1이 되는 것과 유사한 것이다.
\[ T^2 =1 \]
\[ T^2 = -1 \]
 
T=exp(-i pi/2) 이면 된다.  [시간 역진 대칭]
 
\[ T= exp(-i \pi/2)\]
 
M^2 = -1 이라는 것도 있을 수 있다. M = i, -i 이면된다. [거울 대칭]
 
\[ M^2 = -1 \] 
\[ M= i \]
\[ M= -i \] 
밴드는 결정 운동량 공간에서의 가능한 에너지 상태의 흐름인데, 이것이 보기좋게 꼬인 경우이다.
즉, 대칭성에 의해서 허용된 에너지 준위들에는 어느 정도 다양성을 확보할 수 있는 여유가 있다. 
[높은 대칭성을 가지는 k point에서 밴드가 벗어날 때, 동등한 수준의 다소 낮은 대칭성을 가지는 k point들이 존재한다. 
이 때, 밴드는 여러 가지 에너지 준위들 중에서 특별한 하나를 선택할 수 있다. 더 높이 올라갈 수도 더 낮게 내려 갈 수도 있다.
그 다음 이 밴드는 또 다시 높은 대칭성을 가지는 k point로 이동해야만 한다. 
또한 그곳에서는 높은 축퇴를 만족해야할 것이다.] 
밴드의 흐름에는 하나 이상의 새로운 가능성이 있다. 이것을 가능하게 하는 에너지 요인이, 물론, 필요하다. 
여전히 대칭성을 만족하면서 에너지 준위를 새롭게 개편할 수 있는 요인이 필요하다. 
이 요인은 많은 경우, 스핀-궤도 결합니다. 이것은 상대론적 효과이다. [sigma . p 으로 time-reversal symmetry를 깨지 않는다.]
통상 스핀-궤도 결합(spin-orbit coupling)의 크기는 무거운 원자들에서 잘 나타난다 
\[ Z^4 \]
Z^4에 비례한다. Z 는 원자가 가지는 전자수를 지칭한다.
쉽게 이야기 하면, 스핀-궤도 결합에 의해서, 
기존의 결정 대칭성을 그대로 만족하는, 결정 운동량 공간에서, 새로운 에너지들의 재편성이 가능하다.
즉, 꼬인 밴드를 얻을 수 있다. 브릴루앙 존은 주기적인 공간이다. 
스핀-궤도 결합(spin-orbit coupling)에 의해서 에너지 준위가 개편된다고 하더라도 
여전히 기존의 각종 대칭성에 의해서 특정한 결정 운동량 값들에서는 에너지 준위에서 다소 높은 축퇴를 얻어 낼 수 있다. 
이렇게 되면, 이 물질은 고유한 표면 상태를 가지게 된다. 이 고유한 표면상태는 없애 버릴 수 없는 것이다.
또한, 강력한 진행성향을 가지고 있어서, 높은 이동도를 보이게 된다. 
[백스캐터링이 불가능하게 된다. 자성 불순물이 존재하지 않는한 뒤로 산란될 수 없다.]
사실, 이러한 상태의 전자들은 결코 국소화될 수 없는 운명에 직면하게 된다. 
공간 한 곳에 머물러 있을 수 없게 된다. [Wannier charge center(WCC)가 외부 변수에 따라서 크게 이동하게 된다.][WCC flow = WCC evolution == Wilson loop]
적어도 한 방향으로는 국소화될 수 없게되는 경우가 있다.
많은 경우는 3차원에서 세 방향으로 모두 국소화되기도 한다.
이러한 물질에서는 공간에 의해서만 정의되는 위상 불변량을 정의할 수 있게 된다.
이러한 위상 불변량은 측정 가능한 물리량으로 귀결된다. 
연속적이고 전반적인 유연한 변화에 둔감한 것이 위상 불변량이다. [topological invariant]
 
위상 물질의 출현은 기존의 대칭성에 의한 물질의 분류를 넘어서게 하는 예제가 된다. 
위상 불변량에 의해서 새롭게 정의되는 물질 분류가 가능하다.
기존에는 위상 불변량을 도입하여 물질을 분류할 수 있을 것이라고 생각하지 않았다. 
과거에도 물질들은 그대로 있었다. 하지만, 새로운 물질의 분류가 위상 불변량에 의해서 가능하게 된 것이다.
대략적으로 24% 물질이 위상 물질이라고 한다. 위상 물질을 이용한 응용 연구도 활발하다.
과거 열전 물질로 잘 알려진 것들이 대부분 위상 물질이다. 이들은 대부분 높은 전기 전도도를 가지고 있었다.
 
위상 물질을 이론적으로 확인하는 방법에 대한 연구가 많이 진행되어 왔다.  [약 15년 정도 연구가 진행되었다.]
위상 물질은 파동함수의 베리 위상으로 부터 발현한다. 따라서, 파동함수를 파악하는 것이 매우 중요하다.
통상 고유값같은 직접적으로 측정 가능한 물리량과는 다소 거리가 있는 것이다.
파동의 위상이 측정 가능한 물리량으로 직결되는 경우는 그렇게 많지 않다.
 
덩치상태 물성으로 부터 위상 물질 여부를 파악해 낼 수 있다.
파동함수 없이 고유값만으로 위상 물질 진위를 파악하는 것은 매우 어렵다. 
[불가능하지는 않다. 하지만, 결국 파동함수로 부터 기인하는 물리량이라는 점에 유의해야만 한다.]
 
베리위상은 시간 의존성이 없는 것이다.
완전하게 공간으로만 정의되는 것이다. 공간에 대한 해석만으로 정의된다.
게이지 불변인 것이다. 관측될 수 있다. 물리량으로 연결될 수 있다. 실험적으로 관측가능할 수 있다.
 
베리 위상의 실제 계산 방법들을 생각하자.
그 중에서 Wilson loop를 이용하는 것이 유명하다. 
또한, Wannier charge center(WCC)를 전자구조 밴드 그리듯이 그리는 방법이 있다.
여기서 WCC는 사실상 베리 위상을 의미한다. 베리 위상의 계산으로 부터 WCC를 얻어낼 수 있다.
 
[time-reversal symmetry가 있는 경우에 대해서 토의한다.] 반전 대칭성이 있거나 없거나 동일한 논의가 가능하다.
 
예를들면, 아래의 그림처럼 두 가지 WCC 밴드를 생각한다. red band, blue band를 생각한다.
즉, x (xbar) 방향의 WCC값을 ky의 함수로 계산할 수 있다. 
즉, 베리 위상을 계산하는 과정에서, kx 방향으로 적분을 수행한 경우이다. 
xbar = xbar(ky) 처럼 그릴수 있다.
 
적분을 통해서 우리는 { kx, ky } 공간 --> { xbar, ky } 공간으로 변형할 수 있다.
 
채워진 밴드들로 부터 얻을 수 있는 총 베리 위상을 계산해 보자. == 윌슨루프 계산 [Chern number를 계산하는 방법] :
가장 먼저, k points를 준비한다. (되돌아 오는 경로를 선택한다. Brillouin zone은 주기적인 공간이다.)
k0, k1, k2, ..., kn=k0  (C: path를 준비한다.)
중첩 행렬(M)을 계산한다. 곧바로 SVD(singular value decomposition)를 실행한다. 
최대한 정렬하여 배열한다는 의미를 가지고 있다.
W=UV^+ 로 선언되는 W 행렬을 계산한다. M으로 부터 W를 얻어낸다.
결국, 순차적으로 W=UV^+를 계속해서 만들어 내고 연속해서 곱해나간다. 
최종적으로 얻어낸 행렬을 대각화 한다. 
고유치를 얻어낸다.
 
검증 방법: Wilson loop eigenvalues vs discretization step 수에 대해서 수렴성을 체크할 수 있다. 
보다 많은 단계들을 이용할 경우, 고유치는 수렴할 것이다.
 
 
 
W(C)는 사실 아래 식의 Lambda와 같은 것이다. 
 
[0, 2pi] 구간에 대해서 적용한 경우를 보자. 
순서대로 M 행렬을 연속적으로 곱한것을 Lambda로 볼 수 있다. 
 
 
 
red band, blue band 사이의 중간값에 해당하는 green line을 정의한다.
green line에 집중한다. 이것이 불연속적인 부분을 체크한다. [0, pi] 구간에서 불연속적인 점의 갯수를 체크한다.
 
적분이 ky 방향에 대해서 이루어진 경우
적분이 kx, ky 방향에 대해서 이루어진 경우
 
WCC 밴드 구조와 전자구조 밴드 구조의 유사성을 알아보자.
 
 
Wannier charge center는 여러 개가 있을 수 있다. 단위셀에 두 개가 있을 수 있다.
 
“Topological invariant” = quantity that does not change under continuous deformation
 
포토닉스 경우에 적용: one-way edge waveguide https://www.nature.com/articles/nphoton.2014.248