20 lines
578 B
Python
Executable File
20 lines
578 B
Python
Executable File
import gjh
|
|
import numpy as np
|
|
import cmath
|
|
from math import *
|
|
|
|
def hamiltonian_function(k): # SSH model
|
|
gamma = 0.5
|
|
lambda0 = 1
|
|
delta = 0
|
|
hamiltonian = np.zeros((2, 2), dtype=complex)
|
|
hamiltonian[0,0] = delta
|
|
hamiltonian[1,1] = -delta
|
|
hamiltonian[0,1] = gamma+lambda0*cmath.exp(-1j*k)
|
|
hamiltonian[1,0] = gamma+lambda0*cmath.exp(1j*k)
|
|
return hamiltonian
|
|
|
|
wilson_loop_array = gjh.calculate_wilson_loop(hamiltonian_function)
|
|
print('wilson loop =', wilson_loop_array)
|
|
p = np.log(wilson_loop_array)/2/pi/1j
|
|
print('p =', p, '\n') |