forte2.orbitals.semicanonicalizer#

Module Contents#

class forte2.orbitals.semicanonicalizer.Semicanonicalizer(system: forte2.system.System, mo_space: forte2.state.MOSpace | forte2.state.EmbeddingMOSpace = None, mix_inactive: bool = False, mix_active: bool = False, do_frozen: bool = True, do_active: bool = True)#

Class to perform semicanonicalization of a set of molecular orbitals. The semi-canonical basis is defined as a basis where the generalized Fock matrix is diagonal in a set of subspaces.

Parameters:
mo_spaceMOSpace

The molecular orbital space defining the subspaces.

systemSystem

The system object containing the basis set and other properties.

mix_inactivebool, optional, default=False

If True, frozen_core and core orbitals will be diagonalized together, virtual and frozen_virt also will be diagonalized together.

mix_activebool, optional, default=False

If True, all GAS active orbitals will be diagonalized together.

Attributes:
focknp.ndarray

The generalized Fock matrix in the original basis.

fock_semicannp.ndarray

The generalized Fock matrix in the semi-canonical basis.

eps_semicannp.ndarray

The diagonal entries of the Fock matrix in the semi-canonical basis.

C_semicannp.ndarray

The molecular orbital coefficients in the semi-canonical basis.

Unp.ndarray

The unitary transformation matrix from the original to the semi-canonical basis.

Uactvnp.ndarray

The unitary transformation matrix within the active space.

Notes

The generalized Fock matrix is defined as

\[f_p^q = h_p^q + \sum_{ij}^{\mathbf{H}}v_{pi}^{qj}\gamma_j^i,\]

where \(\mathbf{H}\) is the set of hole orbitals (i.e., all orbitals that are not unoccupied). The task of the Semicanonicalizer class is then to form the generalized Fock matrix and accumulate unitary transformations that diagonalizes the Fock matrix in the specified subspaces. If a subspace is to be untouched, the corresponding subblock of unitary transformation is set to the identity.

mo_space = None#
two_component#
system#
fock_builder#
mix_inactive = False#
mix_active = False#
do_frozen = True#
do_active = True#
semi_canonicalize(g1, C_contig)#

Perform the semi-canonicalization.

Parameters:
g1np.ndarray

The active space 1-electron density matrix in the molecular orbital basis. Spin-summed if non-relativistic, spin-orbital if relativistic.

C_contignp.ndarray

The molecular orbital coefficients, in the “contiguous” order of the orbitals. Note that all other quantities are also defined in this order.