models.hofstadter.Hofstadter
full name: models.hofstadter.Hofstadter
parent module:
models.hofstadter
type: class
Inheritance Diagram
- class Hofstadter(p, q, a0=1, t=None, lat='bravais', alpha=1, theta=(1, 3), period=1)[source]
Bases:
object
The Hofstadter model class.
The Hamiltonian for the Hofstadter model is given as
\[H = - \sum_\kappa \sum_{\braket{ij}_\kappa} t_\kappa e^{i \theta_{ij}} c_i^\dagger c_j + \mathrm{H.c.},\]where \(\braket{\dots}_\kappa\) denotes \(\kappa\)-th nearest neighbors on some regular Euclidean lattice in the xy-plane, \(t_\kappa\) are the corresponding hopping amplitudes, \(\theta_{ij}\) are the Peierls phases, and \(c^{(\dagger)}\) are the particle (creation)annihilation operators.
Methods
__init__
(p, q[, a0, t, lat, alpha, theta, ...])Constructor for the Hofstadter class.
hamiltonian
(k_val)The Hamiltonian of the Hofstadter model.
Plot the lattice.
The unit cell of the Hofstadter model.
Attributes
The numerator of the coprime flux density fraction.
The denominator of the coprime flux density fraction.
The lattice constant (default=1).
The list of hopping amplitudes in order of ascending NN (default=[1]).
The name of the lattice (default="bravais").
The anisotropy of the Bravais lattice vectors (default=1).
The numerator of the fractional angle between Bravais lattice vectors in units of pi (default=1).
The denominator of the fractional angle between Bravais lattice vectors in units of pi (default=3).
The angle between Bravais lattice vectors (default=pi/3).
The factor by which to divide A_UC in the flux density (default=1).
- __init__(p, q, a0=1, t=None, lat='bravais', alpha=1, theta=(1, 3), period=1)[source]
Constructor for the Hofstadter class.
- Parameters:
p (int) – The numerator of the coprime flux density fraction.
q (int) – The denominator of the coprime flux density fraction.
a0 (float) – The lattice constant (default=1).
t (list) – The list of hopping amplitudes in order of ascending NN (default=[1]).
lat (str) – The name of the lattice (default=”bravais”).
alpha (float) – The anisotropy of the Bravais lattice vectors (default=1).
theta (tuple) – The angle between Bravais lattice vectors in units of pi (default=(1, 3)).
period (int) – The factor by which to divide A_UC in the flux density (default=1).
- hamiltonian(k_val)[source]
The Hamiltonian of the Hofstadter model.
- Parameters:
k_val (ndarray) – The momentum vector.
- Returns:
Hamiltonian – The Hofstadter Hamiltonian matrix of dimension (num_bands, num_bands).
- Return type:
ndarray
- theta0
The numerator of the fractional angle between Bravais lattice vectors in units of pi (default=1).
- Type:
- theta1
The denominator of the fractional angle between Bravais lattice vectors in units of pi (default=3).
- Type:
- unit_cell()[source]
The unit cell of the Hofstadter model.
- Returns:
num_bands_val (int) – The number of bands in the spectrum.
avec_val (ndarray) – The lattice vectors.
abasisvec_val (ndarray) – The basis vectors.
bMUCvec_val (ndarray) – The reciprocal MUC vectors.
sym_points_val (ndarray) – The high-symmetry/reference points.