pythtb.WFArray.berry_connection#

WFArray.berry_connection(axis_idx=None, state_idx=None, *, return_unitaries=False, cartesian=False)[source]#

Berry connection from parallel-transport links.

This routine evaluates the (non-Abelian) Berry connection on the reduced parameter mesh. For each mesh direction \(\mu\) in axis_idx, the connection is obtained from the parallel-transport link unitaries \(U_{\mu}(\boldsymbol{\kappa})\) returned by links(), using the discrete finite-difference approximation:

\[A_{\mu}(\boldsymbol{\kappa}) \;=\; -\frac{1}{i\,\Delta \kappa_{\mu}} \log\!\big[\,U_{\mu}(\boldsymbol{\kappa})\,\big],\]

where \(\Delta \kappa_{\mu}\) is the step size (in reduced coordinates) between adjacent points along direction \(\mu\). The result is a matrix-valued, non-Abelian connection defined over the full reduced mesh \(\boldsymbol{\kappa} = (k_1,\dots,k_{d_k};\,\lambda_1,\dots,\lambda_{d_\lambda})\), with the final two array axes spanning the band subspace specified by state_idx.

Added in version 2.0.0.

Parameters:
axis_idxint or array_like of int or None, optional

Mesh directions \(\mu\) along which to compute the connection. If None, all mesh axes are used. Default is None.

state_idxint or array_like of int or None, optional

Subspace (band indices) to use. If None, use all. Default is None.

return_unitariesbool, optional

If True, also return the link unitaries \(U_{\mu}\). Default is False.

cartesianbool, optional

If True, compute the step size \(\Delta k_\mu\) in Cartesian space (using the reciprocal lattice vectors) rather than in reduced coordinates. Default is False.

Returns:
Andarray

Non-Abelian connection with shape: (n_mu, *mesh_shape, nstate, nstate), where n_mu = len(axis_idx) (or WFArray.naxes if axis_idx=None) and nstate = len(state_idx) (or WFArray.nstates if state_idx=None).

Undarray, optional

The link unitaries with same shape (returned if return_unitaries=True).

Notes

  • The connection is Hermitian, \(A_\mu^\dagger = A_\mu\).

  • The logarithm is computed using spectral decomposition of the unitaries \(U = V \, \text{diag}(e^{i\theta_n}) \, V^\dagger\), with principal phases \(\theta_n\) in \((-\pi, \pi]\).

  • Entries of the connection at invalid boundaries (where links are NaN; see links()) remain NaN.