forte2.scf.scf_utils#

Module Contents#

forte2.scf.scf_utils.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:
systemforte2.System

The system object containing the atoms and basis set.

HNDArray

The Fock matrix.

SNDArray

The overlap matrix.

Returns:
NDArray

The initial MO guess for the SCF procedure.

forte2.scf.scf_utils.core_initial_guess(system: forte2.system.System, H)#

Generate an initial guess by diagonalizing the core Hamiltonian.

Parameters:
systemforte2.System

The system object containing the atoms and basis set.

HNDArray

The core Hamiltonian matrix.

Returns:
NDArray

The initial MO guess for the SCF procedure.

forte2.scf.scf_utils.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:
CNDArray

The MO coefficients.

homo_idxint

The index of the highest occupied molecular orbital (HOMO).

mixing_parameterfloat, optional

The mixing parameter for the Givens rotation.

twocompbool, optional

Whether the system is two-component.

Returns:
NDArray

The modified MO coefficients.

Notes

See Szabo and Ostlund Ch. 3.8.7.

forte2.scf.scf_utils.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:
CNDArray

The MO coefficients.

haint

The index of the highest occupied alpha(-like) orbital.

hbint

The index of the highest occupied beta(-like) orbital.

laint

The index of the lowest unoccupied alpha(-like) orbital.

lbint

The index of the lowest unoccupied beta(-like) orbital.

mixing_parameterfloat, optional

The mixing parameter for the Givens rotation.

Returns:
NDArray

The modified MO coefficients.

Notes

See Szabo and Ostlund Ch. 3.8.7.

forte2.scf.scf_utils.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:
CNDArray

The MO coefficients.

mixing_parameterfloat, optional

The mixing parameter for the Givens rotation.

Returns:
NDArray

The modified MO coefficients.

forte2.scf.scf_utils.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:
CNDArray

The MO coefficients.

pert_strengthfloat, optional

The strength of the perturbation (in radians).

Returns:
NDArray

The modified MO coefficients.