sk_builder.slater_koster_utils

Utilities for the construction of Slater-Koster integrals.

The slater_koster_utils sub-module of the sk_builder module provides helper functions for constructing Slater-Koster tight-binding matrix elements.

TODO:

  • What to do with the hard coded 'eps'?

@private

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

def get_lmn(d: numpy.ndarray) -> tuple[float, ...]:

Returns directional cosines and combinations thereof associated to a 3D vector.

Arguments:
  • d (np.ndarray): displacement vector (Cartesian coordinates).
Raises:
  • ValueError: If input vector is not of shape (3,).
  • ValueError: If norm of input vector is below threshold.
Returns:

tuple[float, ...]: Tuple of directional cosines and combinations thereof.

def get_p_vector(d: numpy.ndarray) -> numpy.ndarray:

Returns vector representing p orbitals by directional cosines.

Arguments:
  • d (np.ndarray): Displacement vector.
Returns:

np.ndarray: Vector representing p orbitals (a.k.a. unit vector along d)

def get_d_vector(d: numpy.ndarray) -> numpy.ndarray:

Returns vector representing d orbitals using directional cosines.

Arguments:
  • d (np.ndarray): Displacement vector.
Returns:

np.ndarray: Vector representing d orbitals.

def get_p_p_beta_matrix(d: numpy.ndarray) -> numpy.ndarray:

Returns beta matrix of p-p block.

Arguments:
  • d (np.ndarray): Displacement vector.
Returns:

np.ndarray: "beta" matrix of p-p block.

def get_p_d_beta_matrix(d: numpy.ndarray) -> numpy.ndarray:

Returns beta matrix of p-d block.

Arguments:
  • d (np.ndarray): Displacement vector.
Returns:

np.ndarray: 3x5 "beta" matrix of p-d block.

def get_p_d_gamma_matrix(d: numpy.ndarray) -> numpy.ndarray:

Returns gamma matrix of p-d block.

Arguments:
  • d (np.ndarray): Displacement vector.
Returns:

np.ndarray: 3x5 "gamma" matrix of p-d block.

def get_d_d_beta_matrix(d: numpy.ndarray) -> numpy.ndarray:

Returns beta matrix of d-d block.

Arguments:
  • d (np.ndarray): Displacement vector.
Returns:

np.ndarray: 5x5 "beta" matrix of d-d block.

def get_d_d_gamma_matrix(d: numpy.ndarray) -> numpy.ndarray:

Returns gamma matrix of d-d block.

Arguments:
  • d (np.ndarray): Displacement vector.
Returns:

np.ndarray: 5x5 "gamma" matrix of d-d block.