I'm attempting to implement something to project the excitonic states onto atomic orbitals, specifically something like
Code: Select all
<\phi_e \phi_h| \lambda> = \sum_t A_{t,lambda} <\phi_e|c_t,k_t><v_t,k_t|\phi_h>The issue that I've run into, though, is that the A_{t,lambda} as given in the output file ndb.BS_diago_Q1 (specifically in BS_EIGENSTATES), are defined on the full brillouin zone, not the irreducible one. Naturally, I can apply the proper symmetry transformation on the spinor wavefunction at n,k to get the wavefunction at n,k' for symmetry-related k', but there is a gauge degree of freedom when doing this. Realistically, even if I do a computation without symmetry there's no guarantee that Yambo defines A_{t,lambda} |c_t,k_t><v_t,k_t| with exactly the same wavefunctions as those given in the SAVE directory with no change of phase whatsoever.
Does Yambo use some standard convention for this? Is there a way for me to directly access the wavefunctions used to define A_{t,lambda} |c_t,k_t><v_t,k_t|? Any advice is appreciated.
Best,
Miles