Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Phase convention for LGIrrep #12

Open
thchr opened this issue Dec 10, 2020 · 1 comment
Open

Phase convention for LGIrrep #12

thchr opened this issue Dec 10, 2020 · 1 comment

Comments

@thchr
Copy link
Owner

thchr commented Dec 10, 2020

This problem/uncertainty has existed for a very long time. There's already a good discussion of the issue in src/types.jl:

Crystalline.jl/src/types.jl

Lines 470 to 495 in 0919b4a

P[i] .*= cis(2π*dot(k,τ′)) # note cis(x) = exp(ix)
# NOTE/TODO/FIXME:
# This follows the convention in Eq. (11.37) of Inui as well as the Bilbao
# server, i.e. has Dᵏ({I|𝐭}) = exp(i𝐤⋅𝐭); but disagrees with several other
# references (e.g. Herring 1937a and Kovalev's book; and even Bilbao's
# own _publications_?!).
# In these other references one take Dᵏ({I|𝐭}) = exp(-i𝐤⋅𝐭), while Inui takes
# Dᵏ({I|𝐭}) = exp(i𝐤⋅𝐭) [cf. (11.36)]. The former choice, i.e. Dᵏ({I|𝐭}) =
# exp(-i𝐤⋅𝐭) actually appears more natural, since we usually have symmetry
# operations acting _inversely_ on functions of spatial coordinates and
# Bloch phases exp(i𝐤⋅𝐫).
# Importantly, the exp(i𝐤⋅τ) is also the convention adopted by Stokes et al.
# in Eq. (1) of Acta Cryst. A69, 388 (2013), i.e. in ISOTROPY (also
# expliciated at https://stokes.byu.edu/iso/irtableshelp.php), so, overall,
# this is probably the sanest choice for this dataset.
# This weird state of affairs was also noted explicitly by Chen Fang in
# https://doi.org/10.1088/1674-1056/28/8/087102 (near Eqs. (11-12)).
#
# If we wanted swap the sign here, we'd likely have to swap t₀ in the check
# for ray-representations in `check_multtable_vs_ir(::MultTable, ::LGIrrep)`
# to account for this difference. It is not enough just to swap the sign
# - I checked (⇒ 172 failures in test/multtable.jl) - you would have
# to account for the fact that it would be -β⁻¹τ that appears in the
# inverse operation, not just τ. Same applies here, if you want to
# adopt the other convention, it should probably not just be a swap
# to -τ, but to -β⁻¹τ. Probably best to stick with Inui's definition.

The problem, I think, is becoming more urgent, since I suspect there's a disagreement between the current phase convention, i.e. exp(ikr) and the way we calculate the symmetry eigenvalues in MPB (i.e. by acting inversely on the position arguments of functions, such as fields).
It might be worth it to consult some of the recent papers on DFT-centric symmetry eigenvalue calculations to see what they do.

@thchr
Copy link
Owner Author

thchr commented Mar 18, 2021

There's some related discussion of this point in Altman & Cracknell's 1965 Phys. Rev. Mod., e.g.:
image
image

and they suggest that converting between active (what we want) and passive notions of operators (what the operators here are listed for, in some sense) could be done via:
image
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant