Elementary band representations

Crystalline.jl provides an interface to access the elementary band representations (EBRs) hosted by the Bilbao Crystallographic Server's BANDREP program via bandreps. Crystalline also provides calc_bandreps, which computes the band representations across all maximal[1] Wyckoff positions directly. Usually, calc_bandreps is preferable, as it returns more contextual information and aligns more simply with the existing conventions of Crystalline, from which it derives.

As an example, we can obtain the all inequivalent EBRs in space group 219 (F-43c) with:

using Crystalline

brs = calc_bandreps(219, Val(3)) # space group 219 (dimension 3)
12-element Collection{NewBandRep{3}} for ⋕219 (F-43c) over 14 irreps (spin-1 w/TR):
──────┬──────────────────────────────────────────────────────
      │ 24d  24d  24d  24c  24c  24c  8b  8b  8b  8a  8a  8a
      │  A    B    E    A    B    E   A   E   T   A   E   T
──────┼──────────────────────────────────────────────────────
 W₁W₂ │  2    2    2    1    1    4   ·   ·   2   1   2   1
 W₃W₄ │  1    1    4    2    2    2   1   2   1   ·   ·   2
 L₁L₂ │  1    1    2    1    1    2   1   ·   1   1   ·   1
 L₃L₃ │  1    1    2    1    1    2   ·   1   1   ·   1   1
 X₁   │  2    1    ·    ·    1    2   ·   ·   1   1   2   ·
 X₂   │  1    2    ·    1    ·    2   ·   ·   1   1   2   ·
 X₃   │  ·    1    2    2    1    ·   1   2   ·   ·   ·   1
 X₄   │  1    ·    2    1    2    ·   1   2   ·   ·   ·   1
 X₅   │  1    1    4    1    1    4   ·   ·   2   ·   ·   2
 Γ₁   │  1    ·    ·    1    ·    ·   1   ·   ·   1   ·   ·
 Γ₂   │  ·    1    ·    ·    1    ·   1   ·   ·   1   ·   ·
 Γ₃   │  1    1    ·    1    1    ·   ·   2   ·   ·   2   ·
 Γ₄   │  ·    1    2    ·    1    2   ·   ·   1   ·   ·   1
 Γ₅   │  1    ·    2    1    ·    2   ·   ·   1   ·   ·   1
──────┼──────────────────────────────────────────────────────
 μ    │  6    6   12    6    6   12   2   4   6   2   4   6
──────┴──────────────────────────────────────────────────────

which returns a Collection{NewBandRep{3}}, whose iterants are NewBandRep{3}s. We can inspect any individual vector in brs, e.g.:

brs[10] # obtain the EBR induced by Wyckoff position 8a with irrep A
14-irrep NewBandRep{3}:
 (8a|A): [W₁W₂, L₁L₂, X₁+X₂, Γ₁+Γ₂] (2 bands)

Currently, calc_bandreps can only treat spinless systems; if spinful systems are required, use bandreps. The presence or absence of time-reversal symmetry can be controlled with the keyword arguments timereversal (default, true). By default, only maximal k-points are included in the projection onto little group irreps; additional k-points (e.g., high-symmetry lines and planes) can be obtained by setting the keyword argument allpaths = true (default, false).

A set of EBRs can be used as the basis for several analyses. For instance, we can use the EBRs to compute the symmetry indicator group, summarizing the distinct topological classes identifiable from symmetry. Crystalline.jl implements indicator_group and indicator_group_as_string, which uses the Smith normal form's elementary factors to this end:

indicator_group_as_string(brs)
"Z₁"

Which demonstrates that the symmetry indicator group of spinless particles with time-reversal symmetry in space group 219 is trivial.

indicator_group
indicator_group_as_string

Topological analysis

An EBR basis can also be used to analyze SymmetryVectors, including their topology and whether they fulfil compatibility relations.

iscompatible
calc_topology
symmetry_indicators

Associated bases

The SymmetryBases.jl package provides additional tools to analyze fragile topology and to compute associated Hilbert bases.

API

Crystalline.calc_bandrepsFunction
calc_bandreps(sgnum::Integer, Dᵛ::Val{D}=Val(3);
              timereversal::Bool=true,
              allpaths::Bool=false,
              explicitly_real::Bool=timereversal)

Compute the band representations of space group sgnum in dimension D, returning a BandRepSet.

