<div dir="ltr">I'm sorry, but it works with SOC as well. This is just a basic change of basis in group theory notation, it does not matter if we are dealing with single group or double group. Two representations are equivalent if they are related by an unitary transformation as <span><span style="">A = U.B.U<sup><span style="font-size:92%">†</span></sup></span>, where A are the representation matrices in one basis, and B the representation matrices in another basis, and the unitary transformation U is the same for all operators. So I just want to find the change of basis U.</span><div><br></div><div>Maybe you are confused by my example where I started with the single group irreps for graphene and later I showed the 4x4 double group matrix. But notice that for graphene the double group irreps are simply a direct product of spin with the single group irreps. In other words, the SOC in graphene is of the sigma_z type, so the spin blocks are decoupled.</div><div><br></div><div>Nevertheless, the graphene example is just a particular simple case. The change of basis and everything discussed here is valid for any single or double group.</div><div><br></div><div><div>I'm thankful for the discussion and the tip about the sym_band_sub.f90 in the thermo_pw code. This will certainly help us finish our code and paper. I'll let you known once we have a first draft and make the code public.</div><div><div><br></div><div>Best,<br clear="all"><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div style="font-family:arial"><div>--</div><div>Gerson J. Ferreira</div><div>----------------------------------------------</div></div></div></div></div></div></div></div></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Mar 8, 2022 at 9:40 AM Hongyi Zhao <<a href="mailto:hongyi.zhao@gmail.com">hongyi.zhao@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Tue, Mar 8, 2022 at 11:10 AM Hongyi Zhao <<a href="mailto:hongyi.zhao@gmail.com" target="_blank">hongyi.zhao@gmail.com</a>> wrote:<br>
><br>
> On Tue, Mar 8, 2022 at 1:16 AM Gerson J. Ferreira<br>
> <<a href="mailto:gersonjferreira@ufu.br" target="_blank">gersonjferreira@ufu.br</a>> wrote:<br>
> ><br>
> > Thanks Hongyi, this SpaceGroupIrep seems quite interesting. But still, it does not do what I need. At least, reading their documentation, I don't see the feature I need there.<br>
> ><br>
> > Please notice that these matrix representations in your print screen are not unique. It depends on the basis. Let me give you an example with graphene's Dirac bands. Let's focus on the spinless single group description and look only at the operation C3(z) for simplicity. We know that the wave-functions that compose the Dirac bands transform as the E'' of D3h. The quadratic functions that form a basis for this irreps are (xz, yz) [1]. But it can be any orthogonal set of linear combinations of xz and yz. For instance:<br>
> ><br>
> > a) If we choose the basis set as (xz, yz), the C3(z) operation will be defined by the matrix (θ = 2pi/3)<br>
> ><br>
> > | cos(θ) -sin(θ)|<br>
> > | sin(θ)  cos(θ)|<br>
> ><br>
> > b) If we choose the basis set as ((x+iy)z, (x-iy)z) the same C3(z) operation becomes represented by a diagonal matrix<br>
> ><br>
> > |exp(iθ)  0|<br>
> > |0 exp(-iθ)|<br>
> ><br>
> > These are equivalent representations (up to an unitary transformation) of C3(z) under the E'' irrep of D3h. Both have the same trace.<br>
> ><br>
> > Now, the wave-functions from QE are represented by which of these? The answer is none. The wave-functions are numerical iterative solutions, while they do transform as E'', their particular matrix representation is not set to a particular choice as above, but it is "randomly" set by the numerical diagonalization. I have such a matrix for the spinful case here as an example:<br>
> ><br>
> > Each term represents the (real,imag) part of the matrix element, the trace is -1, as expected.<br>
> ><br>
> > (-0.90669010, 0.04976980) ( 0.01401095,  0.01512965) ( 0.07246659, 0.14059376) (0.33126319, 0.20064275)<br>
> > (-0.01401095, 0.01512965) (-0.90669008, -0.04976981) (-0.05308625,-0.38363353) (0.10041187, 0.12221076)<br>
> > ( 0.06736942,-0.11163651) ( 0.33090807,  0.22024838) ( 0.40669008,-0.73549409) (0.27342455, 0.20947503)<br>
> > ( 0.33326797, 0.21666087) ( 0.07583922, -0.10606489) (-0.27342455, 0.20947504) (0.40669010, 0.73549410)<br>
> ><br>
> ><br>
> > This matrix was calculated with the code I've set in the previous email. So, it's neither (xz, yz) nor ((x+iy)z, (x-iy)z) (times spin), but nonetheless, it is a representation of E'', as checked by the trace of this and other symmetry operations of D3h.<br>
><br>
> If I understand correctly, your previous example is based on<br>
> 2-dimensional complex matrices, while this is a 4-dimensional one. So,<br>
> the latter should correspond to a double group representation.<br>
><br>
> > So, I need these ugly matrices that characterize the numerical wave-functions of QE to later rotate them to match my choice, which in this case will be ((x+iy)z, (x-iy)z) (times spin). Got it? Essentially, I need to find the unitary transformation that takes the QE numerical wave-functions to the simple form of ((x+iy)z, (x-iy)z) (times spin).<br>
><br>
> If I understand correctly, in order to find the underlying unitary<br>
> transformation, you must first do a direct product decomposition of<br>
> the spin-orbit coupling double groups.<br>
<br>
I think that some supplementary explanations need to be added here.<br>
Based on my discussion with Dr. Gui-Bin Liu [1], your above purpose,<br>
i.e., " find the unitary transformation that takes the QE numerical<br>
wave-functions to the simple form of ((x+iy)z, (x-iy)z) (times spin)"<br>
does not necessarily can realize in any situation. More specifically,<br>
for the spin-orbit coupling (SOC) situation, where orbit part and spin<br>
part are entangled together, which makes it impossible to separate<br>
them into the above form described by you. So, I think that the<br>
problem you describe here only makes sense in non-SOC situations.<br>
<br>
[1] <a href="https://scholar.google.com/citations?user=qbI2lYgAAAAJ&hl=zh-CN" rel="noreferrer" target="_blank">https://scholar.google.com/citations?user=qbI2lYgAAAAJ&hl=zh-CN</a><br>
<br>
Best,<br>
Hongyi<br>
<br>
> > I don't think that there is a code that does this for me already. But I'll check again the links you sent me before just to be sure.<br>
><br>
> I know another package, namely wannsymm [1], which seems to be able to<br>
> do similar things. But I'm not sure if it meets the specific needs<br>
> you're discussing here.<br>
><br>
> > Now, regarding the limitation of the zone border for nonsymmorphic symmetries, indeed this is an issue for me. That's what I'll check now. Is this limitation related to the part of the code that calculates the matrix elements? Or does it apply only to the second part that identifies the irreps? If the routine "rotate_all_psi" works for the non-symmorphic cases, then it should work fine for my needs. I'll try the code for a non-symmorphic case to see how it goes.<br>
> ><br>
> > Do you know where exactly this limitation is for nonsymmorphic symmetries?<br>
><br>
> Nonsymmorphic symmetry includes screw axes or glide planes, which are<br>
> a combination of point symmetry and translational symmetry.<br>
><br>
> A few days ago, I discussed some related problems [2-3], and I know<br>
> that the thermo_pw package [4] has implemented the feature discussed<br>
> here. As for the specific implementation details, application<br>
> scenarios and whether they can solve the relevant limitations you<br>
> mentioned here, I don't know<br>
><br>
><br>
> [1] <a href="https://github.com/ccao/WannSymm" rel="noreferrer" target="_blank">https://github.com/ccao/WannSymm</a><br>
> [2] <a href="https://gitlab.com/QEF/q-e/-/issues/458" rel="noreferrer" target="_blank">https://gitlab.com/QEF/q-e/-/issues/458</a><br>
> [3] <a href="https://github.com/goodluck1982/SpaceGroupIrep/issues/6#issuecomment-1025108583" rel="noreferrer" target="_blank">https://github.com/goodluck1982/SpaceGroupIrep/issues/6#issuecomment-1025108583</a><br>
> [4] <a href="https://dalcorso.github.io/thermo_pw/" rel="noreferrer" target="_blank">https://dalcorso.github.io/thermo_pw/</a><br>
><br>
><br>
> Best,<br>
> Hongyi<br>
><br>
> ><br>
> > [1] <a href="http://symmetry.jacobs-university.de/cgi-bin/group.cgi?group=603&option=4" rel="noreferrer" target="_blank">http://symmetry.jacobs-university.de/cgi-bin/group.cgi?group=603&option=4</a><br>
> ><br>
> > Best,<br>
> > --<br>
> > Gerson J. Ferreira<br>
> > Prof. Dr. @ InFis - UFU<br>
> > ----------------------------------------------<br>
> > <a href="http://gjferreira.wordpress.com" rel="noreferrer" target="_blank">gjferreira.wordpress.com</a><br>
> > Institute of Physics<br>
> > Federal University of Uberlândia, Brazil<br>
> > ----------------------------------------------<br>
<br>
</blockquote></div>