[Wannier] Confusion concerning unitary matrices and Wannier-code implementation

Robert Peyton Cline Robert.Cline at colorado.edu
Fri May 25 19:20:59 CEST 2018


Dear developers and fellow Wannier90 users,

I have recently used Wannier90 to extract tight-binding parameters and
develop a model for nonadiabatic small polaron transport in my system, and
so far I've seen great success in developing this model.  Now, I am moving
forward and considering possible superexchange mechanisms, and I believe I
can use the final unitary matrices (from both the disentanglement and
wannierisation phases) calculated with Wannier90 to connect my MLWFs to the
original Bloch states.  However, I am a bit confused in a very specific way
as to how the code is using the unitary matrices during the procedure, so I
wanted to run my thoughts by anyone who can help.

I'll focus on just the disentanglement since it seems the wannierisation
phase will follow suit, and the dimensionality of the disentanglement phase
is nontrivial.  Based on your published papers, I understand that
disentanglement constructs new |u_opt_nk> states through U^{dis(k)},
specifically taking U_{mn}^{dis(k)} |u_mk> and summing over m.  I also
understand the matrix U^{dis(k)} is rectangular, with indices m > n.  Based
on this notation from the papers, it seems the transformation from the
"old" to "new" basis is something like

(New) = U (Old),

where U is shorthand for U^{dis(k)}.  However, the dimensions here don't
make sense if U is an m x n matrix and (Old) represents a set of m-length
column vectors.  Furthermore, my understanding of unitary transformations
from my courses in quantum mechanics is that, instead of the above, I
should actually see something like:

(New) = U^dagger (Old),

which is shown to be true in J.J. Sakurai's 2nd edition QM book (page 37).
Lastly, the code for Wannier90 contains a comment that says:

Note: |psi> U_opt = |psitilde> and obviously

 <psitilde| = (U_opt)^dagger <psi|

which seems to imply that |psi> is a row vector instead of the normal
column vector, and U_opt is multiplied on the right instead of the left to
yield the new basis.

Because of these ambiguities, I'm confused as to how I should use these
unitary matrices going forward (i.e. which one of the expressions above is
actually correct?), and I would appreciate any insight you have.

Many thanks,
Peyton Cline
PhD Student
University of Colorado Boulder
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quantum-espresso.org/pipermail/wannier/attachments/20180525/d9149e9e/attachment.html>


More information about the Wannier mailing list