qeirreps: an open-source program for Quantum ESPRESSO to compute irreducible representations of Bloch wavefunctions

Bloch wavefunctions in solids form a representation of crystalline symmetries. Recent studies revealed that symmetry representations in band structure can be used to diagnose the topological properties of weakly interacting materials. In this work, we introduce an open-source program qeirreps that computes the representations in a band structure based on the output file of Quantum ESPRESSO. Our program also calculates the Z4 index, i.e., the sum of inversion parities at all time-reversal invariant momenta, for materials with inversion symmetry. When combined with the symmetry indicator method, this program can be used to explore new topological materials.


Introduction
One of the main goals in condensed matter physics is to predict the properties of materials of our interest by solving the Schrödinger equation. In practice, this challenging problem is reduced to a manageable one in two ways. The first is to map the interacting system to a free (i.e., noninteracting) electronic system, as is done in the Kohn-Sham density functional theory (DFT) [1]. The other simplification utilizes the symmetry of the system. For example, the lattice translation symmetry of an ideal crystal that is free from impurities or disorders allows us to block-diagonalize the Hamiltonian by switching to the momentum space. The original problem of interacting electrons is thereby transformed into the one within the standard band theory. The

Theoretical background
We start with reviewing the basics of space groups and their representations.

Space group action on the real and momentum space
Let us consider a space group G. An element g ∈ G moves x ∈ R 3 to where p g ∈ O(3) represents the point group part and t g ∈ R 3 represents the translation part of g. The product of two elements g ∈ G and g ∈ G is defined by p gg = p g p g , t gg = p g t g + t g .
In general, t g is not necessarily a lattice vector. If we can choose the origin of x in such a way that t g becomes a lattice vector simultaneously for all ∀g ∈ G, the space group is symmorphic; otherwise, it is nonsymmorphic. Nonsymmorphic space groups typically contain either screw axes or glide planes. A space group G always has a subgroup T composed of lattice translations. An element T R of T can be characterized by a lattice vector R. We introduce the wavevector k through the representation of T R : An element g ∈ G changes k to g(k) = p g k. We say k is invariant under g when g(k) = k + G with a reciprocal lattice vector G. For each k, the set of g ∈ G that leaves k invariant, i.e., {h ∈ G | h(k) = k + G}, forms a subgroup of G called the little group G k .

Crystalline symmetries of band structures
Suppose that the single-particle Hamiltonian in momentum space satisfies Here unitary matrices U k (g) form a projective representation of G. That is, they satisfy U g k (g)U k (g ) = ω sp (g, g )U k (gg ), where ω sp (g, g ) = ±1 is the projective factor originated from the spin of electrons. For spin-rotation invariant systems, ω sp (g, g ) can be chosen 1 by neglecting the spin degree of freedom. The single-particle Hamiltonian H k can be diagonalized as where kn is the n-th eigenenergy of H k , and Ψ k is composed of all eigenvectors of H k . When h is an element of G k , U k (h) can also be block-diagonalized by Ψ k into irreducible representations U α k (h): 3 Although the specific representation U αn k (h) depends on the detailed choice of Ψ k , its character is basis independent. The output of our program is the list of characters χ αn k (h) for each the energy level kn and high-symmetry point k.
Since G k is an infinite group due to its translation subgroup T , sometimes the finite group G k /T , called "little co-group [61]," is discussed instead. Irreducible representations of G k /T and G k are related to each other by a simple rule, and one can convert one to the other easily. Note that the output of our program is the character of representations of G k , not G k /T , and one should not confuse them.

Application to symmetry indicators
The characters χ α k (h) in the output of our program can be converted to integers {n α k } that count irreducible representations U α k (h) appearing in the occupied bands at each high-symmetry point k. These integers can be used, for example, to diagnose the topological indices of band insulators through the method of symmetry indicators [43,62]. Formulas of topological indices in terms of {n α k } are provided in Refs. [63,64,65,50].
For the user's convenience, we implemented the function that automatically computes the Z 4 index as the sum of the inversion parities of all occupied bands at all the time-reversal invariant momenta (TRIMs). The Z 4 index can detect not only strong topological insulators but also topological crystalline insulators such as mirror Chern insulators or higher-order topological insulators [64,65]. See Sec. 4.1 for an example.
Other symmetry indicators can also be computed in the same way using the output of our program. We discuss several examples in Sec. 4.3.

Conventions
Let us summarize our conventions that are necessary to compare the output of our program with that of others. There are three sources of ambiguities that affect the U(1) phase of the representation U α k (h): (i) the choice of representatives of G, (ii) the choice of the coordinates, and (iii) the choice of spin rotation matrices. Readers not interested in the details can skip to Sec. 3.

