Banner image placeholder
Banner image

Superfluidity in the 1D Bose-Hubbard Model


Notes
(forthcoming!)

Background

Here I've reproduced some results from Kiely and Mueller's 2022 paper, "Superfluidity in the one-dimensional Bose-Hubbard model". When first learning about superfluids, we always deal with systems in D>2, where symmetry breaking is the name of the game. In D=1, the Mermin-Wagner theorem prohibits us from spontaneusly breaking symmetries, and our usual explanation of superfluidity in terms of Bose-Einstein condensation no longer applies. 

Kiely and Mueller look at superfluidity precisely in 1D, by characterising the superfluid fraction in terms of the energy accrued by introducing site-by-site phase twists into the system. 

The algebraic behaviour of the two point correlation function is a tell-tale sign of a Luttinger liquid. The bond dimension introduces a length scale, after which the correlation function settles to a constant value. This bond dimension dependent correlation length is given in the inset.
Though Kiely and Mueller calculate the superfluid fraction by considering helicity moduli, the phase diagram can also be reasonably well-described by calculating the expectation value of ladder operators. Here we can clearly observe a Mott lobe!

The real fun of the paper lies in the methods they use, two variational approaches based on tensor networks: iDMRG and VUMPS. These are extremely efficient methods for calculating ground state (and some low lying-excited state) properties. The methods themselves also introduce some interesting physics into the analysis. Without going into too many details, within the framework of tensor networks, a state can be represented as a product of matrices (a MPS). A defining property of an MPS is its bond dimension, i.e. how many values the indices of the matrices can get. As it turns out, the bond dimension defines a finite length scale of the system, which makes itself manifest in a plethora of observables of the system, such as the momentum distribution, the correlation length, and the like.

The paper is an extremely entertaining read, with great insights sprinkled throughout, and I'd heartily recommend it to anybody with an interest in quantum fluids!

Luttinger liquids are gapless critical phases - their entanglement entropy is described by and area law. In 1D this is dependent on the length of the system. For us, a finite bond dimension induces an effective length scale.
As much as it may look like it, this distribution does not suggest Bose-Einstein behaviour - we cannot have symmetry breaking in 1D. Rather, what we are observing is a divergence in the momentum due to the critical nature of the system. The divergence, however, is tamed by the finite length scale introduced by the bond dimension.

Technical(-ish) Bits

In reproducing the paper, I made use of the excellent ITensorInfiniteMPS package in order to implement the VUMPS algorithm. It's an experimental extension of the well established ITensor and ITensorMPS suite for DMRG calculations. Though advertised as experimental, the package is incredibly well refined and works like a charm out of the box. The syntax is not too complicated - perusing and repurposing the available examples will be more than enough for most projects. 

Only one simple change needs to be made to the the package to run my code. ITensorInfiniteMPS comes with a preset number of models, but these do not include the 1D Bose-Hubbard model. While it is possible to define the model within any Julia script using ITensorInfiniteMPS, the Bose-Hubbard model is ubiquitous enough that I thought it would be nice to turn it into a callable model for the package. This involves adding a single file to the package's models folder, which I've included in the repository should you wish to use it.

The code I've written isn't the fastest or the prettiest, but it does get the job done reasonably well in a reasonable amount of time. kiely_mueller_density_matrix.jl is probably the best annotated of the bunch, and since parts of it are liberally reused in the rest, it's probably the best one to look at first.

The parameters with which VUMPS is executed with are what mostly determine how long it takes the code to run. It's good to experiment with them, and the model isn't that computationally intense to solve that messing around with the parameters too much will yield bad physics. The parameters I've chosen are a bit overkill!

Reference

T. G. Kiely and E. J. Mueller, Superfluidity in the one-dimensional Bose-Hubbard model, Phys. Rev. B 105,134502 (2022). arXiv:2202.00669

Translate to