sk_builder.slater_koster_integrals

Implementation of Slater-Koster integrals.

This module provides implementations for inter-site Slater-Koster matrix elements., i.e., the part of the Hamiltonian describing hopping amplitudes between two atoms separated by given displacement.

@private

Copyright © 2022-2025 HQS Quantum Simulations GmbH. All Rights Reserved.

def get_hopping_matrix( sk_params: dict, atom_from: str, atom_to: str, displacement: numpy.ndarray) -> numpy.ndarray:

Return hopping matrix for given displacment and atomic species.

NOTE: The Slater-Koster parameters are assumed to hold the parameters for species specified in bond_type.

Arguments:
  • sk_params (dict): Dictionary containing Slater-Koster parameters.
  • atom_from (str): String specifying species of first atom.
  • atom_to (str): String specifying species of second atom.
  • displacement (np.ndarray): Displacement vector from first to second atom.
Raises:
  • RuntimeError: If diagonals of upper and lower triangular hopping matrix differ.
Returns:

np.ndarray: 10x10 hopping matrix for given displacement and bond type.

def get_upper_hopping_matrix( displacement: numpy.ndarray, bond_type: str, sk_params: dict) -> numpy.ndarray:

Return upper triangular hopping matrix.

Arguments:
  • displacement (np.ndarray): Displacement vector between the two atoms.
  • bond_type (str): Atomic species connected by the bond as string, e.g., "Si-Ge".
  • sk_params (dict): Dictionary containing Slater-Koster parameters.
Returns:

np.ndarray: upper triangular 10x10 matrix of hopping elements.

def get_s_s_block( displacement: numpy.ndarray, bond_type: str, sk_params: dict) -> numpy.ndarray:

Return s-s block matrix of Slater-Koster model.

Arguments:
  • displacement (np.ndarray): Displacement vector between the two atoms.
  • bond_type (str): Atomic species connected by the bond as string, e.g., "Si-Ge".
  • sk_params (dict): Dictionary containing Slater-Koster parameters.
Returns:

np.ndarray: (upper triangular) 2x2 matrix of hopping elements between s orbitals.

def get_s_p_block( displacement: numpy.ndarray, bond_type: str, sk_params: dict) -> numpy.ndarray:

Return s-p block matrix of Slater-Koster model.

Arguments:
  • displacement (np.ndarray): Displacement vector between the two atoms.
  • bond_type (str): Atomic species connected by the bond as string, e.g., "Si-Ge".
  • sk_params (dict): Dictionary containing Slater-Koster parameters.
Returns:

np.ndarray: 2x3 matrix of hopping elements between s and p orbitals.

def get_s_d_block( displacement: numpy.ndarray, bond_type: str, sk_params: dict) -> numpy.ndarray:

Return s-d block matrix of Slater-Koster model.

Arguments:
  • displacement (np.ndarray): Displacement vector between the two atoms.
  • bond_type (str): Atomic species connected by the bond as string, e.g., "Si-Ge".
  • sk_params (dict): Dictionary containing Slater-Koster parameters.
Returns:

np.ndarray: 2x5 matrix of hopping elements between s and d orbitals.

def get_p_p_block( displacement: numpy.ndarray, bond_type: str, sk_params: dict) -> numpy.ndarray:

Return p-p block matrix of Slater-Koster model.

Arguments:
  • displacement (np.ndarray): Displacement vector between the two atoms.
  • bond_type (str): Atomic species connected by the bond as string, e.g., "Si-Ge".
  • sk_params (dict): Dictionary containing Slater-Koster parameters.
Returns:

np.ndarray: (upper triangular) 3x3 matrix of hopping elements between p orbitals.

def get_p_d_block( displacement: numpy.ndarray, bond_type: str, sk_params: dict) -> numpy.ndarray:

Return p-d block matrix of Slater-Koster model.

Arguments:
  • displacement (np.ndarray): Displacement vector between the two atoms.
  • bond_type (str): Atomic species connected by the bond as string, e.g., "Si-Ge".
  • sk_params (dict): Dictionary containing Slater-Koster parameters.
Returns:

np.ndarray: 3x5 matrix of hopping elements between p and d orbitals.

def get_d_d_block( displacement: numpy.ndarray, bond_type: str, sk_params: dict) -> numpy.ndarray:

Return d-d block matrix of Slater-Koster model.

Arguments:
  • displacement (np.ndarray): Displacement vector between the two atoms.
  • bond_type (str): Atomic species connected by the bond as string, e.g., "Si-Ge".
  • sk_params (dict): Dictionary containing Slater-Koster parameters.
Returns:

np.ndarray: (upper triagunlar) 5x5 matrix of hopping elements between d orbitals.