From 8e109ae12a62146017e59a672a641f53938d9891 Mon Sep 17 00:00:00 2001 From: Murali Date: Thu, 14 May 2026 11:26:41 +0200 Subject: [PATCH] update citation, remove wrong warning in exciton symmeties, add notes in exc_mat_elemets function --- yambopy/bse/exciton_irreps.py | 6 +++--- yambopy/bse/exciton_matrix_elements.py | 17 +++++++++++++++++ yambopy/bse/rotate_excitonwf.py | 4 ++-- yambopy/dbs/wfdb.py | 4 ++-- 4 files changed, 24 insertions(+), 7 deletions(-) diff --git a/yambopy/bse/exciton_irreps.py b/yambopy/bse/exciton_irreps.py index c2845845..ee1c39d9 100644 --- a/yambopy/bse/exciton_irreps.py +++ b/yambopy/bse/exciton_irreps.py @@ -12,7 +12,7 @@ from yambopy.symmetries.crystal_symmetries import Crystal_Symmetries from yambopy.tools.citations import citation -@citation("M. Nalabothula et al. arXiv:2511.21540 (2025)") +@citation("M. Nalabothula et al.: Phys. Rev. B 113, 205130 (2026)") def compute_exc_rep(path='.', bse_dir='SAVE', iqpt=1, nstates=-1, degen_tol = 1e-3, degen_rtol=1e-3, symm_tol=1e-2, use_save_symmetries=False): """ @@ -134,9 +134,9 @@ def compute_exc_rep(path='.', bse_dir='SAVE', iqpt=1, nstates=-1, degen_tol = 1e ## for q = 0, Lkind = "bar" is recommended as "full" will ## break symmetries (depends on the chosen direction) if excdb.Lkind is not None: # compatibility with old databases - if iqpt==0 and 'bar' not in excdb.Lkind: + if iqpt==1 and 'bar' not in excdb.Lkind: print(f"Warning: You are using Lkind={excdb.Lkind} at q=0, but 'Lbar' is recommended. Symmetries are broken in this way.") - if iqpt!=0 and 'full' not in excdb.Lkind: + if iqpt > 1 and 'full' not in excdb.Lkind: print(f"Warning: You are using Lkind={excdb.Lkind} at q!=0, but 'Lfull' should be used.") # Load the wavefunction database diff --git a/yambopy/bse/exciton_matrix_elements.py b/yambopy/bse/exciton_matrix_elements.py index 1da816ca..35e62067 100644 --- a/yambopy/bse/exciton_matrix_elements.py +++ b/yambopy/bse/exciton_matrix_elements.py @@ -20,6 +20,23 @@ def exciton_X_matelem(exe_kvec, O_qvec, Akq, Ak, Omn, kpts, contribution='b', di discarding the third term (disconnected diagram). The calculation is performed in the Tamm-Dancoff approximation. + Here we follow k-Q -> k for electronic transitions (backward convention), + while using k -> k+q for O(q) matrix elements (forward convention). + So this is mixed convention as given in + Eq. D8 of M. Nalabothula et al.: Phys. Rev. B 113, 205130 (2026) + + Other conventions see (not used here) + Both Forward : + H.-Y. Chen et al.: Phys. Rev. Lett. 125, 107401 (2020) + G. Antonius et al.: Phys. Rev. B 105, 085111 (2022) + Both Backward : + F. PALEARI, PhD thesis + M. Zanfrognini et al.: Phys. Rev. Lett. 131, 206902 (2023) + P. Lechifflart et al.: Phys. Rev. Mater. 7, 024006 (2023) + + Note: Different conventions correspond to different ways of writing the + the same matrix elements. + Parameters ---------- exe_kvec : array_like diff --git a/yambopy/bse/rotate_excitonwf.py b/yambopy/bse/rotate_excitonwf.py index 0d5e8bff..f2a1f8e7 100644 --- a/yambopy/bse/rotate_excitonwf.py +++ b/yambopy/bse/rotate_excitonwf.py @@ -7,7 +7,7 @@ @func_profile -@citation("M. Nalabothula et al. arXiv:2511.21540 (2025)") +@citation("M. Nalabothula et al.: Phys. Rev. B 113, 205130 (2026)") def rotate_exc_wf(Ak, symm_mat_red, kpoints, exe_qpt, dmats, time_rev, ktree=None): """ Rotate the exciton wavefunction Ak using symmetry operations. @@ -16,7 +16,7 @@ def rotate_exc_wf(Ak, symm_mat_red, kpoints, exe_qpt, dmats, time_rev, ktree=Non which is represented in the basis of electronic states. The rotation is performed using the symmetry matrix in reduced coordinates and the corresponding representation matrices. - Implements Eq. (49) of M. Nalabothula et al. arXiv:2511.21540 (2025) + Implements Eq. (49) of M. Nalabothula et al.: Phys. Rev. B 113, 205130 (2026) Parameters ---------- diff --git a/yambopy/dbs/wfdb.py b/yambopy/dbs/wfdb.py index 42627633..c424dc4d 100644 --- a/yambopy/dbs/wfdb.py +++ b/yambopy/dbs/wfdb.py @@ -531,11 +531,11 @@ def get_BZ_wf(self, ik): @func_profile - @citation("M. Nalabothula et al. arXiv:2511.21540 (2025)") + @citation("M. Nalabothula et al.: Phys. Rev. B 113, 205130 (2026)") def Dmat(self, symm_mat=None, frac_vec=None, time_rev=None): """ Computes the symmetry-adapted matrix elements < Rk | U(R) | k >. - Implements Eq. 5 of M Nalabothula et al. arXiv:2511.21540. + Implements Eq. 5 of M. Nalabothula et al.: Phys. Rev. B 113, 205130 (2026). Parameters ----------