yambo-code / yambo

This is the official GPL repository of the yambo code
http://www.yambo-code.eu/
GNU General Public License v2.0
91 stars 35 forks source link

Definition of sigma_y and Tait-Bryan angles #50

Closed sangallidavide closed 11 months ago

sangallidavide commented 1 year ago

Reported by @muralidhar-nalabothula :
https://www.yambo-code.eu/forum/viewtopic.php?p=12955#p12955

The sigma_y matrix defined in "yambo/src/modules/mod_D_lattice.F" is not correct. As Fortran in column major, reshaping [1,2,3,4] will give ([[1 3],[2 4]])

So the matrix is currently defined as -sigma_y(actual). I can see that in one of the Tait-Bryan angles (beta) defined in "yambo/src/setup/build_spin_sop.F" lacks minus sign. I guess the minus was removed to compensate this. When rotating spinors wave functions with time reversal symmetry, it picks up an additional phase of -1 (which does not effect the results due to gauge arbitrary ness). I also see some other instances where sigma_y is used.

sangallidavide commented 12 months ago

I pushed the change in branch https://github.com/sangallidavide/yambo/tree/fixes/bse-finite-q

muralidhar-nalabothula commented 12 months ago

Looks fine for me. I checked for WSe2 (with SOC) and results did not change.

sangallidavide commented 11 months ago

Fixes entered in the releases and in the branches. I close the issue

P.S.: @muralidhar-nalabothula I have the impression that this fixes solves a long-standing issue for BSE with SOC at finite momentum. So the results for WSe2 should be the same at q=0, but different at finite q after this fix