Reference¶
A tool for calculating the general form of a k.p Hamiltonian under given symmetry constraints.
-
kdotp_symmetry.
monomial_basis
(*degrees)[source]¶ Returns the product basis of (kx, ky, kz), with monomials of the given degrees.
Parameters: degrees (int) – Degree of the monomials. Multiple degrees can be given, in which case the basis consists of the monomials of all given degrees. Example:
>>> import kdotp_symmetry as kp >>> kp.monomial_basis(*range(3)) [1, kx, ky, kz, kx**2, kx*ky, kx*kz, ky**2, ky*kz, kz**2]
-
kdotp_symmetry.
hermitian_basis
(dim)[source]¶ Returns a basis of the hermitian matrices of size
dim
that is orthogonal w.r.t. the Frobenius scalar product.Parameters: dim (int) – size of the matrices Example:
>>> import kdotp_symmetry as kp >>> kp.hermitian_basis(2) [Matrix([ [1, 0], [0, 0]]), Matrix([ [0, 0], [0, 1]]), Matrix([ [0, 1], [1, 0]]), Matrix([ [0, -I], [I, 0]])]
-
kdotp_symmetry.
symmetric_hamiltonian
(*symmetry_operations, expr_basis, repr_basis='auto', check_repr_basis=False)[source]¶ Calculates the basis of the symmetric Hamiltonian for a given set of symmetry operations.
Parameters: - symmetry_operations (
symmetry_representation.SymmetryOperation
) – The symmetry operations that the Hamiltonian should respect. - expr_basis (
list
ofsympy
expressions) – The basis for the \(\mathbf{k}\)-functions that are considered. - repr_basis (
list
ofsympy
matrices) – The basis for the hermitian matrices, with the same size as the representations. By default, thehermitian_basis()
of the appropriate size is used. - check_repr_basis (bool) – Flag to enable explicitly checking the orthogonality of
repr_basis
.
Returns: Basis for the symmetric Hamiltonian, as a
list
ofsympy
matrix expressions.- symmetry_operations (