forte2.jkbuilder.mointegrals#

Module Contents#

class forte2.jkbuilder.mointegrals.RestrictedMOIntegrals#

Class to compute molecular orbital integrals for a given set of restricted orbitals.

Parameters:
systemSystem

The system for which to compute the integrals.

CNDArray

The coefficient matrix for the molecular orbitals.

orbitalslist[int]

Subspace of the orbitals for which to compute the integrals.

core_orbitalslist[int], optional

Subspace of doubly occupied orbitals.

antisymmetrizebool, optional, default=False

If True, antisymmetrize the two-electron integrals.

Attributes:
Efloat

Nuclear repulsion plus the core energy contribution.

HNDArray

The effective one-electron integrals.

VNDArray

The two-electron integrals stored in physicist’s convention: V[p,q,r,s] = \(\langle pq | rs \rangle\).

Examples

>>> ints = RestrictedMOIntegrals(system=system, C=rhf.C[0], orbitals=orbitals, core_orbitals=core_orbitals)
>>> ints.H  # one-electron integrals in the MO basis
>>> ints.V  # two-electron integrals in the MO basis
system: forte2.System#
C: numpy.typing.NDArray#
orbitals: list[int] | range#
core_orbitals: list[int] | range = []#
antisymmetrize: bool = False#
class forte2.jkbuilder.mointegrals.SpinorbitalIntegrals#

Class to compute molecular orbital integrals for a given set of restricted orbitals.

Parameters:
systemSystem

The system for which to compute the integrals.

CNDArray, shape (2*nbf, *)

The coefficient matrix for the spinorbitals.

spinorbitalslist[int] | range

Subspace of the spinorbitals for which to compute the integrals.

core_spinorbitalslist[int] | range, optional

Subspace of doubly occupied spinorbitals.

antisymmetrizebool, optional, default=False

If True, antisymmetrize the two-electron integrals.

Attributes:
Efloat

Nuclear repulsion plus the core energy contribution.

HNDArray

The effective one-electron integrals.

VNDArray

The two-electron integrals stored in physicist’s convention: V[p,q,r,s] = \(\langle pq | rs \rangle\).

system: forte2.System#
C: numpy.typing.NDArray#
spinorbitals: list[int] | range#
core_spinorbitals: list[int] | range = []#
antisymmetrize: bool = False#