Skip to content

francescobinanti/HofstadterModel

Repository files navigation

Topology in the Hofstadter Model

Hofstadter Model on a square lattice loaded with interacting bosons.

Table of Contents

General Information

This project is related to my research activity as a PhD student in the LPMMC laboratory, CNRS (Grenoble), under the supervision of C. Repellin.

It provides an exact diagonalization of the Hofstadter model for interacting bosons on a square lattice: $$H = -J\sum_{m,n} \bigg ( b^\dagger_{m+1,n} b_{m,n}e^{i2\pi\alpha n} + b^\dagger_{m,n+1} b_{m,n} + \text{h.c.} \bigg ) + \frac{U}{2}\sum_{m,n} b^\dagger_{m,n} b_{m,n} \left( b^\dagger_{m,n} b_{m,n} - 1 \right) + \frac{U_3}{6}\sum_{m,n} b^\dagger_{m,n} b_{m,n} \left( b^\dagger_{m,n} b_{m,n} - 1 \right)\left( b^\dagger_{m,n} b_{m,n} - 2 \right) + \sum_{m,n} V(m,n) b^\dagger_{m,n} b_{m,n}$$ It also gives a practical way to perform edge state spectroscopy via light-matter interaction, by mean of a Laguerre-Gauss beam (periodic perturbation of the Hamiltonian above). The spatial modes of the LG laser are: $$f_{n,l}(r,\theta) = L_n^l(r)\big( \frac{r}{r_0} \big)^l e^{\frac{r^2}{2r_0^2}} e^{i\theta l}$$ This gives a way to study the rich topological features of this model, that has already been implemented in experiments and can be useful for future applications in quantum computing.

Features

  • Exact diagonalization of the Hofstadter Model with open boundary conditions
  • Energy spectrum resolved in the C4 rotation symmetry
  • Absorption spectra calculated via transition matrix elements (from the ground state) $\bra{\psi_n}f_{n,l}\ket{\psi_0}$
  • Local particle density of a generic eigenstate of the Hamiltonian: $\bra{\psi_n}\hat n_i\ket{\psi_n}$
  • Time evolution protocol: ground state driven in time by a Laguerre-Gauss beam
  • Entanglement spectrum for a target state calculated with particle partition in real space

Usage

For info about usage just type 'python [name of the program].py -h'. Example of output below:

usage: HofstadterThreeBody.py [-h] [-N N] [-L L] [-J J] [-U U] [-U3 U3] [--conf CONF] [--alpha ALPHA] [--hardcore [HARDCORE]]
                              [--savestates [SAVESTATES]] [--nbreigenstates NBREIGENSTATES] [--c4symmetry [C4SYMMETRY]]

options:
  -h, --help            show this help message and exit
  -N                   number of particles
  -L                   side of the square lattice of size LxL
  -J                   tunneling energy
  -U                   two-body onsite interaction (only in softcore mode)
  -U3                  three-body onsite interaction (only in softcore mode)
  --conf CONF           harmonic trap confinement strength (v0) as v0 * r^2
  --alpha ALPHA         magnetic flux density as alpha=p/q
  --hardcore [HARDCORE]
                        hardcore bosons mode
  --savestates [SAVESTATES]
                        save eigenvectors
  --nbreigenstates NBREIGENSTATES
                        number of eigenstates to be saved
  --c4symmetry [C4SYMMETRY]
                        use the c4 rotation symmetry in the exact diagonalization

Room for Improvement

Here some inspiration for improvement/features that might be done in the future, and an imminent to-do list.

Room for improvement/new features:

  • Optimization for the building of the C4 symmetric Hamiltonian
  • Add periodic boundary conditions (cylinder and torus geometries)

Publications

F. Binanti, N. Goldman, C. Repellin, ArXiv:2306.01624

In this paper I used the code to benchmark an experimental protocol to detect topological edge states.

Acknowledgements

Many features of this project were inspired by Cecile Repellin (LPMMC Grenoble, CNRS).

Contact

Francesco Binanti ([email protected]) - feel free to contact me!