The choice of representatives of G
Although the number of elements of G is infinite because of its translation subgroup, in the actual calculation, it is sufficient to discuss a finite number of elements by choosing one g ∈ G for each p g . This is because, if g differs from g by its translation part (i.e., p g = p g and t g = t g + R for a lattice vector R), the little-group representation of g is simply given by U k (g ) = U k (g)e −ik·R . The choice of g's is not unique, and in our program, they are automatically selected by Quantum ESPRESSO based on the input file. The chosen elements of G are stored in our output files: the list of p g 's is in pg.dat and the list of the corresponding t g 's is in tg.dat.

The choice of the coordinates
When using Quantum ESPRESSO, one needs to prepare an input file that contains the information of the coordinates of atomic positions. In Quantum ESPRESSO, the fixed point of point group symmetries is always set to (0, 0, 0), and the input file must be carefully prepared. For a given material, even after fixing the symmetry operation, there can still be multiple choices of the coordinates, and the irreducible representations can in general be affected by this choice. In our examples discussed in Sec. 4, the information of the chosen coordinates is stored in the input file named *.scf.in.
To see this subtlety through a simple example, let us consider the inversion symmetric 1D system illustrated in Fig. 1. In this model, there are two atoms A and B in a unit cell. In the panel (a), the atom A is placed at the origin and the coordinate of the atom B is x = 1 2 . In the panel (b), the atom B is placed at the origin and the coordinate of the atom A is x = 1 2 . This is the ambiguity of the coordinates mentioned above. In both cases, the inversion symmetry is about the origin x = 0, but the atom at the fixed point is different. This means that the inversion in (a) and that in (b) are physically different operations. As a consequence, their representations are not the same and are related by U α kx (I) (a) = e ikx U α kx (I) (b) . 4

The choice of the spin rotation
As is well-known, the correspondence between a point group p g ∈ O(3) and the spin rotation p sp g ∈ SU(2) has a sign ambiguity. Namely, when p sp g denotes a spin rotation corresponding to the point group p g , −p sp g is also an equally valid choice of the spin rotation. For a give choice of p sp g for all p g 's, the projective factor in Eq. (5) is determined by In our program, the information of p sp g and ω sp (g, g ) are stored, respectively, in srg.dat and factor system spin.dat.

Installation and usage
Here we explain how to install and use qeirreps. The flowchart of the calculations is shown in Fig. 2.

