# calculateHamiltonianAndOverlap¶

calculateHamiltonianAndOverlap(configuration, kpoint=None, spin=<class 'NL.ComputerScienceUtilities.NLFlag.Spin.All'>)

Calculate the Fourier transformed Hamiltonian (H) and the overlap (S) matrices.

Parameters: configuration (MoleculeConfiguration | BulkConfiguration | DeviceConfiguration | SurfaceConfiguration) – The configuration to use for the calculation. kpoint (tuple of floats) – The kpoint as three floats representing fractional reciprocal space coordinates. Default: The Gamma point (0.0, 0.0, 0.0) spin (Spin.Up | Spin.Down | Spin.All) – The spin component for which to perform the calculation. Default: Spin.All H as a PhysicalQuantity array and S as a numpy.array. tuple

## Usage Examples¶

Evaluate a simple molecular system:

hamiltonian, overlap = calculateHamiltonianAndOverlap(molecule_configuration)


Evaluate a bulk system in a non-Gamma kpoint:

hamiltonian, overlap = calculateHamiltonianAndOverlap(bulk_configuration, kpoint=(0.1, 0.0, 0.0))


## Notes¶

• Calculates Fourier transformed Hamiltonian, $$H({\bf k})$$ and overlap matrix $$S({\bf k})$$. The real space Hamiltonian is defined by $$H_{ij} = \langle \phi_i | \hat{H}_{1el} | \phi_j \rangle,$$ and the overlap matrix $$S_{ij} = \langle \phi_i | \phi_j \rangle$$, where $$\phi_i$$ are the basis functions. The Fourier transform is obtained by summing over all the cells in the periodic system

$M({\bf k})_{\mu \nu} = \sum_{\bf R} M_{(\mu, {\bf 0}),(\nu, {\bf R})} e^{i {\bf k} \cdot {\bf R}},$

where $${\bf R}$$ is given relative to the central cell, $${\bf R}={\bf 0}$$.

• The calculator must be density matrix-based for this function to perform successfully.

• Consider Note on Spin in low level interface functions for details on how to handle the spin parameter.