# Documentation:Bosons in an optical lattice

## Contents

# Bandstructure of an homogeneous optical lattice

## Theory

At this first moment, we shall look at the simplest case, i.e. a single particle of mass m which experiences a periodic potential , where

in the units of recoil energy and lattice spacing .

The quantum mechanical behaviour of the single particle follows

which is clearly separable to say the x-component:

In the plane wave basis,

we arrive at a tridiagonal diagonalization problem:

The wannier function is defined as:

and from there, one can calculate the onsite interaction:

After a little bit of algebra, we arrive at the hopping strength:

Finally, the Fourier transform of the wannier function is:

## Implementation in Python

### An example

For instance:

import numpy; import pyalps.dwa; V0 = numpy.array([8. , 8. , 8.]); # in recoil energies wlen = numpy.array([843., 843., 843.]); # in nanometer a = 114.8; # s-wave scattering length in bohr radius m = 86.99; # mass in atomic mass unit L = 200; # lattice size (along 1 direction) band = pyalps.dwa.bandstructure(V0, wlen, a, m, L);

A first glance of the band structure:

>>> band Optical lattice: ================ V0 [Er] = 8 8 8 lamda [nm] = 843 843 843 Er2nK = 154.89 154.89 154.89 L = 200 g = 5.68473 Band structure: =============== t [nK] : 4.77051 4.77051 4.77051 U [nK] : 38.7018 U/t : 8.11272 8.11272 8.11272 wk2[0 ,0 ,0 ] : 5.81884e-08 wk2[pi,pi,pi] : 1.39558e-08

Well, the values of t (nK), U (nK), and U/t can be obtained via:

>>> numpy.array(band.t()) array([ 4.77050984, 4.77050984, 4.77050984]) >>> >>> numpy.array(band.U()) array(38.7018197381118) >>> >>> numpy.array(band.Ut()) array([ 8.11272192, 8.11272192, 8.11272192])

In momentum () space, the (squared) wannier function **Failed to parse (Missing <code>texvc</code> executable. Please see math/README to configure.): |\title{w}(\vec{q}|^2 **
can be obtained from:

>>> numpy.array(band.q(0)) array([-5. , -4.995, -4.99 , ..., 5.985, 5.99 , 5.995]) >>> >>> numpy.array(band.wk2(0)) array([ 7.57249518e-15, 7.88189086e-15, 8.20434507e-15, ..., 1.62988573e-18, 1.56057426e-18, 1.49429285e-18])