Compiling environment for qeirreps
A Fortran 90 compiler, BLAS, and LAPACK libraries are required for the installation of qeirreps. Quantum ESPRESSO must also be installed in advance. The version of Quantum ESPRESSO must be qe-6.3 or before. 1 To obtain old-formatted output files, Quantum ESPRESSO must be compiled with the following option: $ ./configure --enable-xml=no .
In addition, the program qe2respack [66] 2 is required, which can be downloaded or cloned from the branch of respack "maxime2" in the GitHub repository (https://github.com/mnmpdadish/respackDev/). The program qe2respack is in the directory util/qe2respack. For installation, the file Makefile must be edited to specify the compiler, libraries, and the location of Quantum ESPRESSO in your compiling environment. By typing $ make in the directory util/qe2respack, the executable binary qe2respack is compiled.

Installation of qeirreps
Our program qeirreps is released at GitHub (https://github.com/qeirreps/qeirreps). The program files which contain source files, documents, and examples can be cloned or downloaded from this repository. The file qeirreps/src/Makefile must be edited to specify the compiler and libraries in your compiling environment. By typing $ make in the source directory qeirreps/src/, the executable binary qeirreps.x is compiled.

Preparing input files of qeirreps
Our program qeirreps works based on the output of Quantum ESPRESSO. To prepare input files of qeirreps, the following three steps are needed to be done one by one: 1. Self-consistent first-principles (scf) calculation of a target material. 2. Non-self-consistent first-principles (nscf) calculation of the material for each high-symmetry momentum. 3. Data conversion from Quantum ESPRESSO output files to qeirreps input files.
The first two steps can be carried out by the standard functions of Quantum ESPRESSO. The result of the scf calculation is used in the successive nscf calculation. We refer to the directory that stores the wavefunction data computed by the nscf calculation OUTDIR/PREFIX.save below. For the moment, qeirreps requires norm-conserving calculations. Pseudo-potentials must be optimized for norm-conserving calculations (for example, Optimized Norm-Conserving Vanderbilt Pseudopotential [67] is available in PseudoDojo (http://www.pseudo-dojo.org) [68]) and the option wf collect should be set .TRUE. in the input files for DFT calculations.
The output files in OUTDIR/PREFIX.save must be converted by qe2respack into the form of input files of qeirreps. To do this, a directory named dir-wfn must be created in advance in the work directory. The work directory is referred to as DIRECTORY NAME here. Then, type the following in the work directory: where PATH OF qe2respack is the path to the directory util/qe2respack. qeirreps reads the files produced by qe2respack in the dir-wfn directory.

Running qeirreps
To run qeirreps, a directory named output must be created in the directory DIRECTORY NAME above. Then type $ PATH OF qeirreps/qeirreps.x DIRECTORY NAME , where PATH OF qeirreps is the path to the directory qeirreps/src. There should be ten output files in output. Five of them named *.dat contain the following information: (i) the list of the point group part p g in pg.dat, (ii) the list of the translation part t g in tg.dat, (iii) the list of the spin rotation part p sp g in srg.dat, (iv) the factor system ω sp (g, g ) associated with the electronic spin in factor system spin.dat, and (v) the character tables of irreducible representations of Bloch wavefunctions in character.dat. Five of them named * import.txt are the corresponding files for Mathematica usage. The standard output that appears during this calculation shows the lattice vectors, reciprocal lattice vectors, operation type of each symmetry operators, and so on.
For materials with inversion symmetry, qeirreps also implements the automatic evaluation of the Z 4 index. To do this, an option of filling should be added to the command as $ PATH OF qeirreps/qeirreps.x DIRECTORY NAME FILLING.
Here, FILLING is the number of electrons per unit cell of the target material and is shown in the standard output of scf calculation by Quantum ESPRESSO as "number of electrons = FILLING." Then, the program should generate an additional output named z4.dat that contains the value of the Z 4 index.

Examples
In this section, we discuss several examples to demonstrate the usage of qeirreps. We also explain how to compute topological indices based on the output of qeirreps.

Bismuth
Our first example is bismuth. The space group R3m (No.166) contains the inversion symmetry I. We obtain the crystal structure data of bismuth [ Fig. 3 (a)] from Material Project [69] and converted it into the form of an input file for Quantum ESPRESSO (included in Appendix A.1) by SeeK-path [70,71] We compute the irreducible representations of wavefunctions by qeirreps, taking into account the spinorbit coupling. Our results are shown in the band structure in Fig. 3 (b). The correspondence between the labels and characters of irreducible representations is included in Appendix B.1. These results are consistent with previous studies [47,72].
We also compute the Z 4 index [64,65] using the option explained in Sec. 3.4. The output (z4.dat) shows sum of parities for 8 k-points: Namely, the Z 4 index for bismuth with the significant spin-orbit coupling is 2, indicating that this material is a higher-order topological insulator [73,48,47,74]. The sample input files for bismuth are available in the directory qeirreps/example.

Silicon
To demonstrate that qeirreps equally works for nonsymmorphic space groups, let us discuss silicon. Its space group is F d3m (No. 227), which also contains the inversion symmetry I. The calculation procedure is completely the same as those for bismuth in Sec. 4.1. Our results of irreducible representations are in Fig. 4 (b). The Z 4 index is found to be zero. These results are consistent with the previous study in Ref. [47]. Sample programs for silicon are also in the directory qeirreps/example.

PbPt 3
As our third example, let us discuss PbPt 3 , whose space group P m3m (No. 221). This space group contains various elements such as the inversion (I), the rotoinversion about the z-axis (S z 4 ), and the mirror symmetries. We also assume the time-reversal symmetry. Our results of irreducible representations in the presence of the spin-orbit coupling are in Fig. 5 (b).
In this symmetry settings, we can define a Z 4 index (other than the sum of the inversion parities) and a Z 8 index by [75,64,65] where n α K K represents the number of occupied states that have irreducible representations U α K K of G K , and the set of {n α K K } is included in Appendix B.6. K 4 denotes four momenta invariant under the S z 4 . Although our program qeirreps does not offer an automated calculation of these indices, one can compute them manually using the output of our program. In this example, we find (z 4 , z 8 ) = (3,6), which is consistent with Ref. [47]. According to Ref. [64,65], these values indicate nontrivial mirror Chern numbers. Sample programs for PbPt 3 are included in qeirreps/example. Figure 5: (a) The crystal structure [69] and the Brillouin zone [70,71] of PbPt 3 . (b) The band structure of PbPt 3 with spin-orbit coupling.Kα(m) denotes a m-dimensional irreducible representation U α K at a high-symmetry point K. The correspondence between these labels and representation characters is included in Appendix B.5. The color of dots represents the inversion parity: whenKα(m) is marked red (blue), all m levels have the even (odd) parity.

Conclusions
In conclusion, we developed a new open-source code qeirreps for computing irreducible representations in band structures based on the output of Quantum ESPRESSO. We explained the installation of the program and demonstrated its usage through examples. When combined with the symmetry indicator method, the output of this program can be used to diagnose the topological property of weakly interacting materials. Since Quantum ESPRESSO is a free, widely-used software, qeirreps should accelerate the exploration of new topological materials.