forte2.ci.ci_utils ================== .. py:module:: forte2.ci.ci_utils Module Contents --------------- .. py:function:: pretty_print_gas_info(ci_strings: forte2.CIStrings) .. py:function:: pretty_print_ci_summary(sa_info: forte2.state.StateAverageInfo, eigvals_per_solver: list[list[float]], header='\nCI energy summary') Pretty print the CI energy summary for the given CI states and eigenvalues. :Parameters: **sa_info** : StateAverageInfo An instance of `StateAverageInfo` that holds information about the states and their properties. **eigvals_per_solver** : list[list[float]] A list of lists containing the eigenvalues (energies) for each CI solver. **header** : str, optional, default="CI energy summary" A header string to display at the top of the summary. .. !! processed by numpydoc !! .. py:function:: pretty_print_ci_nat_occ_numbers(sa_info: forte2.state.StateAverageInfo, mo_space: forte2.state.MOSpace, nat_occs: numpy.ndarray) Pretty print the natural occupation numbers for the CI states. Roots are rows, orbitals are columns. :Parameters: **sa_info** : StateAverageInfo An instance of `StateAverageInfo` that holds information about the states and their properties. **mo_space** : MOSpace An instance of `MOSpace` that holds information about the partitioning of the molecular orbitals. **nat_occs** : np.ndarray A 2D numpy array containing the natural occupation numbers for each root and orbital. This should be calculated from CISolver.compute_natural_occupation_numbers. .. !! processed by numpydoc !! .. py:function:: pretty_print_ci_dets(sa_info: forte2.state.StateAverageInfo, mo_space: forte2.state.MOSpace, top_dets: list[list[list[tuple]]]) Pretty print the top determinants for each root of the CI states. :Parameters: **sa_info** : StateAverageInfo An instance of `StateAverageInfo` that holds information about the states and their properties. **mo_space** : MOSpace An instance of `MOSpace` that holds information about the partitioning of the molecular orbitals. **top_dets** : list[list[list[tuple]]] A list of lists containing the top determinants and their coefficients for each root. This should be obtained from CISolver.get_top_determinants. .. !! processed by numpydoc !! .. py:function:: pretty_print_ci_transition_props(sa_info: forte2.state.StateAverageInfo, transition_dipoles: collections.OrderedDict, oscillator_strengths: collections.OrderedDict, eigvals_per_solver: list[list[float]], thres=0.0001) Pretty print the dipole moments of CI states, as well as the bright transitions between them, including the oscillator strengths and vertical transition energies (VTE). :Parameters: **sa_info** : StateAverageInfo An instance of `StateAverageInfo` that holds information about the states and their properties. **transition_dipoles** : OrderedDict A dictionary with keys as tuples (i, j) representing the initial and final states, and values as the transition dipole moments for each component (x, y, z). **oscillator_strengths** : OrderedDict A dictionary with keys as tuples (i, j) representing the initial and final states, and values as the oscillator strengths for each transition. **eigvals_per_solver** : list[list[float]] A list of lists containing the eigenvalues (energies) for each CI solver. .. !! processed by numpydoc !! .. py:function:: make_2cumulant_so(gamma1, gamma2) Compute the 2-cumulant from the spinorbital 1- and 2-RDMs. This can be useful for computing averaged cumulants, since one cannot simply average the 2-cumulants directly, as the relation between RDMs and cumulants is nonlinear. See text around eq. 7 om J. Chem. Phys. 148, 124106 (2018) for more details. :Parameters: **gamma1** : np.ndarray The one-particle reduced density matrix (1-RDM). **gamma2** : np.ndarray The two-particle reduced density matrix (2-RDM). :Returns: np.ndarray The two-particle cumulant (2-cumulant). .. !! processed by numpydoc !! .. py:function:: make_3cumulant_so(gamma1, gamma2, gamma3) Compute the 3-cumulant from the spinorbital 1-, 2-, and 3-RDMs. This can be useful for computing averaged cumulants, since one cannot simply average the 3-cumulants directly, as the relation between RDMs and cumulants is nonlinear. See text around eq. 7 om J. Chem. Phys. 148, 124106 (2018) for more details. :Parameters: **gamma1** : np.ndarray The one-particle reduced density matrix (1-RDM). **lambda2** : np.ndarray The two-particle reduced density cumulant. **gamma3** : np.ndarray The three-particle reduced density matrix (3-RDM). :Returns: np.ndarray The three-particle cumulant (3-cumulant). .. !! processed by numpydoc !! .. py:function:: make_2cumulant_sf(gamma1, gamma2) Compute the spin-free 2-cumulant from the 1- and 2- spin-free RDMs. This can be useful for computing averaged cumulants, since one cannot simply average the 2-cumulants directly, as the relation between RDMs and cumulants is nonlinear. :Parameters: **gamma1** : np.ndarray The one-particle spin-free reduced density matrix (sf-1-RDM). **gamma2** : np.ndarray The two-particle spin-free reduced density matrix (sf-2-RDM). :Returns: np.ndarray The two-particle spin-free cumulant (sf-2-cumulant). .. !! processed by numpydoc !! .. py:function:: make_3cumulant_sf(gamma1, gamma2, gamma3) Compute the spin-free 3-cumulant from the 1-, 2-, and 3- spin-free RDMs. This can be useful for computing averaged cumulants, since one cannot simply average the 3-cumulants directly, as the relation between RDMs and cumulants is nonlinear. See text around eq. 7 om J. Chem. Phys. 148, 124106 (2018) for more details. :Parameters: **gamma1** : np.ndarray The one-particle spin-free reduced density matrix (sf-1-RDM). **gamma2** : np.ndarray The two-particle spin-free reduced density matrix (sf-2-RDM). **gamma3** : np.ndarray The three-particle spin-free reduced density matrix (sf-3-RDM). :Returns: np.ndarray The three-particle spin-free cumulant (sf-3-cumulant). .. !! processed by numpydoc !!