forte2.scf.scf_utils ==================== .. py:module:: forte2.scf.scf_utils Module Contents --------------- .. py:function:: minao_initial_guess(system, H) Generate a superposition of atomic potentials (SAP) initial guess for the SCF procedure S. Lehtola, J. Chem. Theory Comput. 15, 1593-1604 (2019), arXiv:1810.11659. For details, see https://doi.org/10.1063/5.0004046 :Parameters: **system** : forte2.System The system object containing the atoms and basis set. **H** : NDArray The Fock matrix. **S** : NDArray The overlap matrix. :Returns: NDArray The initial MO guess for the SCF procedure. .. !! processed by numpydoc !! .. py:function:: core_initial_guess(system: forte2.system.System, H) Generate an initial guess by diagonalizing the core Hamiltonian. :Parameters: **system** : forte2.System The system object containing the atoms and basis set. **H** : NDArray The core Hamiltonian matrix. :Returns: NDArray The initial MO guess for the SCF procedure. .. !! processed by numpydoc !! .. py:function:: guess_mix(C, homo_idx, mixing_parameter=np.pi / 4, twocomp=False) Induce the breaking of S^2 symmetry for UHF ms=0.0 calculations. This is helpful for obtaining proxies for open-shell singlets, for example. :Parameters: **C** : NDArray The MO coefficients. **homo_idx** : int The index of the highest occupied molecular orbital (HOMO). **mixing_parameter** : float, optional The mixing parameter for the Givens rotation. **twocomp** : bool, optional Whether the system is two-component. :Returns: NDArray The modified MO coefficients. .. rubric:: Notes See Szabo and Ostlund Ch. 3.8.7. .. !! processed by numpydoc !! .. py:function:: alpha_beta_mix(C, mixing_parameter=0.1) Induce the breaking of S_z symmetry for GHF calculations. This function explicitly mixes the degenerate alpha and beta MOs, which results in non-vanishing D_ab/D_ba density matrix elements. :Parameters: **C** : NDArray The MO coefficients. **mixing_parameter** : float, optional The mixing parameter for the Givens rotation. :Returns: NDArray The modified MO coefficients. .. !! processed by numpydoc !! .. py:function:: break_complex_conjugation_symmetry(C, pert_strength=0.1) Break the time-reversal/complex conjugation symmetry of the MO coefficients. A random phase is applied to each AO (cannot be MO as it would not change the density matrix). :Parameters: **C** : NDArray The MO coefficients. **pert_strength** : float, optional The strength of the perturbation (in radians). :Returns: NDArray The modified MO coefficients. .. !! processed by numpydoc !! .. py:function:: convert_coeff_spatial_to_spinor(system, C, complex=True) Convert spatial orbital MO coefficients to spinor(bital) MO coefficients :Parameters: **system** : forte2.System The system object containing the atoms and basis set. **C** : list of NDArray The MO coefficients in spatial orbital basis. **complex** : bool, optional, default=True Whether to cast to complex dtype. :Returns: list of NDArray The MO coefficients in spinor(bital) basis. .. !! processed by numpydoc !!