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.