# arc.calculations_atom_single.OpticalLattice1D.diagonalise#

OpticalLattice1D.diagonalise(trapPotentialDepth, quasimomentumList, saveBandIndex=None)[source]#

Calculates energy levels (Bloch bands) for given quasimomentumList

Energy levels and their quasimomentum are saved in internal variables energy and quasimomentum. Energies are saved in units of recoil energy, and quasimomentum in units of The optional parameter saveBandIndex specifies index of the Bloch band for which eigenvectrors should be saved. If provided, eigenvectors for each value quasimomentumList[i] are saved in savedBlochBand[i].

Parameters
• latticePotential (float) – lattice depth formed by the standing wave of laser, with wavelength specified during initialisation of the lattice (in units of recoil energy).

• quasimomentumList (array) – array of quasimomentum values for which energy levels will be calculated (in units of $$\hbar \cdot k$$, where $$k$$ is trapping laser wavevector; since reciprocal lattice has twice the trapping laser wavevector due to standing wave, full range of quasimomentum is from -1 to +1)

• saveBandIndex (int) – optional, default None. If provided, specifies for which Bloch band should the eignevectors be also saved. saveBlochBand=0 corresponds to lowest energy band.