gauge_hopping¶
full name: tenpy.models.hofstadter.gauge_hopping
parent module:
tenpy.models.hofstadter
type: function

tenpy.models.hofstadter.
gauge_hopping
(model_params)[source]¶ Compute hopping amplitudes for the Hofstadter models based on a gauge choice.
In the Hofstadter model, the magnetic field enters as an AharonovBohm phase. This phase is dependent on a choice of gauge, which simultaneously defines a ‘magnetic unit cell’ (MUC).
The magnetic unit cell is the smallest set of lattice plaquettes that encloses an integer number of flux quanta. It can be userdefined by setting mx and my, but for common gauge choices is computed based on the flux density.
 The gauge choices are:
‘landau_x’: Landau gauge along the xaxis. The magnetic unit cell will have shape :math`(mathtt{mx}, 1)`. For flux densities \(p/q\), mx will default to q. Example: at a flux density \(1/3\), the magnetic unit cell will have shape \((3,1)\), so it encloses exactly 1 flux quantum.
‘landau_y’: Landau gauge along the yaxis. The magnetic unit cell will have shape :math`(1, mathtt{my})`. For flux densities :math`p/q`, my will default to q. Example: at a flux density \(3/7\), the magnetic unit cell will have shape \((1,7)\), so it encloses axactly 3 flux quanta.
‘symmetric’: symmetric gauge. The magnetic unit cell will have shape \((\mathtt{mx}, \mathtt{my})\), with \(mx = my\). For flux densities \(p/q\), mx and my will default to \(q\) Example: at a flux density 4/9, the magnetic unit cell will have shape (9,9).
 Parameters
gauge ('landau_x'  'landau_y'  'symmetric') – Choice of the gauge, see table above.
my (mx,) – Dimensions of the magnetic unit cell in terms of lattice sites.
None
defaults to the minimal choice compatible with gauge and phi_pq.Jy (Jx,) – ‘Bare’ hopping amplitudes (without phase). Without any flux we have
hop_x = Jx
andhop_y = Jy
.phi_pq (tuple (int, int)) – Magnetic flux as a fraction p/q, defined as (p, q)
 Returns
hop_x, hop_y – Hopping amplitudes to be used as prefactors for \(c^\dagger_{x,y} c_{x+1,y}\) (hop_x) and \(c^\dagger_{x,y} c_{x,y+1}\) (hop_x), respectively, with the necessary phases for the gauge.
 Return type
float  array