Hamiltonian_of_finite_size_systems.py
Code:
import guan
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_three_directions_for_cubic_lattice(2, 2, 2), '\n')
Result:
[[0.+0.j 1.+0.j 0.+0.j]
[1.+0.j 0.+0.j 1.+0.j]
[0.+0.j 1.+0.j 0.+0.j]]
[[0.+0.j 1.+0.j 1.+0.j 0.+0.j]
[1.+0.j 0.+0.j 0.+0.j 1.+0.j]
[1.+0.j 0.+0.j 0.+0.j 1.+0.j]
[0.+0.j 1.+0.j 1.+0.j 0.+0.j]]
[[0.+0.j 1.+0.j 1.+0.j 0.+0.j 1.+0.j 0.+0.j 0.+0.j 0.+0.j]
[1.+0.j 0.+0.j 0.+0.j 1.+0.j 0.+0.j 1.+0.j 0.+0.j 0.+0.j]
[1.+0.j 0.+0.j 0.+0.j 1.+0.j 0.+0.j 0.+0.j 1.+0.j 0.+0.j]
[0.+0.j 1.+0.j 1.+0.j 0.+0.j 0.+0.j 0.+0.j 0.+0.j 1.+0.j]
[1.+0.j 0.+0.j 0.+0.j 0.+0.j 0.+0.j 1.+0.j 1.+0.j 0.+0.j]
[0.+0.j 1.+0.j 0.+0.j 0.+0.j 1.+0.j 0.+0.j 0.+0.j 1.+0.j]
[0.+0.j 0.+0.j 1.+0.j 0.+0.j 1.+0.j 0.+0.j 0.+0.j 1.+0.j]
[0.+0.j 0.+0.j 0.+0.j 1.+0.j 0.+0.j 1.+0.j 1.+0.j 0.+0.j]]