Learn more about our quantum error correction milestone

openfermion.hamiltonians.bose_hubbard

Return symbolic representation of a Bose-Hubbard Hamiltonian.

Used in the notebooks

Used in the tutorials

In this model, bosons move around on a lattice, and the energy of the model depends on where the bosons are.

The lattice is described by a 2D grid, with dimensions x_dimension x y_dimension. It is also possible to specify if the grid has periodic boundary conditions or not.

The Hamiltonian for the Bose-Hubbard model has the form

$$ H = - t \sum_{\langle i, j \rangle} (b_i^\dagger b_j + b_j^\dagger b_i)

 + V \sum_{\langle i, j \rangle} b_i^\dagger b_i b_j^\dagger b_j
 + \frac{U}{2} \sum_i b_i^\dagger b_i (b_i^\dagger b_i - 1)
 - \mu \sum_i b_i^\dagger b_i.

$$

where

- The indices \\(\langle i, j \rangle\\) run over pairs
  \\(i\\) and \\(j\\) of nodes that are connected to each other
  in the grid
- \\(t\\) is the tunneling amplitude
- \\(U\\) is the on-site interaction potential
- \\(\mu\\) is the chemical potential
- \\(V\\) is the dipole or nearest-neighbour interaction potential

x_dimension (int): The width of the grid. y_dimension (int): The height of the grid. tunneling (float): The tunneling amplitude \(t\). interaction (float): The attractive local interaction strength \(U\). chemical_potential (float, optional): The chemical potential \(\mu\) at each site. Default value is 0. periodic (bool, optional): If True, add periodic boundary conditions. Default is True. dipole (float): The attractive dipole interaction strength \(V\).

bose_hubbard_model An instance of the BosonOperator class.