Keyword arguments

  • timereversal (default, true): whether the irreps used to induce the band representations are assumed to be time-reversal invariant (i.e., are coreps, see realify).
  • allpaths (default, false): whether the band representations are projected to all distinct k-points returned by lgirreps (allpaths = false), including high-symmetry k-lines and -plane, or only to the maximal k-points (allpaths = true), i.e., just to high-symmetry points.
  • explicitly_real (default, timereversal): whether, if timereversal = true, to ensure that the site symmetry irreps accompanying the band representations are chosen to be explicitly real (or "physically" real; see physical_realify). This is helpful for subsequent analysis of the action of time-reversal symmetry.

Notes

All band representations associated with maximal Wyckoff positions are returned, irregardless of whether they are elementary (i.e., no regard is made to whether the band representation is "composite"). As such, the returned band representations generally are a superset of the set of elementary band representations (and so contain all elementary band representations).

Implementation

The implementation is based on Cano, Bradlyn, Wang, Elcoro, et al., Phys. Rev. B 97, 035139 (2018), Sections II.C-D.

source
Crystalline.bandrepsFunction
bandreps(sgnum::Integer, D::Integer=3; 
         allpaths::Bool=false, spinful::Bool=false, timereversal::Bool=true)

Returns the elementary band representations (EBRs) as a BandRepSet for space group sgnum and dimension D.

Keyword arguments

  • allpaths: include a minimal sufficient set (false, default) or all (true) k-vectors.
  • spinful: single- (false, default) or double-valued (true) irreps, as appropriate for spinless and spinful particles, respectively. Only available for D=3.
  • timereversal: assume presence (true, default) or absence (false) of time-reversal symmetry.

References

3D EBRs are obtained from the Bilbao Crystallographic Server's BANDREP program; please reference the original research papers noted there if used in published work.

source
Crystalline.indicator_groupFunction
indicator_group(F::Smith) -> Any

Return the symmetry indicator group $X^{\text{BS}}$ associated with an input set of band representations brs (or Smith decomposition thereof, F), i.e., return the the nontrivial (i.e., ≠ {0,1}) elementary factors of the Smith normal form of the band representation matrix. The return value is a Vector{Int} containing the nontrivial factors. If no nontrivial factors exists, the return value is an empty Vector{Int}.

See also indicator_group_as_string for a formatted string version.

Understanding

The symmetry indicator group answers the question "what direct product of $\mathbb{Z}_n$ groups is the the quotient group $X^{\text{BS}} = \{\text{BS}\}/\{\text{AI}\}$ isomorphic to?" (see e.g., Po, Watanabe, & Vishwanath, Nature Commun. 8, 50 (2017) for more information).

Example

julia> brs = calc_bandreps(2, Val(3));

julia> indicator_group(brs)
4-element Vector{Int64}:
 2
 2
 2
 4
source
Crystalline.indicator_group_as_stringFunction
indicator_group_as_string(
    nontriv_Λ::AbstractVector{<:Integer}
)

Return the symmetry indicator group $X^{\text{BS}}$ as a formatted string (i.e., as "Zᵢ×Zⱼ×…"). See also indicator_group for a vector representation.

Example

julia> brs = calc_bandreps(2, Val(3));

julia> indicator_group_as_string(brs)
"Z₂×Z₂×Z₂×Z₄"
source
Crystalline.basisdimFunction
basisdim(brs::BandRepSet) --> Int

Return the dimension of the (linearly independent parts) of a band representation set. This is $d^{\text{bs}} = d^{\text{ai}}$ in the notation of Po, Watanabe, & Vishwanath, Nature Commun. 8, 50 (2017), or equivalently, the rank of stack(brs) over the ring of integers. This is the number of linearly independent basis vectors that span the expansions of a band structure viewed as symmetry data.

source
  • 1Note that the band representations returned by calc_bandreps need not be elementary; i.e., a band representation returned by calc_bandreps may be "composite" in the "exceptional" sense defined in the original topological quantum chemistry papers (e.g., https://arxiv.org/pdf/1709.01935). The inclusion of a non-elementary band representation into a set of elementary band representations makes no difference for the purposes of analyzing band topology or band connectivity using this set, however. I.e., the set of band representations returned by calc_bandreps is usually equivalent to the set returned by bandreps (referencing the Bilbao Crystallographic Server tables), and is otherwise a strict superset. For the sake of simplicity, we will colloquially refer to the band representations returned by calc_bandreps as EBRs, even though the set may technically contain non-elementary band representations.