qrunch.chemistry.molecule.density_operator

Module for density operator.

Classes

RestrictedDensityOperator

Single electron restricted density operator.

UnrestrictedDensityOperator

Single electron unrestricted density operator.

class RestrictedDensityOperator

Bases: object

Single electron restricted density operator.

The single-electron density operator, \(\rho\), constructed from occupied molecular orbitals is given by:

\[\rho_{ij} = 2 \sum_{a} C_{ia} C_{ja}^*,\]

where \(C_{ia}\) are the molecular orbital coefficients for the occupied orbitals. The summation \(\sum_{a}\) runs over all occupied orbitals. The factor of 2 is to account for both alpha and beta electrons.

__init__(occupied_molecular_orbitals: MolecularOrbitals) None

Initialize a restricted density operator.

Parameters:

occupied_molecular_orbitals (MolecularOrbitals) – Occupied molecular orbitals for constructing the density operator.

Return type:

None

property alpha_matrix: ndarray[Any, dtype[float64]]

Matrix representation for the alpha part of the density operator.

property beta_matrix: ndarray[Any, dtype[float64]]

Matrix representation for the beta part of the density operator.

property number_of_orbitals: int

Number of orbitals in the basis for the density operator.

class UnrestrictedDensityOperator

Bases: object

Single electron unrestricted density operator.

The single-electron density operator, \(\rho^{\alpha (\beta)}\), for alpha (beta) electrons is constructed from occupied molecular orbitals is given by:

\[\rho_{ij}^{\alpha(\beta)} = \sum_{a} C_{ia}^{\alpha(\beta)} C_{ja}^{\alpha(\beta)*},\]

where \(C_{ia}^{\alpha(\beta)}\) are the molecular orbital coefficients for the occupied orbitals. The summation \(\sum_{a}\) runs over all occupied alpha (beta) orbitals.

__init__(occupied_alpha_molecular_orbitals: MolecularOrbitals, occupied_beta_molecular_orbitals: MolecularOrbitals) None

Initialize an unrestricted density operator.

Parameters:
  • occupied_alpha_molecular_orbitals (MolecularOrbitals) – Occupied alpha molecular orbitals for constructing the density operator.

  • occupied_beta_molecular_orbitals (MolecularOrbitals) – Occupied beta molecular orbitals for constructing the density operator.

Return type:

None

property alpha_matrix: ndarray[Any, dtype[float64]]

Matrix representation for the alpha electrons density operator.

property beta_matrix: ndarray[Any, dtype[float64]]

Matrix representation for the beta electrons density operator.

property number_of_orbitals: int

Number of orbitals in the basis for the density operator.