HopTB.Group

HopTB.Group.SymmetryType
Symmetry(rotation_matrix, translation, spin_rep;
    isantilinear::Bool=false, isdouble::Bool=false)

Type representing symmetries. The symmetry is a magnetic space group symmetry, i.e., symmetry containing rotation, reflection, inversion, translation and time reversal. The defining feature for magnetic space group symmetry is its represention in real space (rotation_matrix and translation, where translation operation follows the the action of rotation_matrix) and its representation in spinors. The symmetry may belong to a double group (isdouble=true) or not (isdouble=false). If the symmetry does not belong to a double group, it is only relevant for spinless fermions and the spin_rep information is not used at all. The symmetry may be antilinear denoted by the keyword isantilinear.

source
HopTB.Group.getmirrorFunction
getmirror(axis::Vector{<:Real}; isdouble::Bool=false) -> Symmetry

get mirror symmetry along `axis`.
source
HopTB.Group.decompose_to_primitiveFunction
decompose_to_primitive(s::Symmetry)

Every magnetic space group symmetry can be decomposed into a canonical representation, i.e., ĒtICT, where T is time reversal, C is rotation, I is inversion, t is translation and Ē is 2π rotation. This function decomposes the symmetry to these atomic actions. This function always treats the symmetry as a double group symmetry.

The returned named tuple are in the following format

(TRS::Bool, inversion::Bool, translation::Vector{Float64}, θ::Float64,
    axis::Vector{Float64}, Ē::Bool)
source
HopTB.Group.generategroupFunction
generategroup(symmetries::Vector{Symmetry}; maxiter=100)::Vector{Symmetry}

generate a group with generators symmetries.

source
HopTB.Group.get_bloch_repFunction
get_bloch_rep(s::Symmetry, tm::TBModel, orbital_types::Vector{Vector{Int64}},
    k::Vector{<:Real}; isspinful::Bool=false)
source