Symmetry breaking
A frequent question in tight-binding modelling is whether – and which – new hoppings terms might become allowed if the overall symmetry is reduced, either by breaking spatial symmetries or time-reversal symmetry. Such terms might e.g., break degeneracies or enable topological phase transitions.
SymmetricTightBinding.jl exports subduced_complement
as a tool to answer exactly this question. Here, we apply it to understand the effect of symmetry breaking on a 2-band model in plane group p4mm (⋕11).
We start by constructing our symmetry-unbroken model, picking the (2c|A₁) band representation of p4mm:
julia> using Crystalline, SymmetricTightBinding
julia> brs = calc_bandreps(11, Val(2))
14-element Crystalline.Collection{Crystalline.NewBandRep{2}} for ⋕11 (p4mm) over 14 irreps (spin-1 w/TR): ────┬──────────────────────────────────────────────────────── │ 2c 2c 2c 2c 1b 1b 1b 1b 1b 1a 1a 1a 1a 1a │ A₁ A₂ B₂ B₁ A₁ B₁ B₂ A₂ E A₁ B₁ B₂ A₂ E ────┼──────────────────────────────────────────────────────── X₁ │ 1 · · 1 · · · · 1 1 1 · · · X₂ │ · 1 1 · · · · · 1 · · 1 1 · X₃ │ · 1 · 1 · · 1 1 · · · · · 1 X₄ │ 1 · 1 · 1 1 · · · · · · · 1 M₁ │ · · · 1 · · 1 · · 1 · · · · M₂ │ · · · 1 · · · 1 · · 1 · · · M₃ │ · · 1 · 1 · · · · · · 1 · · M₄ │ · · 1 · · 1 · · · · · · 1 · M₅ │ 1 1 · · · · · · 1 · · · · 1 Γ₁ │ 1 · · · 1 · · · · 1 · · · · Γ₂ │ 1 · · · · 1 · · · · 1 · · · Γ₃ │ · 1 · · · · 1 · · · · 1 · · Γ₄ │ · 1 · · · · · 1 · · · · 1 · Γ₅ │ · · 1 1 · · · · 1 · · · · 1 ────┼──────────────────────────────────────────────────────── μ │ 2 2 2 2 1 1 1 1 2 1 1 1 1 2 ────┴────────────────────────────────────────────────────────
julia> cbr = @composite brs[1]
14-irrep Crystalline.CompositeBandRep{2}: (2c|A₁) (2 bands)
julia> tbm = tb_hamiltonian(cbr, [[0,0], [1,0]])
4-term 2×2 TightBindingModel{2} over (2c|A₁): ┌─ 1. ⎡ 1 0 ⎤ │ ⎣ 0 1 ⎦ └─ (2c|A₁) self-term ┌─ 2. ⎡ 0 𝕖(δ₁)+𝕖(δ₂)+𝕖(δ₃)+𝕖(δ₄) ⎤ │ ⎣ 𝕖(δ₁)+𝕖(δ₂)+𝕖(δ₃)+𝕖(δ₄) 0 ⎦ └─ (2c|A₁) self-term: δ₁=[1/2,-1/2], δ₂=-δ₁, δ₃=[1/2,1/2], δ₄=-δ₃ ┌─ 3. ⎡ 𝕖(δ₁)+𝕖(δ₂) 0 ⎤ │ ⎣ 0 𝕖(δ₃)+𝕖(δ₄) ⎦ └─ (2c|A₁) self-term: δ₁=[1,0], δ₂=-δ₁, δ₃=[0,1], δ₄=-δ₃ ┌─ 4. ⎡ 𝕖(δ₃)+𝕖(δ₄) 0 ⎤ │ ⎣ 0 𝕖(δ₁)+𝕖(δ₂) ⎦ └─ (2c|A₁) self-term: δ₁=[1,0], δ₂=-δ₁, δ₃=[0,1], δ₄=-δ₃
julia> ptbm = tbm([0, 1, -1, 1])
4-term 2×2 ParameterizedTightBindingModel{2} over (2c|A₁) with amplitudes: [0, 1.0, -1.0, 1.0]
We can visualize the tight-binding terms using plot
, providing also a lattice basis for the illustration:
using GLMakie
plot(tbm, directbasis(11, Val(2)))

While terms 3 and 4 appear identical in this visualization, they are not (cf. issue #75): in term 3, horizontal hoppings (δ₁ and δ₂) are associated to the first Wyckoff position (at [1/2, 0]
) and vertical hoppings to the second Wyckoff position (at [0, 1/2]
), and vice versa for term 4.
The parameterized model has a quadratic degeneracy at M, associated with the M₅ irrep:
julia> using Brillouin, GLMakie
julia> Rs = directbasis(11, Val(2));
julia> kp = irrfbz_path(11, Rs);
julia> kpi = interpolate(kp, 100);
plot(kpi, spectrum(ptbm, kpi))

