“…In practice, a k•p model is usually constructed from symmetry constraint. The input information include the symmetry group of at the expansion point K and the symmetry information of the target band states at K. Depending on the needs, the output model is expanded to a specified cutoff power of k. At present, there already exist a few packages, including kdotp-symmetry [20], Qsymm [21], kdotp-generator (based on kdotpsymmetry) [22] and Model-Hamiltonian [23], which can construct k • p Hamiltonians. All these packages are written in Python and use a similar algorithm, namely, the direct-product decomposition algorithm (DDA).…”