functions.models.diag_func
- diag_func(t_val, p_val, q_val, A_UC_val, vec_group, k_val, dJ_val, J_idx_val)[source]
The diagonal function.
The function that populates the diagonals of the Harper matrix is given by
\[\begin{split}\Lambda_{l, n} = - \sum_\kappa \sum_{\langle ij \rangle_{\kappa}^l} t_\kappa e^{\\\mathrm{i}\theta_{ij}} e^{\\\mathrm{i}\\\mathbf{k}\cdot\\\mathbf{r}},\end{split}\]where \(\langle \dots \rangle^l_\kappa\) denotes the subset of \(\kappa\)-th nearest neighbors with a net \(y\) unit cell displacement of \(l\), \(\theta_{ij}\) is the Peierls phase, \(\\\mathbf{k}\) is the momentum vector, and \(\\\mathbf{r}\) is the displacement vector.
- Parameters:
t_val (list) – The list of hopping amplitudes in order of ascending NN.
p_val (int) – The numerator of the flux density.
q_val (int) – The denominator of the flux density.
A_UC_val (float) – The unit cell area in units of a2 (possibly scaled by a periodicity factor).
vec_group (ndarray) – The array of relevant nearest neighbors grouped by dJ.
k_val (ndarray) – The momentum vector.
dJ_val (int) – The y-displacement in terms of unit cells.
J_idx_val (int) – The y-position in terms of unit cells.
- Returns:
term – The diagonal term.
- Return type: