Bose-Hubbard dimer: number squeezing in a bosonic Josephson junction#
The two-mode Bose-Hubbard model describes interacting bosons in a double well and provides the minimal quantum model of a bosonic Josephson junction.[1][2][3] At fixed total particle number,
The competition is between tunneling, which favors phase coherence across the wells, and repulsion, which suppresses number imbalance.
For \(N=8\), the fixed-\(N\) Hilbert space contains \(N+1=9\) Fock states.
Schwinger representation#
Define
Up to an \(N\)-dependent constant,
from edinpy import boson as edb
N = 8
J = 1.0
U = 4.0
well = edb.DoF(2, name="well", labels=("left", "right"))
modes = edb.BosonModes(well)
sector = edb.NParticleSector(modes, N=N).build()
H = (
edb.Hopping(0, 1, -J, modes)
+ edb.Hubbard(0, U, modes)
+ edb.Hubbard(1, U, modes)
)
Sx = edb.SpinX(0, 1, modes)
Sz = edb.SpinZ(0, 1, modes)
Low-energy spectrum#
Lowest excitation energies of the \(N=8\) Bose-Hubbard dimer. Repulsion changes the level spacing as fluctuations in the occupation imbalance become increasingly costly.#
First-order coherence#
The normalized transverse coherence is
At \(U=0\) all particles occupy the bonding orbital and \(\mathcal C=1\).
hamiltonian = edb.Hamiltonian(H, sector)
hamiltonian.eigsolve(k=None)
psi0 = hamiltonian.eigenstate(0)
coherence = np.real(psi0.dag * Sx * psi0) / (N / 2)
Normalized interwell coherence. Repulsive interactions progressively reduce the bonding-orbital coherence of the ground state.#
Number squeezing#
The normalized number-imbalance fluctuation is
imbalance = np.real(psi0.dag * Sz * Sz * psi0) / (N / 2) ** 2
Normalized imbalance fluctuations. Increasing \(U/J\) squeezes the relative particle number between the two wells.#
Fock-space redistribution#
The Fock basis is
with probabilities
Ground-state Fock probabilities. The broad binomial-like distribution at weak coupling narrows around balanced occupation as repulsion suppresses number fluctuations.#