HopTB.Topology

exported functions

HopTB.Topology.get_smooth_gaugeFunction
get_smooth_gauge(tm::TBModel, getv::Function, v0::Vector{<:Number},
    kpts::Matrix{<:Real}; unwind::Bool=false)::Matrix{ComplexF64}

Parallel transport the Bloch function produced by getv at a line in BZ denoted by kpts. The start point is kpts[:, 1] where the vector is assumed to be v0. If unwind is true, then the first k point in kpts and the last k point in kpts are assumed to be identical k point. In this case, the vector on the two k points are made the same. kpts are assumed to be even spaced if unwind is true.

The output is a matrix of size (length(v0), length(kpts)).

source
get_smooth_gauge(tm::TBModel, getv::Function, nkmesh::Vector{Int64})

Find a smooth gauge in the BZ for the Bloch functions returned by getv. Please make sure Chern number is 0 for any possible submanifold.

source
get_smooth_gauge(tm::TBModel, bandind::Int64, nkmesh::Vector{Int64})

Find a smooth gauge in the BZ for the bandind band. Please make sure Chern number is 0 for any possible submanifold.

source
HopTB.Topology.get_wilson_spectrumFunction
function get_wilson_spectrum(
    tm::AbstractTBModel,
    band_indices::Vector{<:Integer},
    kpaths::AbstractMatrix{<:Real},
    ndiv::Int64
)

Calculate Wilson loop spectrum for bands labelled by band_indices on kpaths.

Wilson loop spectrum is defined as the eigenvalues of the parallel transport operator $W$. Specifically, $W$ is a unitary operator and its eigenvalues are of the form $\exp(\mathrm{i}θ)$. This function returns $\{θ_i\}$.

$W$ is defined as

\[W = \prod_{\boldsymbol{k}_f \leftarrow \boldsymbol{k} \leftarrow \boldsymbol{k}_i} P_{\boldsymbol{k}},\]

where $P$ is the projection operator onto bands labelled by band_indices. The path $\boldsymbol{k}_f \leftarrow \boldsymbol{k} \leftarrow \boldsymbol{k}_i$ is specified by kpaths and ndiv. Specifically, this path is kpath[:, 1] -> ... -> kpath[:, 2] -> ... -> kpath[:, end], where ndiv k points are inserted between kpath[:, i] and kpath[:, i + 1].

source