iodata.orbitals module

Data structure for molecular orbitals.

class MolecularOrbitals(kind, norba, norbb, occs=None, coeffs=None, energies=None, irreps=None)[source]

Bases: object

Class of Orthonormal Molecular Orbitals.

kind

Type of molecular orbitals, which can be ‘restricted’, ‘unrestricted’, or ‘generalized’.

norba

Number of (occupied and virtual) alpha molecular orbitals. Set to None in case oftype==’generalized’.

norbb

Number of (occupied and virtual) beta molecular orbitals. Set to None in case of type==’generalized’. This is expected to be equal to norba for the restricted kind.

occs

Molecular orbital occupation numbers. The length equals the number of columns of coeffs.

coeffs

Molecular orbital coefficients. In case of restricted: shape = (nbasis, norba) = (nbasis, norbb). In case of unrestricted: shape = (nbasis, norba + norbb). In case of generalized: shape = (2 * nbasis, norb), where norb is the total number of orbitals.

energies

Molecular orbital energies. The length equals the number of columns of coeffs.

irreps

Irreducible representation. The length equals the number of columns of coeffs.

Warning
Type:

the interpretation of the occupation numbers may only be suitable

for single-reference orbitals (not fractionally occupied natural orbitals.)
When an occupation number is in ]0, 1], it is assumed that an alpha orbital
is (fractionally) occupied. When an occupation number is in ]1, 2], it is
assumed that the alpha orbital is fully occupied and the beta orbital is
(fractionally) occupied.
__init__(kind, norba, norbb, occs=None, coeffs=None, energies=None, irreps=None)

Method generated by attrs for class MolecularOrbitals.

coeffs: ndarray
property coeffsa

Return alpha orbital coefficients.

property coeffsb

Return beta orbital coefficients.

energies: ndarray
property energiesa

Return alpha orbital energies.

property energiesb

Return beta orbital energies.

irreps: ndarray
property irrepsa

Return alpha irreps.

property irrepsb

Return beta irreps.

kind: str
property nbasis

Return the number of spatial basis functions.

property nelec: float

Return the total number of electrons.

property norb

Return the number of spatially distinct orbitals.

Notes

In case of restricted wavefunctions, this may be less than just the sum of norba and norbb, because alpha and beta orbitals share the same spatical dependence.

norba: int
norbb: int
occs: ndarray
property occsa

Return alpha occupation numbers.

property occsb

Return beta occupation numbers.

property spinpol: float

Return the spin polarization of the Slater determinant.

validate_norbab(mo, attribute, value)[source]

Validate the norba or norbb value assigned to a MolecularOrbitals object.

Parameters:
  • mo – The MolecularOrbitals instance.

  • attribute – Attribute instancce being changed.

  • value – The new value.