calculateDensityMatrix

calculateDensityMatrix(configuration, kpoint=None, spin=None)

Calculate the the Fourier component of the Density Matrix.

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
Returns:

The density matrix.

Return type:

numpy.array

Usage Examples

Evaluate the density matrix of a BulkConfiguration.

density_matrix = calculateDensityMatrix(bulk_configuration)

Notes

  • Extract the Fourier transformed density matrix of a BulkConfiguration.

    \[D({\bf k})_{\mu,\nu} = \sum_{n} f_n c^\dagger_\mu(n,{\bf k}) c_\nu(n,{\bf k}),\]

    where \(f_n\) are Fermi occupation factors and \(c_\nu(n,{\bf k})\) are basis function coefficients for eigenstate \(n, {\bf k}\) , i.e

    \[H({\bf k}) {\bf c}(n, {\bf k}) = E_n S({\bf k}) {\bf c}(n, {\bf k})\]
  • The calculator assigned to the device 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.