We can study whether any additional terms become allowed if we reduce the symmetry. For instance, we might breaj the 4-fold rotational symmetry, reducing the plane group symmetry from p4mm (#11) to p2mm (#6):
julia> Δtbm_C₄ = subduced_complement(tbm, 6) # break 4-fold rotation sym.
3-term 2×2 TightBindingModel{2} over (2c|A₁): ┌─ 1. ⎡ 1 0 ⎤ │ ⎣ 0 -1 ⎦ └─ (2c|A₁) self-term ┌─ 2. ⎡ 𝕖(δ₁)+𝕖(δ₂) 0 ⎤ │ ⎣ 0 -𝕖(δ₃)-𝕖(δ₄) ⎦ └─ (2c|A₁) self-term: δ₁=[1,0], δ₂=-δ₁, δ₃=[0,1], δ₄=-δ₃ ┌─ 3. ⎡ -𝕖(δ₃)-𝕖(δ₄) 0 ⎤ │ ⎣ 0 𝕖(δ₁)+𝕖(δ₂) ⎦ └─ (2c|A₁) self-term: δ₁=[1,0], δ₂=-δ₁, δ₃=[0,1], δ₄=-δ₃
This allows three additional terms. Conversely, we could have also tried to break time-reversal or mirror symmetry (in the latter case, reducing the plane group symmetry to p4 (⋕10)). However, both of these cases allow no new terms [1]:
julia> Δtbm_m = subduced_complement(tbm, 10); # break mirror
julia> Δtbm_tr = subduced_complement(tbm, 11; timereversal = false); # break TR
However, by breaking both mirror and time-reversal symmetry simultaneously, additional terms do appear:
We can also break both symmetry simultaneously:
julia> Δtbm_mtr = subduced_complement(tbm, 10; timereversal = false) # break mirror & TR
1-term 2×2 TightBindingModel{2} over (2c|A₁): ┌─ 1. ⎡ 0 -i𝕖(δ₁)-i𝕖(δ₂)+i𝕖(δ₃)+i𝕖(δ₄) ⎤ │ ⎣ i𝕖(δ₁)+i𝕖(δ₂)-i𝕖(δ₃)-i𝕖(δ₄) 0 ⎦ └─ (2c|A₁) self-term: δ₁=[1/2,-1/2], δ₂=-δ₁, δ₃=[1/2,1/2], δ₄=-δ₃
That the result is effecitvely "more than the sum of the parts" of breaking time-reversal and mirror symmetry individually is merely a reflection of the fact that the term is only allowed when both time-reversal symmetry and mirror symmetry is broken (or, put differently, the term is not invariant under either symmetry, and so forbidden in the presence of either).
To determine which symmetry-reductions are possible – or, equivalently, which subgroups a particular group might have – use Crystalline.jl's maximal_subgroups(num(tbm))
. Note, however, that subduced_complement
only allows subgroup-relationships that do not involve a change of unit cell volume; i.e., the subgroup relationship cannot be associated with a change of translational symmetry.
We can build a new "total" model, incorporating both the original terms as well as any additional symmetry-breaking terms by using vcat
. For instance, we could incorporate the mirror-and-time-reversal symmetry breaking term into the original model:
julia> tbm′ = vcat(tbm, Δtbm_mtr)
5-term 2×2 TightBindingModel{2} over (2c|A₁): ┌─ 1. ⎡ 1 0 ⎤ │ ⎣ 0 1 ⎦ └─ (2c|A₁) self-term ┌─ 2. ⎡ 0 𝕖(δ₁)+𝕖(δ₂)+𝕖(δ₃)+𝕖(δ₄) ⎤ │ ⎣ 𝕖(δ₁)+𝕖(δ₂)+𝕖(δ₃)+𝕖(δ₄) 0 ⎦ └─ (2c|A₁) self-term: δ₁=[1/2,-1/2], δ₂=-δ₁, δ₃=[1/2,1/2], δ₄=-δ₃ ┌─ 3. ⎡ 𝕖(δ₁)+𝕖(δ₂) 0 ⎤ │ ⎣ 0 𝕖(δ₃)+𝕖(δ₄) ⎦ └─ (2c|A₁) self-term: δ₁=[1,0], δ₂=-δ₁, δ₃=[0,1], δ₄=-δ₃ ┌─ 4. ⎡ 𝕖(δ₃)+𝕖(δ₄) 0 ⎤ │ ⎣ 0 𝕖(δ₁)+𝕖(δ₂) ⎦ └─ (2c|A₁) self-term: δ₁=[1,0], δ₂=-δ₁, δ₃=[0,1], δ₄=-δ₃ ┌─ 5. ⎡ 0 -i𝕖(δ₁)-i𝕖(δ₂)+i𝕖(δ₃)+i𝕖(δ₄) ⎤ │ ⎣ i𝕖(δ₁)+i𝕖(δ₂)-i𝕖(δ₃)-i𝕖(δ₄) 0 ⎦ └─ (2c|A₁) self-term: δ₁=[1/2,-1/2], δ₂=-δ₁, δ₃=[1/2,1/2], δ₄=-δ₃
And we can then verify that the original band degeneracy at M is split when the mirror-and-time-reversal-breaking term is nonzero:
julia> ptbm′ = tbm′([0, 1, -1, 1 #= original terms =#, 0.1 #= symmetry breaking =#])
5-term 2×2 ParameterizedTightBindingModel{2} over (2c|A₁) with amplitudes: [0, 1.0, -1.0, 1.0, 0.1]
plot(kpi, spectrum(ptbm′, kpi))

While the "total" models tbm′
and ptbm′
work well for e.g., band structure purposes, they are not amenable to symmetry analysis in the symmetry-reduced setting. This is because the associated band representations in tbm′
, which are used to infer the "ingredients" of the symmetry analysis, still refer to the original group's symmetry, i.e., to p11 rather than p10.
This may change in future versions of SymmetricTightBinding.jl, depending on available time.
- 1For mirror symmetry-breaking, the absence of new terms is a result of looking only at a limited set of hopping orbits (in the original model
tb_hamiltonian(cbr, [[0,0], [1,0]])
): by including longer-range hopping orbits, we would eventually find new mirror-symmetry-broken terms. This is not so for time-reversal breaking, however: in p4mm, mirror symmetry and hermicity jointly impose an effective time-reversal symmetry.