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) 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:: guess_mix_ghf(C, ha, hb, la, lb, mixing_parameter=np.pi / 4) 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. **ha** : int The index of the highest occupied alpha(-like) orbital. **hb** : int The index of the highest occupied beta(-like) orbital. **la** : int The index of the lowest unoccupied alpha(-like) orbital. **lb** : int The index of the lowest unoccupied beta(-like) orbital. **mixing_parameter** : float, optional The mixing parameter for the Givens rotation. :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 !!