spgrep: On-the-fly generator of space-group irreducible representations

1 Department of Materials Science and Engineering, Kyoto University, Sakyo, Kyoto, Japan 2 Research and Services Division of Materials Data and Integrated System, National Institute for Materials Science, Tsukuba, Ibaraki, Japan 3 Center for Elements Strategy Initiative for Structural Materials, Kyoto University, Sakyo, Kyoto, Japan 4 Nanostructures Research Laboratory, Japan Fine Ceramics Center, Nagoya, Japan ¶ Corresponding author DOI: 10.21105/joss.05269


Summary
Group theory and representation theory provide a formal and helpful way to exploit the symmetry of systems in condensed-matter physics and materials science (Bradley & Cracknell, 2009;Dresselhaus et al., 2010;El-Batanouny & Wooten, 2008;Inui et al., 1996).When we consider the microscopic structure of a crystal, its symmetry is classified by space groups (Aroyo, 2016).Irreducible representations (irreps) of space groups serve as fundamental building blocks for classifying physical states and simplifying numerical calculations for crystals.Although irreps of space groups were tabulated in seminal works (Altmann & Herzig, 1994;Bradley & Cracknell, 2009;Cracknell et al., 1979;Faddeyev, 1964;Kovalev, 1965;Miller & Love, 1967;Zak et al., 1969), it is tedious and error-prone to look up these tables.spgrep is a Python package to enumerate irreps of space groups from given crystal structures or symmetry operations without the need for consulting databases of irreps.spgrep computes various kinds of representations: (1) linear irreps, (2) physically irreducible irreps (Stokes et al., 1991), (3) projective irreps for spinor, and (4) projective irreducible co-representations for spinor.spgrep can also construct symmetry-adapted bases of the obtained irreps.

Statement of need
There are several packages or services to provide irreps of space groups originally tabulated in Bradley & Cracknell (2009), including ISOTROPY Software Suite (Stokes et al., n.d., 2013), Bilbao Crystallographic Server (Aroyo, Perez-Mato, et al., 2006;Aroyo, Kirov, et al., 2006;Aroyo et al., 2011;Elcoro et al., 2017), SpaceGroupIrep (Liu et al., 2021), and IrRep (Iraola et al., 2022).While these can be accessed from programs, they still require the user to follow the convention of settings for space groups.In contract, spgrep only requires minimal knowledge for space groups because it computes irreps on the fly.Additionally, spgrep can be used in conjunction with these tabulation-based packages such as when we need to assign historical labels for irreps.
For density functional theory calculations, there are a few packages to compute irreps from Bloch wave functions, including Irvsp (Gao et al., 2021) and qeirreps (Matsugatani et al., 2021).Although these packages do not rely on tabulations of irreps, an arbitrary irrep will be obtained within unitary equivalence for multi-dimensional irreps, which undermines a deterministic symmetry-adapted basis.On the other hand, spgrep provides unique irreps for given space groups through the implementation of a deterministic algorithm in Neto (1973).
It is advantageous for a package for irreps to easily integrate with other domain-specific packages in condensed-matter physics and materials science.With this in mind, spgrep has been implemented with minimal dependencies: numpy (Harris et al., 2020) for array programming and spglib (Shinohara et al., submitted, 2022;Togo & Tanaka, 2018) for crystal symmetry search.Also, spgrep is distributed under the permissive BSD 3-clause license.
In particular, spgrep is well-suited for implementation of group-theoretic methods with automated calculations.We plan to implement a group-theoretic method for analyzing continuous phase transition, called isotropy subgroup (Stokes & Hatch, 1989), on top of spgrep and apply it to automated phase transition path search (Naruse et al., in prep. 2023).
December 2022 Published: 23 May 2023 License Authors of papers retain copyright and release the work under a Creative Commons Attribution 4.0 International License (CC BY 4.0).