Implement Wannier perturbation theory
Given a set of position operators X,Y,Z
in a finite system, Wannier transformation U
is a unitary bringing the wave functions to the basis of maximally localized Wannier orbitals, wher X^2+Y^2+Z^2
is minimal. This corresponds to the condition 0 = G \equiv 2 \{[X-X_D, X_D] + [Y-Y_D, Y_D] + [Z-Z_D, Z_D]\}
, with A_D
the diagonal part of the matrix A
.
The goal of this issue is to consider X, Y, Z
a multivariate series, and to compute a series expansion of U
.
The overall logic is similar to the code we have so far. At the n
-th order, U_n
enters the equation G_n = 0
linearly, allowing us to find it in a closed form and continue building the series for U
recursively by solving a system of linear equations at each order.
Relevant reference (although in my opinion too complicated): https://doi.org/10.1103/PhysRevX.11.041053