graph2mat.core.data.matrices.physics.orbital_matrix

Classes

OrbitalMatrix(block_dict, nsc, orbital_count)

Container to store the raw matrices as a dictionary of blocks.

class graph2mat.core.data.matrices.physics.orbital_matrix.OrbitalMatrix(block_dict: Dict[Tuple[int, int, int], ndarray], nsc: ndarray, orbital_count: ndarray)[source]

Bases: BasisMatrix

Container to store the raw matrices as a dictionary of blocks.

This class just adds some extra aliases to the BasisMatrix class, to use orbital terminology.

__init__(block_dict: Dict[Tuple[int, int, int], ndarray], nsc: ndarray, orbital_count: ndarray) None
basis_count: ndarray

Array containing the number of basis functions for each point

block_dict: Dict[Tuple[int, int, int], ndarray]
get_atomic_matrices(z_table: AtomicTableWithEdges)[source]
get_point_matrices(basis_table: AtomicTableWithEdges) Dict[int, ndarray][source]

This method should implement a way of retreiving the sub-matrices of each individual point.

This is, the matrix that the point would have if it was the only point in the system. This matrix will depend on the type of the point, so the basis_table needs to be provided.

The user might choose to subtract this matrix from the block_dict matrix during training, so that the model only learns the interactions between points.

nsc: ndarray

Size of the auxiliary supercell. This is the number of cells required in each direction to account for all the interactions of the points in the unit cell. If the point distribution is not periodic, this will always be [1,1,1].

orbital_count: ndarray

Alias for basis_count. Array containing the number of basis functions for each point