Maximally localized Wannier functions: Theory and applications
Maximally localized Wannier functions: Theory and applications
Maximally localized Wannier functions: Theory and applications
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
9<br />
to write down many alternative finite-difference expressions<br />
for ¯r n <strong>and</strong> ⟨r 2 ⟩ n which agree numerically to leading<br />
order in the mesh spacing b (first <strong>and</strong> second order for ¯r n<br />
<strong>and</strong> ⟨r 2 ⟩ n respectively). We give here the expressions of<br />
Marzari <strong>and</strong> V<strong>and</strong>erbilt (1997), which have the desirable<br />
property of transforming correctly under gauge transformations<br />
that shift |0n⟩ by a lattice vector. They are<br />
¯r n = − 1 N<br />
k,b<br />
∑<br />
k,b<br />
w b b Im ln M (k,b)<br />
nn (28)<br />
(where we use, as outlined in Sec. II.A.3, the convention<br />
of Eq. (14)), <strong>and</strong><br />
⟨r 2 ⟩ n = 1 ∑<br />
{ [<br />
w b 1 − |M nn (k,b) | 2] [<br />
] } 2<br />
+ Im ln M nn<br />
(k,b) .<br />
N<br />
(29)<br />
The corresponding expressions for the gauge-invariant<br />
<strong>and</strong> gauge-dependent parts of the spread functional are<br />
<strong>and</strong><br />
Ω I = 1 N<br />
∑<br />
k,b<br />
˜Ω = 1 ∑ ∑<br />
w b<br />
N<br />
k,b<br />
k,b<br />
m≠n<br />
n<br />
(<br />
w b J − ∑ |M mn (k,b) | 2) (30)<br />
mn<br />
|M (k,b)<br />
mn | 2 (31)<br />
+ 1 ∑ ∑ (<br />
) 2<br />
w b −Im ln M nn (k,b) − b · ¯r n .<br />
N<br />
As mentioned, it is possible to write down alternative<br />
discretized expressions which agree numerically with<br />
Eqs. (28)–(31) up to the orders indicated in the mesh<br />
spacing b; at the same time, one needs to be careful in<br />
realizing that certain quantities, such as the spreads, will<br />
display slow convergence with respect to the BZ sampling<br />
(see II.F.2 for a discussion), or that some exact results<br />
(e.g., that the sum of the centers of the <strong>Wannier</strong> <strong>functions</strong><br />
is invariant with respect to unitary transformations)<br />
might acquire some numerical noise. In particular, Stengel<br />
<strong>and</strong> Spaldin (2006a) showed how to modify the above<br />
expressions in a way that renders the spread functional<br />
strictly invariant under BZ folding.<br />
D. Localization procedure<br />
In order to minimize the localization functional, we<br />
consider the first-order change of the spread functional<br />
Ω arising from an infinitesimal gauge transformation<br />
U (k)<br />
mn<br />
= δ mn + dW mn (k) , where dW is an infinitesimal<br />
anti-Hermitian matrix, dW † = −dW , so that |u nk ⟩ →<br />
|u nk ⟩ + ∑ (k)<br />
m<br />
dW mn |u mk ⟩ . We use the convention<br />
( ) dΩ<br />
= dΩ<br />
(32)<br />
dW dW mn<br />
nm<br />
(note the reversal of indices) <strong>and</strong> introduce A <strong>and</strong> S as<br />
the superoperators A[B] = (B − B † )/2 <strong>and</strong> S[B] = (B +<br />
B † )/2i. Defining<br />
q (k,b)<br />
n<br />
R (k,b)<br />
mn<br />
= Im ln M (k,b)<br />
nn + b · ¯r n , (33)<br />
T (k,b)<br />
mn<br />
= M mn<br />
(k,b) M nn (k,b)∗ , (34)<br />
= M mn<br />
(k,b)<br />
q (k,b)<br />
M nn<br />
(k,b) n , (35)<br />
<strong>and</strong> referring to Marzari <strong>and</strong> V<strong>and</strong>erbilt (1997) for the<br />
details, we arrive at the explicit expression for the gradient<br />
G (k) = dΩ/dW (k) of the spread functional Ω as<br />
G (k) = 4 ∑ )<br />
w b<br />
(A[R (k,b) ] − S[T (k,b) ] . (36)<br />
b<br />
This gradient is used to drive the evolution of the U mn<br />
(k)<br />
(<strong>and</strong>, implicitly, of the | Rn ⟩ of Eq. (10)) towards the<br />
minimum of Ω. A simple steepest-descent implementation,<br />
for example, takes small finite steps in the direction<br />
opposite to the gradient G until a minimum is reached.<br />
For details of the minimization strategies <strong>and</strong> the enforcement<br />
of unitarity during the search, the reader is<br />
referred to Mostofi et al. (2008). We should like to point<br />
out here, however, that most of the operations can be<br />
performed using inexpensive matrix algebra on small matrices.<br />
The most computationally dem<strong>and</strong>ing parts of<br />
the procedure are typically the calculation of the selfconsistent<br />
Bloch orbitals |u (0)<br />
nk<br />
⟩ in the first place, <strong>and</strong> then<br />
the computation of a set of overlap matrices<br />
M (0)(k,b)<br />
mn = ⟨u (0)<br />
mk |u(0) n,k+b ⟩ (37)<br />
that are constructed once <strong>and</strong> for all from the |u (0)<br />
nk<br />
⟩. After<br />
every update of the unitary matrices U (k) , the overlap<br />
matrices are updated with inexpensive matrix algebra<br />
M (k,b) = U (k)† M (0)(k,b) U (k+b) (38)<br />
without any need to access the Bloch wave<strong>functions</strong><br />
themselves. This not only makes the algorithm computationally<br />
fast <strong>and</strong> efficient, but also makes it independent<br />
of the basis used to represent the Bloch <strong>functions</strong>.<br />
That is, any electronic-structure code package capable<br />
of providing the set of overlap matrices M (k,b) can easily<br />
be interfaced to a common <strong>Wannier</strong> maximal-localization<br />
code.<br />
E. Local minima<br />
It should be noted that the localization functional can<br />
display, in addition to the desired global minimum, multiple<br />
local minima that do not lead to the construction