Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Gauge covariant derivatives #33

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from
Draft

Gauge covariant derivatives #33

wants to merge 1 commit into from

Conversation

lxvm
Copy link
Owner

@lxvm lxvm commented Jul 17, 2024

The goal of this pr will be to implement gauge-covariant derivative operators.
I explain the theory in the following memo:
gauge.pdf.
Given coefficients O_R for a Wannier interpolant of an operator O, the only additional data that is required for these derivatives is a Berry connection A_R.

What I would like to achieve is:

  • gauge-covariant derivatives of arbitrary order (based on DerivativeSeries in FourierSeriesEvaluators.jl) and a choice to transform between Wannier and Hamiltonian gauges
  • only make a distinction between operators that commute with the Hamiltonian (which defines the gauge that diagonalizes them) and those that don't
  • an interface to compute derivatives of eigenvalues from the gauge-covariant derivatives (e.g. a generalization of the current Intra/Inter-band velocities) and a perturbation-theory calculation of the Berry connection in the Hamiltonian gauge (see the memo for how to do this for the inverse effective mass)
  • refactoring AbstractWannierInterp to contain properties such as gauge and coord in a CommonSolve.jl problem
  • Simplifying load_wannier90_data's interp keyword so that it tries to load all possible input files into multiple Fourier series, and later pick those needed for the physical observable requested by the problem
  • some robust numerical test that an operator is in fact gauge-covariant (possibly based on symmetry)

It would be great to identify a unifying idea around which to organize the implementation, such as the gauge-covariant derivative mentioned above, as the current status of src/interp.jl is just a mish-mash of AbstractFourierSeries constructed from one another to obtain the requested observable.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant