This commit is contained in:
guanjihuan 2022-02-21 13:36:48 +08:00
parent 6b84da5e77
commit aac766afbe
8 changed files with 3 additions and 15 deletions

View File

@ -1,9 +1,6 @@
import guan import guan
# test
guan.test() guan.test()
# Pauli matrix
sigma_0 = guan.sigma_0() sigma_0 = guan.sigma_0()
sigma_x = guan.sigma_x() sigma_x = guan.sigma_x()
sigma_y = guan.sigma_y() sigma_y = guan.sigma_y()

View File

@ -1,7 +1,6 @@
import guan import guan
import numpy as np import numpy as np
# Fourier transform / calculate band structures / plot figures
k_array = np.linspace(-np.pi, np.pi, 100) k_array = np.linspace(-np.pi, np.pi, 100)
hamiltonian_function = guan.one_dimensional_fourier_transform_with_k(unit_cell=0, hopping=1) # one dimensional chain hamiltonian_function = guan.one_dimensional_fourier_transform_with_k(unit_cell=0, hopping=1) # one dimensional chain
eigenvalue_array = guan.calculate_eigenvalue_with_one_parameter(k_array, hamiltonian_function) eigenvalue_array = guan.calculate_eigenvalue_with_one_parameter(k_array, hamiltonian_function)

View File

@ -1,6 +1,5 @@
import guan import guan
# Hamiltonian of finite size
print('\n', guan.hamiltonian_of_finite_size_system_along_one_direction(3), '\n') print('\n', guan.hamiltonian_of_finite_size_system_along_one_direction(3), '\n')
print(guan.hamiltonian_of_finite_size_system_along_two_directions_for_square_lattice(2, 2), '\n') print(guan.hamiltonian_of_finite_size_system_along_two_directions_for_square_lattice(2, 2), '\n')
print(guan.hamiltonian_of_finite_size_system_along_three_directions_for_cubic_lattice(2, 2, 2), '\n') print(guan.hamiltonian_of_finite_size_system_along_three_directions_for_cubic_lattice(2, 2, 2), '\n')

View File

@ -1,7 +1,6 @@
import guan import guan
import numpy as np import numpy as np
# Hamiltonian of models in the reciprocal space / calculate band structures / plot figures
k_array = np.linspace(-np.pi, np.pi, 100) k_array = np.linspace(-np.pi, np.pi, 100)
eigenvalue_array = guan.calculate_eigenvalue_with_one_parameter(k_array, guan.hamiltonian_of_square_lattice_in_quasi_one_dimension) eigenvalue_array = guan.calculate_eigenvalue_with_one_parameter(k_array, guan.hamiltonian_of_square_lattice_in_quasi_one_dimension)
guan.plot(k_array, eigenvalue_array, xlabel='k', ylabel='E', type='-k') guan.plot(k_array, eigenvalue_array, xlabel='k', ylabel='E', type='-k')

View File

@ -1,11 +1,10 @@
import guan import guan
import numpy as np import numpy as np
# calculate density of states
hamiltonian = guan.hamiltonian_of_finite_size_system_along_two_directions_for_square_lattice(2,2) hamiltonian = guan.hamiltonian_of_finite_size_system_along_two_directions_for_square_lattice(2,2)
fermi_energy_array = np.linspace(-4, 4, 400) fermi_energy_array = np.linspace(-4, 4, 400)
total_dos_array = guan.total_density_of_states_with_fermi_energy_array(fermi_energy_array, hamiltonian, broadening=0.1) total_dos_array = guan.total_density_of_states_with_fermi_energy_array(fermi_energy_array, hamiltonian, broadening=0.1)
guan.plot(fermi_energy_array, total_dos_array, xlabel='E', ylabel='Total DOS', type='-o') guan.plot(fermi_energy_array, total_dos_array, xlabel='E', ylabel='Total DOS', type='-')
fermi_energy = 0 fermi_energy = 0
N1 = 3 N1 = 3

View File

@ -1,13 +1,11 @@
import guan import guan
import numpy as np import numpy as np
# calculate conductance
fermi_energy_array = np.linspace(-4, 4, 400) fermi_energy_array = np.linspace(-4, 4, 400)
h00 = guan.hamiltonian_of_finite_size_system_along_one_direction(4) h00 = guan.hamiltonian_of_finite_size_system_along_one_direction(4)
h01 = np.identity(4) h01 = np.identity(4)
conductance_array = guan.calculate_conductance_with_fermi_energy_array(fermi_energy_array, h00, h01) conductance_array = guan.calculate_conductance_with_fermi_energy_array(fermi_energy_array, h00, h01)
guan.plot(fermi_energy_array, conductance_array, xlabel='E', ylabel='Conductance', type='-') guan.plot(fermi_energy_array, conductance_array, xlabel='E', ylabel='Conductance', type='-')
# calculate scattering matrix
fermi_energy = 0 fermi_energy = 0
guan.print_or_write_scattering_matrix(fermi_energy, h00, h01) guan.print_or_write_scattering_matrix(fermi_energy, h00, h01)

View File

@ -2,12 +2,10 @@ import guan
import numpy as np import numpy as np
from math import * from math import *
# calculate Chern number
chern_number = guan.calculate_chern_number_for_square_lattice(guan.hamiltonian_of_one_QAH_model, precision=100) chern_number = guan.calculate_chern_number_for_square_lattice(guan.hamiltonian_of_one_QAH_model, precision=100)
print('\nChern number=', chern_number) print('\nChern number=', chern_number, '\n')
# calculate Wilson loop
wilson_loop_array = guan.calculate_wilson_loop(guan.hamiltonian_of_ssh_model) wilson_loop_array = guan.calculate_wilson_loop(guan.hamiltonian_of_ssh_model)
print('Wilson loop =', wilson_loop_array) print('Wilson loop =', wilson_loop_array)
p = np.log(wilson_loop_array)/2/pi/1j p = np.log(wilson_loop_array)/2/pi/1j
print('p =', p, '\n') print('\np =', p, '\n')

View File

@ -1,7 +1,6 @@
import guan import guan
import numpy as np import numpy as np
# read and write
x_array = np.array([1, 2, 3]) x_array = np.array([1, 2, 3])
y_array = np.array([5, 6, 7]) y_array = np.array([5, 6, 7])
guan.write_one_dimensional_data(x_array, y_array, filename='one_dimensional_data') guan.write_one_dimensional_data(x_array, y_array, filename='one_dimensional_data')