psi4 / psi4

Compare 7105e37 ... +51 ... 2d37164

Coverage Reach
src/psi4/cc/ccdensity/x_Gijab.cc src/psi4/cc/ccdensity/x_Gijab_uhf.cc src/psi4/cc/ccdensity/x_xi2.cc src/psi4/cc/ccdensity/Gijab_UHF.cc src/psi4/cc/ccdensity/Iai.cc src/psi4/cc/ccdensity/Gijab_ROHF.cc src/psi4/cc/ccdensity/Iij.cc src/psi4/cc/ccdensity/Gciab.cc src/psi4/cc/ccdensity/x_xi2_uhf.cc src/psi4/cc/ccdensity/x_Gciab.cc src/psi4/cc/ccdensity/Gijka.cc src/psi4/cc/ccdensity/x_Gijka.cc src/psi4/cc/ccdensity/x_Gijka_uhf.cc src/psi4/cc/ccdensity/ltdensity.cc src/psi4/cc/ccdensity/Gibja.cc src/psi4/cc/ccdensity/x_oe_intermediates_rhf.cc src/psi4/cc/ccdensity/Iab.cc src/psi4/cc/ccdensity/x_te_intermediates_rhf.cc src/psi4/cc/ccdensity/cache.cc src/psi4/cc/ccdensity/x_Gibja.cc src/psi4/cc/ccdensity/Iia.cc src/psi4/cc/ccdensity/x_Gibja_uhf.cc src/psi4/cc/ccdensity/ex_tdensity_intermediates.cc src/psi4/cc/ccdensity/x_oe_intermediates.cc src/psi4/cc/ccdensity/ltdensity_intermediates.cc src/psi4/cc/ccdensity/x_te_intermediates.cc src/psi4/cc/ccdensity/fold_UHF.cc src/psi4/cc/ccdensity/fold_ROHF.cc src/psi4/cc/ccdensity/x_xi1.cc src/psi4/cc/ccdensity/Gijab_RHF.cc src/psi4/cc/ccdensity/x_Gciab_uhf.cc src/psi4/cc/ccdensity/x_xi1_uhf.cc src/psi4/cc/ccdensity/onepdm.cc src/psi4/cc/ccdensity/setup_LR.cc src/psi4/cc/ccdensity/x_xi_intermediates.cc src/psi4/cc/ccdensity/x_xi1_connected.cc src/psi4/cc/ccdensity/rtdensity.cc src/psi4/cc/ccdensity/dump_UHF.cc src/psi4/cc/ccdensity/x_xi2_rhf.cc src/psi4/cc/ccdensity/ccdensity.cc src/psi4/cc/ccdensity/build_ex_tdensity.cc src/psi4/cc/ccdensity/ex_td_setup.cc src/psi4/cc/ccdensity/td_setup.cc src/psi4/cc/ccdensity/deanti_UHF.cc src/psi4/cc/ccdensity/fold_RHF.cc src/psi4/cc/ccdensity/deanti_ROHF.cc src/psi4/cc/ccdensity/energy_UHF.cc src/psi4/cc/ccdensity/zero_pdm.cc src/psi4/cc/ccdensity/energy_ROHF.cc src/psi4/cc/ccdensity/get_moinfo.cc src/psi4/cc/ccdensity/V.cc src/psi4/cc/ccdensity/x_xi1_rhf.cc src/psi4/cc/ccdensity/ex_oscillator_strength.cc src/psi4/cc/ccdensity/x_onepdm_uhf.cc src/psi4/cc/ccdensity/norm.cc src/psi4/cc/ccdensity/oscillator_strength.cc src/psi4/cc/ccdensity/lag.cc src/psi4/cc/ccdensity/x_onepdm.cc src/psi4/cc/ccdensity/build_A_ROHF.cc src/psi4/cc/ccdensity/get_rho_params.cc src/psi4/cc/ccdensity/build_X.cc src/psi4/cc/ccdensity/x_Gabcd.cc src/psi4/cc/ccdensity/x_V.cc src/psi4/cc/ccdensity/ex_sort_td_uhf.cc src/psi4/cc/ccdensity/x_Gijkl.cc src/psi4/cc/ccdensity/deanti_RHF.cc src/psi4/cc/ccdensity/sortone_UHF.cc src/psi4/cc/ccdensity/energy_RHF.cc src/psi4/cc/ccdensity/sortone_ROHF.cc src/psi4/cc/ccdensity/ex_rotational_strength.cc src/psi4/cc/ccdensity/ex_sort_td_rohf.cc src/psi4/cc/ccdensity/rotational_strength.cc src/psi4/cc/ccdensity/sort_rtd_uhf.cc src/psi4/cc/ccdensity/sort_ltd_uhf.cc src/psi4/cc/ccdensity/file_build.cc src/psi4/cc/ccdensity/sortI_UHF.cc src/psi4/cc/ccdensity/sort_ltd_rohf.cc src/psi4/cc/ccdensity/sort_rtd_rohf.cc src/psi4/cc/ccdensity/G.cc src/psi4/cc/ccdensity/build_A_UHF.cc src/psi4/cc/ccdensity/sortI_ROHF.cc src/psi4/cc/ccdensity/dump_ROHF.cc src/psi4/cc/ccdensity/relax_I_ROHF.cc src/psi4/cc/ccdensity/build_Z_UHF.cc src/psi4/cc/ccdensity/relax_I_UHF.cc src/psi4/cc/ccdensity/get_td_params.cc src/psi4/cc/ccdensity/idx_permute.cc src/psi4/cc/ccdensity/Gabcd.cc src/psi4/cc/ccdensity/build_Z_ROHF.cc src/psi4/cc/ccdensity/classify.cc src/psi4/cc/ccdensity/sortone_RHF.cc src/psi4/cc/ccdensity/relax_D.cc src/psi4/cc/ccdensity/relax_I_RHF.cc src/psi4/cc/ccdensity/get_params.cc src/psi4/cc/ccdensity/sortI_RHF.cc src/psi4/cc/ccdensity/Gijkl.cc src/psi4/cc/ccdensity/dump_RHF.cc src/psi4/cc/ccdensity/build_A_RHF.cc src/psi4/cc/ccdensity/V_cc2.cc src/psi4/cc/ccdensity/distribute.cc src/psi4/cc/ccdensity/kinetic.cc src/psi4/cc/ccdensity/x_xi_check.cc src/psi4/cc/ccdensity/get_frozen.cc src/psi4/cc/ccdensity/ael.cc src/psi4/cc/ccdensity/transL.cc src/psi4/cc/ccdensity/transp.cc src/psi4/cc/ccdensity/transdip.cc src/psi4/cc/ccdensity/build_Z_RHF.cc src/psi4/cc/ccdensity/add_ref_ROHF.cc src/psi4/cc/ccdensity/td_cleanup.cc src/psi4/cc/ccdensity/add_ref_UHF.cc src/psi4/cc/ccdensity/add_ref.cc src/psi4/cc/ccdensity/ex_td_cleanup.cc src/psi4/cc/ccdensity/ex_tdensity.cc src/psi4/cc/ccdensity/ex_td_print.cc src/psi4/cc/ccdensity/add_ref_RHF.cc src/psi4/cc/ccdensity/td_print.cc src/psi4/cc/ccdensity/tdensity.cc src/psi4/cc/ccdensity/add_core_ROHF.cc src/psi4/cc/ccdensity/fold.cc src/psi4/cc/ccdensity/Gijab.cc src/psi4/cc/ccdensity/relax_I.cc src/psi4/cc/ccdensity/deanti.cc src/psi4/cc/ccdensity/energy.cc src/psi4/cc/ccdensity/build_A.cc src/psi4/cc/ccdensity/sortone.cc src/psi4/cc/ccdensity/build_Z.cc src/psi4/cc/ccdensity/sortI.cc src/psi4/cc/ccdensity/twopdm.cc src/psi4/cc/ccdensity/idx_error.cc src/psi4/cc/ccdensity/globals.h src/psi4/cc/ccdensity/Params.h src/psi4/cc/ccdensity/MOInfo.h src/psi4/cc/ccenergy/priority.cc src/psi4/cc/ccenergy/cc3_Wabei.cc src/psi4/cc/ccenergy/cache.cc src/psi4/cc/ccenergy/Wmbej.cc src/psi4/cc/ccenergy/rotate.cc src/psi4/cc/ccenergy/ccenergy.cc src/psi4/cc/ccenergy/cc2_Wmbij.cc src/psi4/cc/ccenergy/BT2_AO.cc src/psi4/cc/ccenergy/cc3_Wmbij.cc src/psi4/cc/ccenergy/CT2.cc src/psi4/cc/ccenergy/cc2_Wabei.cc src/psi4/cc/ccenergy/WmbejT2.cc src/psi4/cc/ccenergy/Fae.cc src/psi4/cc/ccenergy/t1.cc src/psi4/cc/ccenergy/cc2_Wmnij.cc src/psi4/cc/ccenergy/tau.cc src/psi4/cc/ccenergy/taut.cc src/psi4/cc/ccenergy/diis_UHF.cc src/psi4/cc/ccenergy/cc3_Wmnij.cc src/psi4/cc/ccenergy/get_moinfo.cc src/psi4/cc/ccenergy/diis_ROHF.cc src/psi4/cc/ccenergy/Fmi.cc src/psi4/cc/ccenergy/t1_ijab.cc src/psi4/cc/ccenergy/converged.cc src/psi4/cc/ccenergy/BT2.cc src/psi4/cc/ccenergy/cc3_Wmnie.cc src/psi4/cc/ccenergy/cc3_Wamef.cc src/psi4/cc/ccenergy/fock_build.cc src/psi4/cc/ccenergy/form_df_ints.cc src/psi4/cc/ccenergy/amp_write.cc src/psi4/cc/ccenergy/Wmnij.cc src/psi4/cc/ccenergy/local.cc src/psi4/cc/ccenergy/get_params.cc src/psi4/cc/ccenergy/FT2.cc src/psi4/cc/ccenergy/cc3.cc src/psi4/cc/ccenergy/pair_energies.cc src/psi4/cc/ccenergy/lmp2.cc src/psi4/cc/ccenergy/diis_RHF.cc src/psi4/cc/ccenergy/init_amps.cc src/psi4/cc/ccenergy/mp2_energy.cc src/psi4/cc/ccenergy/cc2_fmiT2.cc src/psi4/cc/ccenergy/cc2_WmbijT2.cc src/psi4/cc/ccenergy/cc2_faeT2.cc src/psi4/cc/ccenergy/cc2_WabeiT2.cc src/psi4/cc/ccenergy/ET2.cc src/psi4/cc/ccenergy/d1diag.cc src/psi4/cc/ccenergy/energy.cc src/psi4/cc/ccenergy/analyze.cc src/psi4/cc/ccenergy/ZT2.cc src/psi4/cc/ccenergy/FT2_cc2.cc src/psi4/cc/ccenergy/new_d1diag.cc src/psi4/cc/ccenergy/sort_amps.cc src/psi4/cc/ccenergy/FmitT2.cc src/psi4/cc/ccenergy/AO_contribute.cc src/psi4/cc/ccenergy/FaetT2.cc src/psi4/cc/ccenergy/diagnostic.cc src/psi4/cc/ccenergy/Z.cc src/psi4/cc/ccenergy/Fme.cc src/psi4/cc/ccenergy/spinad_amps.cc src/psi4/cc/ccenergy/WmnijT2.cc src/psi4/cc/ccenergy/dijabT2.cc src/psi4/cc/ccenergy/d2diag.cc src/psi4/cc/ccenergy/halftrans.cc src/psi4/cc/ccenergy/denom.cc src/psi4/cc/ccenergy/tsave.cc src/psi4/cc/ccenergy/diis.cc src/psi4/cc/ccenergy/t2.cc src/psi4/cc/ccenergy/cc2_WabijT2.cc src/psi4/cc/ccenergy/DT2.cc src/psi4/cc/ccenergy/cc2_t2.cc src/psi4/cc/ccenergy/status.cc src/psi4/cc/ccenergy/update.cc src/psi4/cc/ccenergy/Local.h src/psi4/cc/ccenergy/Params.h src/psi4/cc/ccenergy/MOInfo.h src/psi4/cc/cchbar/Wabij.cc src/psi4/cc/cchbar/Wmbij.cc src/psi4/cc/cchbar/Wabei_ROHF.cc src/psi4/cc/cchbar/Fai.cc src/psi4/cc/cchbar/Wmbej.cc src/psi4/cc/cchbar/cache.cc src/psi4/cc/cchbar/F.cc src/psi4/cc/cchbar/cc3_HET1.cc src/psi4/cc/cchbar/purge.cc src/psi4/cc/cchbar/Wabei_RHF.cc src/psi4/cc/cchbar/cc2_Zmbej.cc src/psi4/cc/cchbar/cc2_Wmbej.cc src/psi4/cc/cchbar/cc2_Wmbij.cc src/psi4/cc/cchbar/cc2_Wabei.cc src/psi4/cc/cchbar/norm_HET1.cc src/psi4/cc/cchbar/taut.cc src/psi4/cc/cchbar/Wabei_ABAB_UHF.cc src/psi4/cc/cchbar/tau.cc src/psi4/cc/cchbar/Wabei_AAAA_UHF.cc src/psi4/cc/cchbar/Wabei_BBBB_UHF.cc src/psi4/cc/cchbar/Wabei_BABA_UHF.cc src/psi4/cc/cchbar/Wmnie.cc src/psi4/cc/cchbar/HET1_Wabef.cc src/psi4/cc/cchbar/Wamef.cc src/psi4/cc/cchbar/get_moinfo.cc src/psi4/cc/cchbar/cchbar.cc src/psi4/cc/cchbar/reference.cc src/psi4/cc/cchbar/Wabei_RHF_FT2_a.cc src/psi4/cc/cchbar/sort_amps.cc src/psi4/cc/cchbar/Wabei.cc src/psi4/cc/cchbar/get_params.cc src/psi4/cc/cchbar/status.cc src/psi4/cc/cchbar/globals.h src/psi4/cc/cchbar/Params.h src/psi4/cc/cchbar/MOInfo.h src/psi4/cc/cctriples/T3_UHF_ABC.cc src/psi4/cc/cctriples/T3_grad_RHF.cc src/psi4/cc/cctriples/T3_grad_UHF_BBA.cc src/psi4/cc/cctriples/T3_grad_UHF_AAB.cc src/psi4/cc/cctriples/cache.cc src/psi4/cc/cctriples/ET_RHF.cc src/psi4/cc/cctriples/ET_UHF_AAB.cc src/psi4/cc/cctriples/ET_UHF_ABB.cc src/psi4/cc/cctriples/EaT_RHF.cc src/psi4/cc/cctriples/ET_UHF_BBB.cc src/psi4/cc/cctriples/ET_UHF_AAA.cc src/psi4/cc/cctriples/T3_UHF_AAA.cc src/psi4/cc/cctriples/T3_UHF_AAB.cc src/psi4/cc/cctriples/test_abc_loops.cc src/psi4/cc/cctriples/ET_AAA.cc src/psi4/cc/cctriples/ET_BBB.cc src/psi4/cc/cctriples/ET_AAB.cc src/psi4/cc/cctriples/ET_ABB.cc src/psi4/cc/cctriples/T3_grad_UHF_BBB.cc src/psi4/cc/cctriples/T3_grad_UHF_AAA.cc src/psi4/cc/cctriples/count_ijk.cc src/psi4/cc/cctriples/get_moinfo.cc src/psi4/cc/cctriples/triples.cc src/psi4/cc/cctriples/transpose_integrals.cc src/psi4/cc/cctriples/globals.h src/psi4/cc/cctriples/Params.h src/psi4/cc/cctriples/MOInfo.h src/psi4/cc/cceom/cc3_HC1.cc src/psi4/cc/cceom/diag.cc src/psi4/cc/cceom/cache.cc src/psi4/cc/cceom/diagSS.cc src/psi4/cc/cceom/cc3_HC1ET1.cc src/psi4/cc/cceom/sigmaCC3.cc src/psi4/cc/cceom/WabefDD.cc src/psi4/cc/cceom/rzero.cc src/psi4/cc/cceom/WmnefDD.cc src/psi4/cc/cceom/amp_write.cc src/psi4/cc/cceom/WmbejDD.cc src/psi4/cc/cceom/form_diagonal.cc src/psi4/cc/cceom/restart.cc src/psi4/cc/cceom/precondition.cc src/psi4/cc/cceom/local.cc src/psi4/cc/cceom/FDD.cc src/psi4/cc/cceom/WbmfeDS.cc src/psi4/cc/cceom/cc2_sigma.cc src/psi4/cc/cceom/WnmjeDS.cc src/psi4/cc/cceom/norm_HC1.cc src/psi4/cc/cceom/get_moinfo.cc src/psi4/cc/cceom/overlap.cc src/psi4/cc/cceom/WabejDS.cc src/psi4/cc/cceom/sigma_full.cc src/psi4/cc/cceom/WmaijDS.cc src/psi4/cc/cceom/restart_with_root.cc src/psi4/cc/cceom/norm.cc src/psi4/cc/cceom/local_guess.cc src/psi4/cc/cceom/schmidt_add.cc src/psi4/cc/cceom/get_eom_params.cc src/psi4/cc/cceom/WamefSD.cc src/psi4/cc/cceom/c_clean.cc src/psi4/cc/cceom/sigmaSS.cc src/psi4/cc/cceom/get_params.cc src/psi4/cc/cceom/follow_root.cc src/psi4/cc/cceom/sort_C.cc src/psi4/cc/cceom/FSD.cc src/psi4/cc/cceom/WmnieSD.cc src/psi4/cc/cceom/write_Rs.cc src/psi4/cc/cceom/hbar_norms.cc src/psi4/cc/cceom/WmnijDD.cc src/psi4/cc/cceom/hbar_extra.cc src/psi4/cc/cceom/cceom.cc src/psi4/cc/cceom/check_sum.cc src/psi4/cc/cceom/sigmaCC3_RHF.cc src/psi4/cc/cceom/sort_amps.cc src/psi4/cc/cceom/dgeev_eom.cc src/psi4/cc/cceom/sigmaDD.cc src/psi4/cc/cceom/sigmaDS.cc src/psi4/cc/cceom/cc2_hbar_extra.cc src/psi4/cc/cceom/sigmaSD.cc src/psi4/cc/cceom/globals.h src/psi4/cc/cceom/Params.h src/psi4/cc/cceom/Local.h src/psi4/cc/cceom/MOInfo.h src/psi4/cc/cclambda/cc3_l3l2.cc src/psi4/cc/cclambda/cache.cc src/psi4/cc/cclambda/diis.cc src/psi4/cc/cclambda/L1.cc src/psi4/cc/cclambda/L3_AAA.cc src/psi4/cc/cclambda/L3_AAB.cc src/psi4/cc/cclambda/cc3_t3z.cc src/psi4/cc/cclambda/denom.cc src/psi4/cc/cclambda/WefabL2.cc src/psi4/cc/cclambda/cclambda.cc src/psi4/cc/cclambda/BL2_AO.cc src/psi4/cc/cclambda/get_params.cc src/psi4/cc/cclambda/cc2_L1.cc src/psi4/cc/cclambda/init_amps.cc src/psi4/cc/cclambda/projections.cc src/psi4/cc/cclambda/WmbejL2.cc src/psi4/cc/cclambda/L1FL2.cc src/psi4/cc/cclambda/GL2.cc src/psi4/cc/cclambda/get_moinfo.cc src/psi4/cc/cclambda/Lamp_write.cc src/psi4/cc/cclambda/local.cc src/psi4/cc/cclambda/overlap_LAMPS.cc src/psi4/cc/cclambda/overlap.cc src/psi4/cc/cclambda/WejabL2.cc src/psi4/cc/cclambda/cc3_l3l1.cc src/psi4/cc/cclambda/G.cc src/psi4/cc/cclambda/cc2_faeL2.cc src/psi4/cc/cclambda/cc3_t3x.cc src/psi4/cc/cclambda/cc2_fmiL2.cc src/psi4/cc/cclambda/pseudoenergy.cc src/psi4/cc/cclambda/converged.cc src/psi4/cc/cclambda/check_ortho.cc src/psi4/cc/cclambda/WijmbL2.cc src/psi4/cc/cclambda/DL2.cc src/psi4/cc/cclambda/FaeL2.cc src/psi4/cc/cclambda/c_clean.cc src/psi4/cc/cclambda/dijabL2.cc src/psi4/cc/cclambda/FmiL2.cc src/psi4/cc/cclambda/Lnorm.cc src/psi4/cc/cclambda/sort_amps.cc src/psi4/cc/cclambda/cc2_Gai.cc src/psi4/cc/cclambda/WijmnL2.cc src/psi4/cc/cclambda/check_sum.cc src/psi4/cc/cclambda/halftrans.cc src/psi4/cc/cclambda/ortho_Rs.cc src/psi4/cc/cclambda/Lsave.cc src/psi4/cc/cclambda/L2.cc src/psi4/cc/cclambda/WabeiL1.cc src/psi4/cc/cclambda/Lmag.cc src/psi4/cc/cclambda/cc2_L2.cc src/psi4/cc/cclambda/cc2_hbar_extra.cc src/psi4/cc/cclambda/hbar_extra.cc src/psi4/cc/cclambda/spinad_amps.cc src/psi4/cc/cclambda/status.cc src/psi4/cc/cclambda/update.cc src/psi4/cc/cclambda/globals.h src/psi4/cc/cclambda/Local.h src/psi4/cc/cclambda/Params.h src/psi4/cc/cclambda/MOInfo.h src/psi4/cc/ccresponse/cache.cc src/psi4/cc/ccresponse/scatter.cc src/psi4/cc/ccresponse/cc2_LHX1Y1.cc src/psi4/cc/ccresponse/optrot.cc src/psi4/cc/ccresponse/roa.cc src/psi4/cc/ccresponse/X2.cc src/psi4/cc/ccresponse/LHX1Y2.cc src/psi4/cc/ccresponse/LHX2Y2.cc src/psi4/cc/ccresponse/get_moinfo.cc src/psi4/cc/ccresponse/get_params.cc src/psi4/cc/ccresponse/local.cc src/psi4/cc/ccresponse/diis.cc src/psi4/cc/ccresponse/amp_write.cc src/psi4/cc/ccresponse/pertbar.cc src/psi4/cc/ccresponse/LCX.cc src/psi4/cc/ccresponse/polar.cc src/psi4/cc/ccresponse/analyze.cc src/psi4/cc/ccresponse/cc2_X1.cc src/psi4/cc/ccresponse/LHX1Y1.cc src/psi4/cc/ccresponse/denom.cc src/psi4/cc/ccresponse/preppert.cc src/psi4/cc/ccresponse/cc2_X2.cc src/psi4/cc/ccresponse/X1.cc src/psi4/cc/ccresponse/ccresponse.cc src/psi4/cc/ccresponse/compute_X.cc src/psi4/cc/ccresponse/linresp.cc src/psi4/cc/ccresponse/cc2_LHX1Y2.cc src/psi4/cc/ccresponse/lambda_residuals.cc src/psi4/cc/ccresponse/sort_pert.cc src/psi4/cc/ccresponse/sort_X.cc src/psi4/cc/ccresponse/converged.cc src/psi4/cc/ccresponse/init_X.cc src/psi4/cc/ccresponse/hbar_extra.cc src/psi4/cc/ccresponse/cc2_hbar_extra.cc src/psi4/cc/ccresponse/pseudopolar.cc src/psi4/cc/ccresponse/update_X.cc src/psi4/cc/ccresponse/HXY.cc src/psi4/cc/ccresponse/save_X.cc src/psi4/cc/ccresponse/print_X.cc src/psi4/cc/ccresponse/cc2_sort_X.cc src/psi4/cc/ccresponse/sort_lamps.cc src/psi4/cc/ccresponse/globals.h src/psi4/cc/ccresponse/Params.h src/psi4/cc/ccresponse/Local.h src/psi4/cc/ccresponse/MOInfo.h src/psi4/cc/amps.cc src/psi4/dfocc/tensors.cc src/psi4/dfocc/manager.cc src/psi4/dfocc/manager_cd.cc src/psi4/dfocc/ccsd_triples.cc src/psi4/dfocc/df_corr.cc src/psi4/dfocc/ccsd_W_intr.cc src/psi4/dfocc/conv_mo_tei.cc src/psi4/dfocc/ccsdl_W_intr.cc src/psi4/dfocc/lccd_W_intr.cc src/psi4/dfocc/mp3_W_intr.cc src/psi4/dfocc/prepare4grad.cc src/psi4/dfocc/effective_mograd.cc src/psi4/dfocc/conv_mo_tei_direct.cc src/psi4/dfocc/mp3_pdm_3index_intr.cc src/psi4/dfocc/ccsd_W_intr_low.cc src/psi4/dfocc/qchf.cc src/psi4/dfocc/ccsd_pdm_3index_intr.cc src/psi4/dfocc/mp2_direct.cc src/psi4/dfocc/dfocc.cc src/psi4/dfocc/lccd_pdm_3index_intr.cc src/psi4/dfocc/separable_tpdm.cc src/psi4/dfocc/ccl_energy.cc src/psi4/dfocc/omp3_tpdm.cc src/psi4/dfocc/olccd_tpdm.cc src/psi4/dfocc/ccsd_tpdm.cc src/psi4/dfocc/z_vector_pcg.cc src/psi4/dfocc/kappa_orb_resp_pcg.cc src/psi4/dfocc/ccd_W_intr.cc src/psi4/dfocc/ccdl_W_intr.cc src/psi4/dfocc/lccd_t2_amps.cc src/psi4/dfocc/kappa_orb_resp.cc src/psi4/dfocc/conv_mo_tei_ref_direct.cc src/psi4/dfocc/t2_1st_sc.cc src/psi4/dfocc/df_ref.cc src/psi4/dfocc/get_moinfo.cc src/psi4/dfocc/t2_1st_gen.cc src/psi4/dfocc/back_trans.cc src/psi4/dfocc/ccd_W_intr_low.cc src/psi4/dfocc/occ_iterations.cc src/psi4/dfocc/idp.cc src/psi4/dfocc/gfock_oo.cc src/psi4/dfocc/cd_ints.cc src/psi4/dfocc/gfock_ov.cc src/psi4/dfocc/ccd_pdm_3index_intr.cc src/psi4/dfocc/t2_2nd_gen.cc src/psi4/dfocc/approx_diag_mohess_vo.cc src/psi4/dfocc/z_vector.cc src/psi4/dfocc/tpdm_tilde.cc src/psi4/dfocc/gfock_vo.cc src/psi4/dfocc/gfock_vv.cc src/psi4/dfocc/gftilde_vv.cc src/psi4/dfocc/cc_energy.cc src/psi4/dfocc/s2_response.cc src/psi4/dfocc/approx_diag_mohess_oo.cc src/psi4/dfocc/diagonal_mohess_vo.cc src/psi4/dfocc/ccsdl_3index_intr.cc src/psi4/dfocc/t2_2nd_sc.cc src/psi4/dfocc/pair_index.cc src/psi4/dfocc/kappa_diag_hess.cc src/psi4/dfocc/ccd_tpdm.cc src/psi4/dfocc/diagonal_mohess_oo.cc src/psi4/dfocc/ccsdl_l1_amps.cc src/psi4/dfocc/update_mo.cc src/psi4/dfocc/ccsdl_l2_amps.cc src/psi4/dfocc/ccsd_t2_amps.cc src/psi4/dfocc/ccsdl_iterations.cc src/psi4/dfocc/fock.cc src/psi4/dfocc/omp2_opdm.cc src/psi4/dfocc/ccsd_t2_amps_low.cc src/psi4/dfocc/ekt.cc src/psi4/dfocc/semi_canonic.cc src/psi4/dfocc/ccdl_3index_intr.cc src/psi4/dfocc/omp2_tpdm.cc src/psi4/dfocc/ccsd_opdm.cc src/psi4/dfocc/ccdl_iterations.cc src/psi4/dfocc/ccsd_3index_intr_low.cc src/psi4/dfocc/t2_mp2_direct.cc src/psi4/dfocc/ccsd_3index_intr.cc src/psi4/dfocc/ccsd_iterations.cc src/psi4/dfocc/update_hfmo.cc src/psi4/dfocc/ccdl_l2_amps.cc src/psi4/dfocc/ccd_t2_amps_low.cc src/psi4/dfocc/ccsd_iterations_low.cc src/psi4/dfocc/ccd_iterations.cc src/psi4/dfocc/mograd.cc src/psi4/dfocc/lccd_iterations.cc src/psi4/dfocc/properties.cc src/psi4/dfocc/omp3_opdm.cc src/psi4/dfocc/ccd_iterations_low.cc src/psi4/dfocc/ccd_t2_amps.cc src/psi4/dfocc/ccsd_t1_amps_low.cc src/psi4/dfocc/diis.cc src/psi4/dfocc/ccsd_F_intr_low.cc src/psi4/dfocc/ccsd_t1_amps.cc src/psi4/dfocc/ccd_opdm.cc src/psi4/dfocc/ccsd_F_intr.cc src/psi4/dfocc/t1_1st_sc.cc src/psi4/dfocc/fock_so.cc src/psi4/dfocc/ccd_3index_intr_low.cc src/psi4/dfocc/ccd_F_intr_low.cc src/psi4/dfocc/ccd_3index_intr.cc src/psi4/dfocc/ccd_F_intr.cc src/psi4/dfocc/dfgrad.cc src/psi4/dfocc/main.cc src/psi4/dfocc/ekt.h src/psi4/dfocc/tensors.h src/psi4/libmints/osrecur.cc src/psi4/libmints/mintshelper.cc src/psi4/libmints/matrix.cc src/psi4/libmints/benchmark.cc src/psi4/libmints/oeprop.cc src/psi4/libmints/molecule.cc src/psi4/libmints/dcd.h src/psi4/libmints/wavefunction.cc src/psi4/libmints/writer.cc src/psi4/libmints/basisset.cc src/psi4/libmints/potential.cc src/psi4/libmints/twobody.cc src/psi4/libmints/ecpint.cc src/psi4/libmints/psimath.cc src/psi4/libmints/sointegral_twobody.h src/psi4/libmints/petitelist.cc src/psi4/libmints/integraliter.cc src/psi4/libmints/deriv.cc src/psi4/libmints/fjt.cc src/psi4/libmints/maketab.cc src/psi4/libmints/local.cc src/psi4/libmints/dipole.cc src/psi4/libmints/kinetic.cc src/psi4/libmints/eri.cc src/psi4/libmints/sobasis.cc src/psi4/libmints/overlap.cc src/psi4/libmints/sointegral.cc src/psi4/libmints/orthog.cc src/psi4/libmints/extern.cc src/psi4/libmints/coordentry.cc src/psi4/libmints/onebody.cc src/psi4/libmints/x2cint.cc src/psi4/libmints/electricfield.cc src/psi4/libmints/pointgrp.cc src/psi4/libmints/cdsalclist.cc src/psi4/libmints/sieve.cc src/psi4/libmints/pseudospectral.cc src/psi4/libmints/vector.cc src/psi4/libmints/3coverlap.cc src/psi4/libmints/eribase.cc src/psi4/libmints/integral.cc src/psi4/libmints/multipolesymmetry.cc src/psi4/libmints/rep.cc src/psi4/libmints/multipolepotential.cc src/psi4/libmints/rel_potential.cc src/psi4/libmints/shellrotation.cc src/psi4/libmints/element_to_Z.h src/psi4/libmints/orbitalspace.cc src/psi4/libmints/intvector.cc src/psi4/libmints/gaussquad.cc src/psi4/libmints/gshell.cc src/psi4/libmints/angularmomentum.cc src/psi4/libmints/multipoles.cc src/psi4/libmints/quadrupole.cc src/psi4/libmints/electrostatic.cc src/psi4/libmints/corrtab.cc src/psi4/libmints/cartesianiter.cc src/psi4/libmints/tracelessquadrupole.cc src/psi4/libmints/solidharmonics.cc src/psi4/libmints/symop.cc src/psi4/libmints/dimension.cc src/psi4/libmints/bessel.cc src/psi4/libmints/nabla.cc src/psi4/libmints/coordentry.h src/psi4/libmints/chartab.cc src/psi4/libmints/transform.cc src/psi4/libmints/factory.cc src/psi4/libmints/pointgrp.h src/psi4/libmints/osrecur.h src/psi4/libmints/irrep.cc src/psi4/libmints/multiarr.h src/psi4/libmints/vector3.h src/psi4/libmints/matrix.h src/psi4/libmints/integralparameters.cc src/psi4/libmints/wavefunction.h src/psi4/libmints/molecule.h src/psi4/libmints/cartesianiter.h src/psi4/libmints/basisset.h src/psi4/libmints/vector3.i src/psi4/libmints/vector.h src/psi4/libmints/gshell.h src/psi4/libmints/integral.h src/psi4/libmints/electricfield.h src/psi4/libmints/dimension.h src/psi4/libmints/petitelist.h src/psi4/libmints/sieve.h src/psi4/libmints/oeprop.h src/psi4/libmints/get_writer_file_prefix.cc src/psi4/libmints/cdsalclist.h src/psi4/libmints/twobody.h src/psi4/libmints/eri.h src/psi4/libmints/corrtab.h src/psi4/libmints/potentialint.cc src/psi4/libmints/writer.h src/psi4/libmints/deriv.h src/psi4/libmints/typedefs.h src/psi4/libmints/gaussquad.h src/psi4/libmints/ecpint.h src/psi4/libmints/extern.h src/psi4/libmints/local.h src/psi4/libmints/multipoles.h src/psi4/libmints/3coverlap.h src/psi4/libmints/kinetic.h src/psi4/libmints/overlap.h src/psi4/libmints/electrostatic.h src/psi4/libmints/fjt.h src/psi4/libmints/onebody.h src/psi4/libmints/rel_potential.h src/psi4/libmints/orbitalspace.h src/psi4/libmints/multipolesymmetry.h src/psi4/libmints/pseudospectral.h src/psi4/libmints/nabla.h src/psi4/libmints/integralparameters.h src/psi4/libmints/sobasis.h src/psi4/libmints/angularmomentum.h src/psi4/libmints/potential.h src/psi4/libmints/dipole.h src/psi4/libmints/orthog.h src/psi4/libmints/mintshelper.h src/psi4/libmints/shellrotation.h src/psi4/libmints/potentialint.h src/psi4/libmints/sointegral_onebody.h src/psi4/dct/dct_gradient_UHF.cc src/psi4/dct/dct_intermediates_UHF.cc src/psi4/dct/dct_triples.cc src/psi4/dct/dct_df_tensor.cc src/psi4/dct/dct_qc.cc src/psi4/dct/dct_scf_UHF.cc src/psi4/dct/dct_density_UHF.cc src/psi4/dct/dct_oo_UHF.cc src/psi4/dct/dct_integrals_UHF.cc src/psi4/dct/dct_relaxed_density_UHF.cc src/psi4/dct/dct_tau_UHF.cc src/psi4/dct/dct_gradient_RHF.cc src/psi4/dct/dct_oo_RHF.cc src/psi4/dct/dct_scf_RHF.cc src/psi4/dct/dct_compute_UHF.cc src/psi4/dct/dct_density_RHF.cc src/psi4/dct/dct_integrals_RHF.cc src/psi4/dct/dct_sort_mo_tpdm.cc src/psi4/dct/dct_intermediates_RHF.cc src/psi4/dct/dct_tau_RHF.cc src/psi4/dct/dct_memory.cc src/psi4/dct/AO_contribute.cc src/psi4/dct/dct_compute_RHF.cc src/psi4/dct/dct_lambda_UHF.cc src/psi4/dct/dct_mp2_UHF.cc src/psi4/dct/dct.cc src/psi4/dct/dct_energy_UHF.cc src/psi4/dct/dct_validate.cc src/psi4/dct/half_transform.cc src/psi4/dct/dct_mp2_RHF.cc src/psi4/dct/dct_lambda_RHF.cc src/psi4/dct/dct_compute.cc src/psi4/dct/dct_energy_RHF.cc src/psi4/dct/dct_gradient.cc src/psi4/dct/main.cc src/psi4/libsapt_solver/usapt0.cc src/psi4/libsapt_solver/disp2ccd.cc src/psi4/libsapt_solver/exch-disp20.cc src/psi4/libsapt_solver/sapt0.cc src/psi4/libsapt_solver/exch12.cc src/psi4/libsapt_solver/utils.cc src/psi4/libsapt_solver/amplitudes.cc src/psi4/libsapt_solver/exch-ind20.cc src/psi4/libsapt_solver/sapt2.cc src/psi4/libsapt_solver/fdds_disp.cc src/psi4/libsapt_solver/ind20.cc src/psi4/libsapt_solver/exch-ind-disp30.cc src/psi4/libsapt_solver/exch10.cc src/psi4/libsapt_solver/sapt2p3.cc src/psi4/libsapt_solver/sapt2p.cc src/psi4/libsapt_solver/exch-disp30.cc src/psi4/libsapt_solver/disp22sdq.cc src/psi4/libsapt_solver/disp22t.cc src/psi4/libsapt_solver/sapt.cc src/psi4/libsapt_solver/ind22.cc src/psi4/libsapt_solver/exch-ind30.cc src/psi4/libsapt_solver/disp30.cc src/psi4/libsapt_solver/exch11.cc src/psi4/libsapt_solver/disp20.cc src/psi4/libsapt_solver/ind30.cc src/psi4/libsapt_solver/disp21.cc src/psi4/libsapt_solver/elst13.cc src/psi4/libsapt_solver/elst12.cc src/psi4/libsapt_solver/ind-disp30.cc src/psi4/libsapt_solver/sapt0.h src/psi4/libsapt_solver/elst10.cc src/psi4/libsapt_solver/fdds_disp.h src/psi4/occ/coord_grad.cc src/psi4/occ/dpd.cc src/psi4/occ/arrays.cc src/psi4/occ/gfock_ea.cc src/psi4/occ/manager.cc src/psi4/occ/gfock.cc src/psi4/occ/trans_ints_uhf.cc src/psi4/occ/ep2_ip.cc src/psi4/occ/t2_2nd_general.cc src/psi4/occ/get_moinfo.cc src/psi4/occ/omp3_ip_poles.cc src/psi4/occ/omp2_ip_poles.cc src/psi4/occ/kappa_orb_resp_iter.cc src/psi4/occ/occwave.cc src/psi4/occ/gfock_diag.cc src/psi4/occ/occ_iterations.cc src/psi4/occ/t2_amps.cc src/psi4/occ/tpdm_ref_corr_opdm.cc src/psi4/occ/corr_tpdm.cc src/psi4/occ/ekt_ea.cc src/psi4/occ/kappa_orb_resp.cc src/psi4/occ/ekt_ip.cc src/psi4/occ/t2_2nd_sc.cc src/psi4/occ/fock_alpha.cc src/psi4/occ/z_vector.cc src/psi4/occ/cc_energy.cc src/psi4/occ/trans_ints_ump2.cc src/psi4/occ/iterate_t2o1_amplitudes.cc src/psi4/occ/semi_canonic.cc src/psi4/occ/fock_beta.cc src/psi4/occ/trans_ints_rhf.cc src/psi4/occ/cepa_iterations.cc src/psi4/occ/omp3_response_pdms.cc src/psi4/occ/v_int.cc src/psi4/occ/v_2nd_order.cc src/psi4/occ/postprocessing.cc src/psi4/occ/idp.cc src/psi4/occ/omp3_g_int.cc src/psi4/occ/ccl_energy.cc src/psi4/occ/ocepa_response_pdms.cc src/psi4/occ/set_t2_amplitudes_mp2.cc src/psi4/occ/omp2_response_pdms.cc src/psi4/occ/second_order_opdm.cc src/psi4/occ/t1_1st.cc src/psi4/occ/idp2.cc src/psi4/occ/mograd.cc src/psi4/occ/w_1st_order.cc src/psi4/occ/w_int.cc src/psi4/occ/kappa_msd.cc src/psi4/occ/trans_ints_rmp2.cc src/psi4/occ/update_mo.cc src/psi4/occ/tei_sort_iabc.cc src/psi4/occ/main.cc src/psi4/occ/arrays.h src/psi4/libfock/cubature.cc src/psi4/libfock/solver.cc src/psi4/libfock/v.cc src/psi4/libfock/DiskDFJK.cc src/psi4/libfock/hamiltonian.cc src/psi4/libfock/PKmanagers.cc src/psi4/libfock/apps.cc src/psi4/libfock/soscf.cc src/psi4/libfock/PK_workers.cc src/psi4/libfock/points.cc src/psi4/libfock/jk.cc src/psi4/libfock/DirectJK.cc src/psi4/libfock/DiskJK.cc src/psi4/libfock/dft_integrators.h src/psi4/libfock/CDJK.cc src/psi4/libfock/MemDFJK.cc src/psi4/libfock/PK_workers.h src/psi4/libfock/PKJK.cc src/psi4/libfock/PKmanagers.h src/psi4/libfock/jk.h src/psi4/libfock/solver.h src/psi4/libfock/cubature.h src/psi4/libfock/sap.cc src/psi4/libfock/wrapper.cc src/psi4/libfock/points.h src/psi4/libfock/gridblocker.h src/psi4/libfock/apps.h src/psi4/libfock/v.h src/psi4/libfock/soscf.h src/psi4/libfock/hamiltonian.h src/psi4/psimrcc/mrcc_t2_amps.cc src/psi4/psimrcc/mrccsd_t_compute_restricted.cc src/psi4/psimrcc/mrccsd_t_compute_spin_adapted.cc src/psi4/psimrcc/mrccsd_t_compute.cc src/psi4/psimrcc/mrccsd_t_setup.cc src/psi4/psimrcc/matrix_addressing.cc src/psi4/psimrcc/operation_sort.cc src/psi4/psimrcc/mp2_ccsd_add_matrices.cc src/psi4/psimrcc/manybody.cc src/psi4/psimrcc/index.cc src/psi4/psimrcc/mrcc_add_matrices.cc src/psi4/psimrcc/special_matrices.cc src/psi4/psimrcc/matrix.cc src/psi4/psimrcc/idmrpt2.cc src/psi4/psimrcc/updater_mk.cc src/psi4/psimrcc/mrccsd_t_heff_ab_restricted.cc src/psi4/psimrcc/blas.cc src/psi4/psimrcc/mp2_ccsd.cc src/psi4/psimrcc/manybody_denominators.cc src/psi4/psimrcc/updater.cc src/psi4/psimrcc/operation_contraction.cc src/psi4/psimrcc/sort_out_of_core.cc src/psi4/psimrcc/mrcc_t1_amps.cc src/psi4/psimrcc/idmrpt2_add_matrices.cc src/psi4/psimrcc/blas_algorithms.cc src/psi4/psimrcc/mp2_ccsd_amps.cc src/psi4/psimrcc/matrix_memory_and_io.cc src/psi4/psimrcc/mrccsd_t_heff_ab.cc src/psi4/psimrcc/blas_interface.cc src/psi4/psimrcc/mrcc_Heff.cc src/psi4/psimrcc/mrcc_t_amps.cc src/psi4/psimrcc/mp2_ccsd_t2_amps.cc src/psi4/psimrcc/mrcc_f_int.cc src/psi4/psimrcc/operation_compute.cc src/psi4/psimrcc/idmrpt2_Heff_doubles.cc src/psi4/psimrcc/mrccsd_t_heff_b_restricted.cc src/psi4/psimrcc/mrccsd_t_form_matrices.cc src/psi4/psimrcc/blas_diis.cc src/psi4/psimrcc/sort_mrpt2.cc src/psi4/psimrcc/idmrpt2_Heff.cc src/psi4/psimrcc/mp2_ccsd_f_int.cc src/psi4/psimrcc/blas_parser.cc src/psi4/psimrcc/updater_bw.cc src/psi4/psimrcc/mrccsd_t_heff_a_restricted.cc src/psi4/psimrcc/transform_mrpt2.cc src/psi4/psimrcc/mrcc_w_int.cc src/psi4/psimrcc/heff_diagonalize.cc src/psi4/psimrcc/transform_presort.cc src/psi4/psimrcc/mrccsd_t_heff.cc src/psi4/psimrcc/mrccsd_t_heff_restricted.cc src/psi4/psimrcc/mp2_ccsd_w_int.cc src/psi4/psimrcc/mrcc_compute.cc src/psi4/psimrcc/mrccsd_t_heff_b.cc src/psi4/psimrcc/heff.cc src/psi4/psimrcc/blas_solve.cc src/psi4/psimrcc/mrccsd_t_heff_a.cc src/psi4/psimrcc/sort.cc src/psi4/psimrcc/index_iterator.cc src/psi4/psimrcc/blas_compatibile.cc src/psi4/psimrcc/transform.cc src/psi4/psimrcc/mrcc_tau.cc src/psi4/psimrcc/transform_block.cc src/psi4/psimrcc/idmrpt2_Heff_singles.cc src/psi4/psimrcc/idmrpt2_t2_amps.cc src/psi4/psimrcc/psimrcc_wfn.cc src/psi4/psimrcc/idmrpt2_f_int.cc src/psi4/psimrcc/index.h src/psi4/psimrcc/operation.cc src/psi4/psimrcc/mrcc.cc src/psi4/psimrcc/mrcc_energy.cc src/psi4/psimrcc/mp2_ccsd_t1_amps.cc src/psi4/psimrcc/idmrpt2_t1_amps.cc src/psi4/psimrcc/mrcc_pert_triples.cc src/psi4/psimrcc/matrix.h src/psi4/psimrcc/main.cc src/psi4/psimrcc/matrixtmp.cc src/psi4/psimrcc/transform_read_so.cc src/psi4/psimrcc/mrccsd_t.cc src/psi4/psimrcc/mp2_ccsd_z_int.cc src/psi4/psimrcc/heff.h src/psi4/psimrcc/mrcc_z_int.cc src/psi4/psimrcc/special_matrices.h src/psi4/psimrcc/algebra_interface.cc src/psi4/psimrcc/index_iterator.h src/psi4/psimrcc/operation.h src/psi4/psimrcc/matrixtmp.h src/psi4/psimrcc/psimrcc_wfn.h src/psi4/psimrcc/manybody.h src/psi4/psimrcc/transform.h src/psi4/psimrcc/blas.h src/psi4/libdpd/buf4_sort_axpy.cc src/psi4/libdpd/buf4_sort.cc src/psi4/libdpd/cc3_sigma_UHF.cc src/psi4/libdpd/buf4_sort_ooc.cc src/psi4/libdpd/cc3_sigma_RHF_ic.cc src/psi4/libdpd/cc3_sigma_RHF.cc src/psi4/libdpd/init.cc src/psi4/libdpd/T3_AAB.cc src/psi4/libdpd/T3_AAA.cc src/psi4/libdpd/buf4_mat_irrep_rd_block.cc src/psi4/libdpd/buf4_mat_irrep_rd.cc src/psi4/libdpd/buf4_mat_irrep_row_rd.cc src/psi4/libdpd/T3_RHF.cc src/psi4/libdpd/file4_cache.cc src/psi4/libdpd/T3_RHF_ic.cc src/psi4/libdpd/contract244.cc src/psi4/libdpd/contract424.cc src/psi4/libdpd/contract442.cc src/psi4/libdpd/buf4_mat_irrep_wrt.cc src/psi4/libdpd/buf4_mat_irrep_row_wrt.cc src/psi4/libdpd/buf4_mat_irrep_wrt_block.cc src/psi4/libdpd/contract444_df.cc src/psi4/libdpd/file2_cache.cc src/psi4/libdpd/contract444.cc src/psi4/libdpd/3d_sort.cc src/psi4/libdpd/dpdmospace.cc src/psi4/libdpd/dot14.cc src/psi4/libdpd/dot13.cc src/psi4/libdpd/dot24.cc src/psi4/libdpd/dot23.cc src/psi4/libdpd/buf4_scmcopy.cc src/psi4/libdpd/close.cc src/psi4/libdpd/contract222.cc src/psi4/libdpd/contract422.cc src/psi4/libdpd/buf4_copy.cc src/psi4/libdpd/buf4_axpy.cc src/psi4/libdpd/trans4_mat_irrep_shift31.cc src/psi4/libdpd/buf4_scm.cc src/psi4/libdpd/buf4_mat_irrep_shift31.cc src/psi4/libdpd/block_matrix.cc src/psi4/libdpd/file2_mat_print.cc src/psi4/libdpd/buf4_dot.cc src/psi4/libdpd/file4_init.cc src/psi4/libdpd/trans4_mat_irrep_shift13.cc src/psi4/libdpd/4mat_irrep_print.cc src/psi4/libdpd/buf4_mat_irrep_shift13.cc src/psi4/libdpd/pairnum.cc src/psi4/libdpd/buf4_dump.cc src/psi4/libdpd/file4_init_nocache.cc src/psi4/libdpd/trace42_13.cc src/psi4/libdpd/buf4_init.cc src/psi4/libdpd/buf4_print.cc src/psi4/libdpd/file4_print.cc src/psi4/libdpd/file2_init.cc src/psi4/libdpd/file4_mat_irrep_wrt_block.cc src/psi4/libdpd/file4_mat_irrep_row_wrt.cc src/psi4/libdpd/file2_axpy.cc src/psi4/libdpd/file4_mat_irrep_rd_block.cc src/psi4/libdpd/file2_print.cc src/psi4/libdpd/split.cc src/psi4/libdpd/file4_mat_irrep_row_rd.cc src/psi4/libdpd/file2_copy.cc src/psi4/libdpd/buf4_mat_irrep_close.cc src/psi4/libdpd/file2_scm.cc src/psi4/libdpd/buf4_symm2.cc src/psi4/libdpd/file2_dot.cc src/psi4/libdpd/buf4_dirprd.cc src/psi4/libdpd/file2_dirprd.cc src/psi4/libdpd/trans4_mat_irrep_close.cc src/psi4/libdpd/file2_mat_wrt.cc src/psi4/libdpd/buf4_dot_self.cc src/psi4/libdpd/file2_dot_self.cc src/psi4/libdpd/file4_mat_irrep_wrt.cc src/psi4/libdpd/buf4_symm.cc src/psi4/libdpd/file2_mat_rd.cc src/psi4/libdpd/file4_mat_irrep_rd.cc src/psi4/libdpd/trans4_mat_irrep_rd.cc src/psi4/libdpd/buf4_mat_irrep_close_block.cc src/psi4/libdpd/buf4_mat_irrep_init.cc src/psi4/libdpd/buf4_close.cc src/psi4/libdpd/trans4_init.cc src/psi4/libdpd/buf4_trace.cc src/psi4/libdpd/file2_trace.cc src/psi4/libdpd/file4_mat_irrep_init.cc src/psi4/libdpd/file4_mat_irrep_close.cc src/psi4/libdpd/file4_close.cc src/psi4/libdpd/trans4_mat_irrep_wrt.cc src/psi4/libdpd/dpdmospace.h src/psi4/libdpd/trans4_mat_irrep_init.cc src/psi4/libdpd/file2_mat_close.cc src/psi4/libdpd/trans4_close.cc src/psi4/libdpd/error.cc src/psi4/libdpd/file2_mat_init.cc src/psi4/libdpd/file4_mat_irrep_row_zero.cc src/psi4/libdpd/file2_close.cc src/psi4/libdpd/buf4_mat_irrep_row_zero.cc src/psi4/libdpd/buf4_mat_irrep_row_close.cc src/psi4/libdpd/file4_mat_irrep_row_init.cc src/psi4/libdpd/file2_axpbycz.cc src/psi4/libdpd/buf4_axpbycz.cc src/psi4/libdpd/file4_mat_irrep_row_close.cc src/psi4/libdpd/buf4_mat_irrep_row_init.cc src/psi4/libdpd/buf4_mat_irrep_init_block.cc src/psi4/libdpd/dpd.h src/psi4/detci/civect.cc src/psi4/detci/params.cc src/psi4/detci/sem.cc src/psi4/detci/ints.cc src/psi4/detci/sigma.cc src/psi4/detci/h0block.cc src/psi4/detci/ciwave.cc src/psi4/detci/olsengraph.cc src/psi4/detci/opdm.cc src/psi4/detci/tpdm.cc src/psi4/detci/mitrush_iter.cc src/psi4/detci/diag_h.cc src/psi4/detci/compute_mpn.cc src/psi4/detci/b2brepl.cc src/psi4/detci/stringlist.cc src/psi4/detci/set_ciblks.cc src/psi4/detci/s3v.cc src/psi4/detci/sem_test.cc src/psi4/detci/slater_matel.cc src/psi4/detci/s3_block_bz.cc src/psi4/detci/get_mo_info.cc src/psi4/detci/s2v.cc src/psi4/detci/odometer.cc src/psi4/detci/s1v.cc src/psi4/detci/slaterd.cc src/psi4/detci/slater.cc src/psi4/detci/printing.cc src/psi4/detci/import_vector.cc src/psi4/detci/og_addr.cc src/psi4/detci/form_ov.cc src/psi4/detci/vector.cc src/psi4/detci/olsenupdt.cc src/psi4/detci/misc.cc src/psi4/detci/calc_d.cc src/psi4/detci/slaterd.h src/psi4/detci/detci.cc src/psi4/detci/structs.h src/psi4/detci/compute_cc.cc src/psi4/optking/frag.cc src/psi4/optking/molecule_irc_step.cc src/psi4/optking/molecule.cc src/psi4/optking/set_params.cc src/psi4/optking/opt_data.cc src/psi4/optking/interfrag.cc src/psi4/optking/molecule_read_coords.cc src/psi4/optking/molecule_fragments.cc src/psi4/optking/frag_natural.cc src/psi4/optking/optking.cc src/psi4/optking/frag_apply_frozen_constraints.cc src/psi4/optking/frag_H_guess.cc src/psi4/optking/molecule_rfo_step.cc src/psi4/optking/bend.cc src/psi4/optking/frag_disp.cc src/psi4/optking/tors.cc src/psi4/optking/interfrag_orient.cc src/psi4/optking/linear_algebra.cc src/psi4/optking/molecule.h src/psi4/optking/molecule_prfo_step.cc src/psi4/optking/mem.cc src/psi4/optking/lindh_guess.cc src/psi4/optking/oofp.cc src/psi4/optking/molecule_tests.cc src/psi4/optking/atom_data.cc src/psi4/optking/stre.cc src/psi4/optking/molecule_print.cc src/psi4/optking/combo_coordinates.cc src/psi4/optking/frag_print.cc src/psi4/optking/print.cc src/psi4/optking/geom_gradients_io.cc src/psi4/optking/cart.cc src/psi4/optking/opt_data.h src/psi4/optking/molecule_sd_step.cc src/psi4/optking/molecule_linesearch_step.cc src/psi4/optking/v3d.cc src/psi4/optking/IRC_data.h src/psi4/optking/molecule_nr_step.cc src/psi4/optking/molecule_backstep.cc src/psi4/optking/opt_data_io.cc src/psi4/optking/fb_frag.cc src/psi4/optking/interfrag.h src/psi4/optking/v3d.h src/psi4/optking/simple_base.h src/psi4/optking/frag.h src/psi4/optking/opt_except.h src/psi4/optking/getIntcoFileName.cc src/psi4/optking/bend.h src/psi4/optking/stre.h src/psi4/optking/globals.h src/psi4/optking/combo_coordinates.h src/psi4/optking/fb_frag.h src/psi4/optking/cart.h src/psi4/optking/opt_params.h src/psi4/optking/tors.h src/psi4/optking/oofp.h src/psi4/fnocc/sortintegrals.cc src/psi4/fnocc/ccsd.cc src/psi4/fnocc/frozen_natural_orbitals.cc src/psi4/fnocc/df_ccsd.cc src/psi4/fnocc/coupled_pair.cc src/psi4/fnocc/linear.cc src/psi4/fnocc/lowmemory_triples.cc src/psi4/fnocc/df_cc_residual.cc src/psi4/fnocc/triples.cc src/psi4/fnocc/quadratic.cc src/psi4/fnocc/df_t1_transformation.cc src/psi4/fnocc/diis.cc src/psi4/fnocc/opdm.cc src/psi4/fnocc/fnocc.cc src/psi4/fnocc/df_scs.cc src/psi4/fnocc/mp2.cc src/psi4/fnocc/blas.cc src/psi4/fnocc/blas.h src/psi4/scfgrad/response.cc src/psi4/scfgrad/jk_grad.cc src/psi4/scfgrad/scf_grad.cc src/psi4/scfgrad/jk_grad.h src/psi4/scfgrad/wrapper.cc src/psi4/scfgrad/scf_grad.h src/psi4/libscf_solver/rohf.cc src/psi4/libscf_solver/uhf.cc src/psi4/libscf_solver/hf.cc src/psi4/libscf_solver/rhf.cc src/psi4/libscf_solver/sad.cc src/psi4/libscf_solver/mom.cc src/psi4/libscf_solver/cuhf.cc src/psi4/libscf_solver/stability.cc src/psi4/libscf_solver/frac.cc src/psi4/libscf_solver/hf.h src/psi4/libscf_solver/sad.h src/psi4/libscf_solver/rohf.h src/psi4/libscf_solver/stability.h src/psi4/libscf_solver/rhf.h src/psi4/libscf_solver/uhf.h src/psi4/fisapt/fisapt.cc src/psi4/fisapt/local2.cc src/psi4/fisapt/local2.h src/psi4/fisapt/fisapt.h src/psi4/lib3index/dfhelper.cc src/psi4/lib3index/denominator.cc src/psi4/lib3index/fittingmetric.cc src/psi4/lib3index/cholesky.cc src/psi4/lib3index/dftensor.cc src/psi4/lib3index/dfhelper.h src/psi4/lib3index/dftensor.h src/psi4/lib3index/denominator.h src/psi4/lib3index/cholesky.h src/psi4/libqt/timer.cc src/psi4/libqt/lapack_intfc.cc src/psi4/libqt/newmm_rking.cc src/psi4/libqt/blas_intfc23.cc src/psi4/libqt/ras_set.cc src/psi4/libqt/dx_write.cc src/psi4/libqt/reorder_qt.cc src/psi4/libqt/david.cc src/psi4/libqt/pople.cc src/psi4/libqt/blas_intfc.cc src/psi4/libqt/dx_read.cc src/psi4/libqt/solve_pep.cc src/psi4/libqt/mat_print.cc src/psi4/libqt/invert.cc src/psi4/libqt/3d_array.cc src/psi4/libqt/probabil.cc src/psi4/libqt/schmidt_add.cc src/psi4/libqt/cc_excited.cc src/psi4/libqt/fill_sym_matrix.cc src/psi4/libqt/schmidt.cc src/psi4/libqt/normalize.cc src/psi4/libqt/dirprd_block.cc src/psi4/libqt/dot_block.cc src/psi4/dfmp2/mp2.cc src/psi4/dfmp2/corr_grad.cc src/psi4/dfmp2/corr_grad.h src/psi4/dfmp2/wrapper.cc src/psi4/libtrans/integraltransform_moinfo.cc src/psi4/libtrans/integraltransform_tei_2nd_half.cc src/psi4/libtrans/integraltransform_sort_mo_tpdm.cc src/psi4/libtrans/integraltransform_tpdm_unrestricted.cc src/psi4/libtrans/integraltransform_sort_so_tei.cc src/psi4/libtrans/integraltransform_tei_1st_half.cc src/psi4/libtrans/integraltransform_sort_so_tpdm.cc src/psi4/libtrans/integraltransform_tpdm.cc src/psi4/libtrans/integraltransform.cc src/psi4/libtrans/integraltransform_tpdm_restricted.cc src/psi4/libtrans/fcidump_helper.cc src/psi4/libtrans/integraltransform_dpd_id.cc src/psi4/libtrans/integraltransform_functors.h src/psi4/libtrans/integraltransform_oei.cc src/psi4/libtrans/integraltransform.h src/psi4/libtrans/mospace.cc src/psi4/libtrans/mospace.h src/psi4/libtrans/integraltransform_tei.cc src/psi4/cctransort/cache.cc src/psi4/cctransort/cctransort.cc src/psi4/cctransort/denom.cc src/psi4/cctransort/sort_tei_uhf.cc src/psi4/cctransort/fock.cc src/psi4/cctransort/memcheck.cc src/psi4/cctransort/d_sort.cc src/psi4/cctransort/scf_check.cc src/psi4/cctransort/c_sort.cc src/psi4/cctransort/b_spinad.cc src/psi4/cctransort/sort_tei_rhf.cc src/psi4/cctransort/e_sort.cc src/psi4/cctransort/pitzer2qt.cc src/psi4/cctransort/d_spinad.cc src/psi4/cctransort/a_spinad.cc src/psi4/cctransort/e_spinad.cc src/psi4/cctransort/f_sort.cc src/psi4/mcscf/scf.cc src/psi4/mcscf/scf_read_so_tei.cc src/psi4/mcscf/block_matrix.cc src/psi4/mcscf/scf_iterate_scf_equations.cc src/psi4/mcscf/scf_F.cc src/psi4/mcscf/scf_Feff.cc src/psi4/mcscf/sblock_matrix.cc src/psi4/mcscf/block_vector.cc src/psi4/mcscf/matrix_base.cc src/psi4/mcscf/scf_diis.cc src/psi4/mcscf/scf_G.cc src/psi4/mcscf/scf_save_info.cc src/psi4/mcscf/scf_print_eigenvectors_and_MO.cc src/psi4/mcscf/scf_canonicalize_MO.cc src/psi4/mcscf/scf_pairs.cc src/psi4/mcscf/sblock_vector.cc src/psi4/mcscf/mcscf.cc src/psi4/mcscf/scf_energy.cc src/psi4/mcscf/scf_guess_occupation.cc src/psi4/mcscf/scf_density_matrix.cc src/psi4/mcscf/scf_read_so_oei.cc src/psi4/mcscf/scf_S_inverse_sqrt.cc src/psi4/mcscf/scf_check_orthonormality.cc src/psi4/mcscf/scf_compute_energy.cc src/psi4/mcscf/block_matrix.h src/psi4/mcscf/vector_base.cc src/psi4/mcscf/sblock_matrix.h src/psi4/mcscf/scf_initial_guess.cc src/psi4/mcscf/sblock_vector.h src/psi4/mcscf/block_vector.h src/psi4/mcscf/matrix_base.h src/psi4/mcscf/algebra_interface.cc src/psi4/mcscf/vector_base.h src/psi4/libfunctional/superfunctional.cc src/psi4/libfunctional/LibXCfunctional.cc src/psi4/libfunctional/superfunctional.h src/psi4/libfunctional/functional.cc src/psi4/libfunctional/functional.h src/psi4/libfunctional/LibXCfunctional.h src/psi4/libfunctional/factory.cc src/psi4/libpsio/aio_handler.cc src/psi4/libpsio/filemanager.cc src/psi4/libpsio/open.cc src/psi4/libpsio/error.cc src/psi4/libpsio/write.cc src/psi4/libpsio/rw.cc src/psi4/libpsio/init.cc src/psi4/libpsio/get_filename.cc src/psi4/libpsio/get_volpath.cc src/psi4/libpsio/read.cc src/psi4/libpsio/toclen.cc src/psi4/libpsio/filescfg.cc src/psi4/libpsio/tocscan.cc src/psi4/libpsio/close.cc src/psi4/libpsio/tocread.cc src/psi4/libpsio/tocclean.cc src/psi4/libpsio/rename_file.cc src/psi4/libpsio/get_numvols.cc src/psi4/libpsio/change_namespace.cc src/psi4/libpsio/tocprint.cc src/psi4/libpsio/tocwrite.cc src/psi4/libpsio/volseek.cc src/psi4/libpsio/getpid.cc src/psi4/libpsio/done.cc src/psi4/libpsio/get_address.cc src/psi4/libpsio/get_global_address.cc src/psi4/libpsio/psio.hpp src/psi4/libpsio/write_entry.cc src/psi4/libpsio/open_check.cc src/psi4/libpsio/read_entry.cc src/psi4/libpsio/toclast.cc src/psi4/libmoinfo/moinfo.cc src/psi4/libmoinfo/moinfo_base.cc src/psi4/libmoinfo/moinfo_model_space.cc src/psi4/libmoinfo/moinfo_slaterdeterminant.cc src/psi4/libmoinfo/moinfo_mappings.cc src/psi4/libmoinfo/moinfo_scf.cc src/psi4/libmoinfo/model_space_build.cc src/psi4/libmoinfo/moinfo.h src/psi4/libmoinfo/slater_determinant.cc src/psi4/libmoinfo/model_space.cc src/psi4/libmoinfo/moinfo_base.h src/psi4/libmoinfo/slater_determinant.h src/psi4/adc/diagonalize.cc src/psi4/adc/prepare_tensors.cc src/psi4/adc/init_tensors.cc src/psi4/adc/adc.cc src/psi4/adc/compute_energy.cc src/psi4/adc/construct_sigma.cc src/psi4/adc/amps_write.cc src/psi4/adc/denominator.cc src/psi4/adc/differentiation.cc src/psi4/adc/adc_main.cc src/psi4/liboptions/liboptions.cc src/psi4/liboptions/print.cc src/psi4/liboptions/liboptions.h src/psi4/libcubeprop/csg.cc src/psi4/libcubeprop/cubeprop.cc src/psi4/libcubeprop/csg.h src/psi4/libcubeprop/cubeprop.h src/psi4/libciomr/eigsort.cc src/psi4/libciomr/tred2.cc src/psi4/libciomr/tqli.cc src/psi4/libciomr/int_array.cc src/psi4/libciomr/tstart.cc src/psi4/libciomr/sq_rsp.cc src/psi4/libciomr/rsp.cc src/psi4/libciomr/ludcmp.cc src/psi4/libciomr/print_mat.cc src/psi4/libciomr/print_array.cc src/psi4/libciomr/eivout.cc src/psi4/libciomr/block_matrix.cc src/psi4/libciomr/init_matrix.cc src/psi4/libciomr/lubksb.cc src/psi4/libciomr/long_int_array.cc src/psi4/libciomr/init_array.cc src/psi4/libciomr/tri_to_sq.cc src/psi4/libciomr/flin.cc src/psi4/libciomr/sq_to_tri.cc src/psi4/libciomr/zero.cc src/psi4/mrcc/mrcc.cc src/psi4/libdiis/diismanager.cc src/psi4/libdiis/diisentry.cc src/psi4/libdiis/diisentry.h src/psi4/libdiis/diismanager.h src/psi4/libpsi4util/exception.cc src/psi4/libpsi4util/stl_string.cc src/psi4/libpsi4util/memory_manager.cc src/psi4/libpsi4util/process.cc src/psi4/libpsi4util/PsiOutStream.cc src/psi4/libpsi4util/exception.h src/psi4/libpsi4util/combinations.cc src/psi4/libpsi4util/process.h src/psi4/libpsi4util/libpsi4util.h src/psi4/libpsi4util/PsiOutStream.h src/psi4/libpsi4util/memory_manager.h src/psi4/libdisp/dispersion.cc src/psi4/libdisp/dispersion.h src/psi4/dfep2/dfep2.cc src/psi4/dfep2/dfep2.h src/psi4/libiwl/buf_wrt_val.cc src/psi4/libiwl/buf_init.cc src/psi4/libiwl/buf_flush.cc src/psi4/libiwl/buf_wrt.cc src/psi4/libiwl/buf_wrt_mat.cc src/psi4/libiwl/rdone.cc src/psi4/libiwl/buf_fetch.cc src/psi4/libiwl/buf_close.cc src/psi4/libiwl/buf_put.cc src/psi4/libiwl/wrtone.cc src/psi4/libiwl/iwl.hpp src/psi4/libfilesystem/path.cc src/psi4/libfilesystem/path.h src/psi4/libplugin/load_plugin.cc src/psi4/libplugin/close_plugin.cc src/psi4/libplugin/plugin.h src/psi4/sapt/wrapper.cc src/read_options.cc src/export_mints.cc src/core.cc src/export_wavefunction.cc src/export_functional.cc src/export_fock.cc src/export_trans.cc src/create_new_plugin.cc src/export_plugins.cc src/export_psio.cc src/export_blas_lapack.cc src/export_options.cc src/export_oeprop.cc src/python_data_type.cc src/export_cubeprop.cc src/export_benchmarks.cc src/export_misc.cc src/export_diis.cc src/export_pcm.cc driver/procrouting/proc.py driver/procrouting/sapt/sapt_jk_terms.py driver/procrouting/sapt/sapt_proc.py driver/procrouting/sapt/sapt_mp2_terms.py driver/procrouting/sapt/sapt_sf_terms.py driver/procrouting/sapt/fisapt_proc.py driver/procrouting/sapt/sapt_util.py driver/procrouting/sapt/__init__.py driver/procrouting/dft/dft_builder.py driver/procrouting/dft/superfunctionals.py driver/procrouting/dft/libxc_functionals.py driver/procrouting/dft/hyb_functionals.py driver/procrouting/dft/dh_functionals.py driver/procrouting/dft/gga_functionals.py driver/procrouting/dft/mgga_functionals.py driver/procrouting/dft/lda_functionals.py driver/procrouting/dft/__init__.py driver/procrouting/response/scf_products.py driver/procrouting/response/scf_response.py driver/procrouting/response/__init__.py driver/procrouting/scf_proc/scf_iterator.py driver/procrouting/scf_proc/__init__.py driver/procrouting/mcscf/mcscf_solver.py driver/procrouting/mcscf/augmented_hessian.py driver/procrouting/mcscf/__init__.py driver/procrouting/interface_cfour.py driver/procrouting/proc_util.py driver/procrouting/solvent/pol_embed.py driver/procrouting/solvent/efp.py driver/procrouting/solvent/__init__.py driver/procrouting/findif_response_utils/db_helper.py driver/procrouting/findif_response_utils/data_collection_helper.py driver/procrouting/findif_response_utils/__init__.py driver/procrouting/empirical_dispersion.py driver/procrouting/roa.py driver/procrouting/proc_table.py driver/procrouting/libcubeprop/cubeprop.py driver/procrouting/libcubeprop/__init__.py driver/procrouting/__init__.py driver/p4util/inpsight.py driver/p4util/python_helpers.py driver/p4util/solvers.py driver/p4util/numpy_helper.py driver/p4util/procutil.py driver/p4util/fcidump.py driver/p4util/text.py driver/p4util/writer.py driver/p4util/testing.py driver/p4util/exceptions.py driver/p4util/util.py driver/p4util/spectrum.py driver/p4util/optproc.py driver/p4util/fchk.py driver/p4util/__init__.py driver/p4util/p4regex.py driver/driver.py driver/driver_cbs.py driver/frac.py driver/inputparser.py driver/driver_nbody.py driver/driver_findif.py driver/wrapper_database.py driver/schema_wrapper.py driver/mdi_engine.py driver/psifiles.py driver/util/tty/__init__.py driver/util/tty/color.py driver/util/filesystem.py driver/diatomic.py driver/driver_util.py driver/driver_nbody_helper.py driver/gaussian_n.py driver/qmmm.py driver/molutil.py driver/ipi_broker.py driver/pluginutil.py driver/aliases.py driver/endorsed_plugins.py driver/__init__.py driver/dependency_check.py driver/wrapper_autofrag.py extras.py __init__.py header.py metadata.py

No flags found

Use flags to group coverage reports by test type, project and/or folders.
Then setup custom commit statuses and notifications for each flag.

e.g., #unittest #integration

#production #enterprise

#frontend #backend

Learn more about Codecov Flags here.

Showing 49 of 68 files from the diff.

@@ -61,11 +61,11 @@
Loading
61 61
    DIISManager diisManager(maxdiis_, "DCT DIIS vectors");
62 62
    dpdbuf4 Laa, Lab, Lbb;
63 63
    global_dpd_->buf4_init(&Laa, PSIF_DCT_DPD, 0, ID("[O>O]-"), ID("[V>V]-"), ID("[O>O]-"), ID("[V>V]-"), 0,
64 -
                           "Lambda <OO|VV>");
64 +
                           "Amplitude <OO|VV>");
65 65
    global_dpd_->buf4_init(&Lab, PSIF_DCT_DPD, 0, ID("[O,o]"), ID("[V,v]"), ID("[O,o]"), ID("[V,v]"), 0,
66 -
                           "Lambda <Oo|Vv>");
66 +
                           "Amplitude <Oo|Vv>");
67 67
    global_dpd_->buf4_init(&Lbb, PSIF_DCT_DPD, 0, ID("[o>o]-"), ID("[v>v]-"), ID("[o>o]-"), ID("[v>v]-"), 0,
68 -
                           "Lambda <oo|vv>");
68 +
                           "Amplitude <oo|vv>");
69 69
    diisManager.set_error_vector_size(5, DIISEntry::Matrix, orbital_gradient_a_.get(), DIISEntry::Matrix,
70 70
                                      orbital_gradient_b_.get(), DIISEntry::DPDBuf4, &Laa, DIISEntry::DPDBuf4, &Lab,
71 71
                                      DIISEntry::DPDBuf4, &Lbb);
@@ -77,23 +77,18 @@
Loading
77 77
78 78
    while ((!orbitalsDone_ || !cumulantDone_ || !densityConverged_ || !energyConverged_) && cycle++ < maxiter_) {
79 79
        std::string diisString;
80 -
        // Build new Tau from the density cumulant in the MO basis and transform it the SO basis
81 -
        build_tau();
82 -
        if (exact_tau_) {
83 -
            refine_tau();
84 -
        }
85 -
        transform_tau();
80 +
        compute_SO_tau_U();
86 81
87 82
        if (options_.get_str("DCT_TYPE") == "DF" && options_.get_str("AO_BASIS") == "NONE") {
88 83
            build_DF_tensors_UHF();
89 84
90 -
            auto mo_h_A = std::make_shared<Matrix>("MO-based H Alpha", nirrep_, nmopi_, nmopi_);
91 -
            mo_h_A->copy(so_h_);
92 -
            mo_h_A->transform(Ca_);
85 +
            auto mo_h_A = Matrix("MO-based H Alpha", nirrep_, nmopi_, nmopi_);
86 +
            mo_h_A.copy(so_h_);
87 +
            mo_h_A.transform(Ca_);
93 88
94 -
            auto mo_h_B = std::make_shared<Matrix>("MO-based H Beta", nirrep_, nmopi_, nmopi_);
95 -
            mo_h_B->copy(so_h_);
96 -
            mo_h_B->transform(Cb_);
89 +
            auto mo_h_B = Matrix("MO-based H Beta", nirrep_, nmopi_, nmopi_);
90 +
            mo_h_B.copy(so_h_);
91 +
            mo_h_B.transform(Cb_);
97 92
98 93
            moFa_->copy(mo_h_A);
99 94
            moFb_->copy(mo_h_B);
@@ -152,11 +147,11 @@
Loading
152 147
            global_dpd_->buf4_init(&Rbb, PSIF_DCT_DPD, 0, ID("[o>o]-"), ID("[v>v]-"), ID("[o>o]-"), ID("[v>v]-"), 0,
153 148
                                   "R <oo|vv>");
154 149
            global_dpd_->buf4_init(&Laa, PSIF_DCT_DPD, 0, ID("[O>O]-"), ID("[V>V]-"), ID("[O>O]-"), ID("[V>V]-"), 0,
155 -
                                   "Lambda <OO|VV>");
150 +
                                   "Amplitude <OO|VV>");
156 151
            global_dpd_->buf4_init(&Lab, PSIF_DCT_DPD, 0, ID("[O,o]"), ID("[V,v]"), ID("[O,o]"), ID("[V,v]"), 0,
157 -
                                   "Lambda <Oo|Vv>");
152 +
                                   "Amplitude <Oo|Vv>");
158 153
            global_dpd_->buf4_init(&Lbb, PSIF_DCT_DPD, 0, ID("[o>o]-"), ID("[v>v]-"), ID("[o>o]-"), ID("[v>v]-"), 0,
159 -
                                   "Lambda <oo|vv>");
154 +
                                   "Amplitude <oo|vv>");
160 155
            if (diisManager.add_entry(10, orbital_gradient_a_.get(), orbital_gradient_b_.get(), &Raa, &Rab, &Rbb,
161 156
                                      Xtotal_a_.get(), Xtotal_b_.get(), &Laa, &Lab, &Lbb)) {
162 157
                diisString += "S";
@@ -231,16 +226,20 @@
Loading
231 226
232 227
    dpdfile2 Xai, Xia;
233 228
229 +
    auto is_df = options_.get_str("DCT_TYPE") == "DF";
230 +
234 231
    // Compute the unrelaxed densities for the orbital gradient
235 -
    compute_unrelaxed_density_OOOO();
236 -
    compute_unrelaxed_density_OOVV();
237 -
    compute_unrelaxed_density_OVOV();
232 +
    // For the conventional integral case, we want the entire density.
233 +
    // For the DF case, we want only the RIFIT terms, which happens to be the cumulant.
234 +
    compute_unrelaxed_density_OOOO(is_df);
235 +
    compute_unrelaxed_density_OOVV(is_df);
236 +
    compute_unrelaxed_density_OVOV(is_df);
238 237
239 238
    // Compute the OV part of the orbital gradient
240 -
    compute_orbital_gradient_OV();
239 +
    compute_orbital_gradient_OV(is_df);
241 240
242 241
    // Compute the VO part of the orbital gradient
243 -
    compute_orbital_gradient_VO();
242 +
    compute_orbital_gradient_VO(is_df);
244 243
245 244
    global_dpd_->file2_init(&Xia, PSIF_DCT_DPD, 0, ID('O'), ID('V'), "X <O|V>");
246 245
    global_dpd_->file2_init(&Xai, PSIF_DCT_DPD, 0, ID('V'), ID('O'), "X <V|O>");
@@ -252,7 +251,7 @@
Loading
252 251
    double maxGradient = 0.0;
253 252
    // Alpha spin
254 253
    for (int h = 0; h < nirrep_; ++h) {
255 -
#pragma omp parallel for reduction(max:maxGradient)
254 +
#pragma omp parallel for reduction(max : maxGradient)
256 255
        for (int i = 0; i < naoccpi_[h]; ++i) {
257 256
            for (int a = 0; a < navirpi_[h]; ++a) {
258 257
                double value = 2.0 * (Xia.matrix[h][i][a] - Xai.matrix[h][a][i]);
@@ -275,7 +274,7 @@
Loading
275 274
276 275
    // Beta spin
277 276
    for (int h = 0; h < nirrep_; ++h) {
278 -
#pragma omp parallel for reduction(max:maxGradient)
277 +
#pragma omp parallel for reduction(max : maxGradient)
279 278
        for (int i = 0; i < nboccpi_[h]; ++i) {
280 279
            for (int a = 0; a < nbvirpi_[h]; ++a) {
281 280
                double value = 2.0 * (Xia.matrix[h][i][a] - Xai.matrix[h][a][i]);
@@ -294,7 +293,7 @@
Loading
294 293
    return maxGradient;
295 294
}
296 295
297 -
void DCTSolver::compute_orbital_gradient_OV() {
296 +
void DCTSolver::compute_orbital_gradient_OV(bool separate_gbargamma) {
298 297
    psio_->open(PSIF_DCT_DENSITY, PSIO_OPEN_OLD);
299 298
    psio_->open(PSIF_LIBTRANS_DPD, PSIO_OPEN_OLD);
300 299
@@ -329,74 +328,103 @@
Loading
329 328
    //
330 329
    // 2 * <OV||VV> Г_VVVV
331 330
    //
332 -
333 -
    // Compute contributions from VVVV density
334 -
    // 1. X_ia <-- <ib||cd> tau_ca tau_db
335 -
    global_dpd_->file2_init(&T_VV, PSIF_DCT_DPD, 0, ID('V'), ID('V'), "Tau <V|V>");
336 -
    global_dpd_->file2_init(&T_vv, PSIF_DCT_DPD, 0, ID('v'), ID('v'), "Tau <v|v>");
337 -
338 -
    // Alpha contribution X_IA
339 -
    global_dpd_->file2_init(&Y2_OV, PSIF_DCT_DPD, 0, ID('O'), ID('V'), "Y2 <O|V>");
340 -
341 -
    // Y2_IA = <IA|CD> Tau_CD
342 -
    global_dpd_->buf4_init(&I, PSIF_LIBTRANS_DPD, 0, ID("[O,V]"), ID("[V,V]"), ID("[O,V]"), ID("[V,V]"), 0,
343 -
                           "MO Ints <OV|VV>");
344 -
    global_dpd_->contract422(&I, &T_VV, &Y2_OV, 0, 0, 1.0, 0.0);
345 -
    global_dpd_->buf4_close(&I);
346 -
    // Y2_IA -= (IA|CD) Tau_CD
347 -
    global_dpd_->buf4_init(&I, PSIF_LIBTRANS_DPD, 0, ID("[O,V]"), ID("[V,V]"), ID("[O,V]"), ID("[V>=V]+"), 0,
348 -
                           "MO Ints (OV|VV)");
349 -
    global_dpd_->contract422(&I, &T_VV, &Y2_OV, 0, 0, -1.0, 1.0);
350 -
    global_dpd_->buf4_close(&I);
351 -
    // Y2_IA -= (IA|cd) Tau_cd
352 -
    global_dpd_->buf4_init(&I, PSIF_LIBTRANS_DPD, 0, ID("[O,V]"), ID("[v,v]"), ID("[O,V]"), ID("[v>=v]+"), 0,
353 -
                           "MO Ints (OV|vv)");
354 -
    global_dpd_->contract422(&I, &T_vv, &Y2_OV, 0, 0, -1.0, 1.0);
355 -
    global_dpd_->buf4_close(&I);
356 -
357 -
    // X_IA -= Y2_IC Tau_CA
358 -
    global_dpd_->file2_init(&X, PSIF_DCT_DPD, 0, ID('O'), ID('V'), "X <O|V>");
359 -
    global_dpd_->contract222(&Y2_OV, &T_VV, &X, 0, 1, -1.0, 1.0);
360 -
    global_dpd_->file2_close(&X);
361 -
362 -
    global_dpd_->file2_close(&Y2_OV);
363 -
364 -
    // Beta contribution X_ia
365 -
    global_dpd_->file2_init(&Y2_ov, PSIF_DCT_DPD, 0, ID('o'), ID('v'), "Y2 <o|v>");
366 -
367 -
    // Y2_ib = <ib|cd> Tau_cd
368 -
    global_dpd_->buf4_init(&I, PSIF_LIBTRANS_DPD, 0, ID("[o,v]"), ID("[v,v]"), ID("[o,v]"), ID("[v,v]"), 0,
369 -
                           "MO Ints <ov|vv>");
370 -
    global_dpd_->contract422(&I, &T_vv, &Y2_ov, 0, 0, 1.0, 0.0);
371 -
    global_dpd_->buf4_close(&I);
372 -
    // Y2_ib -= (ib|cd) Tau_cd
373 -
    global_dpd_->buf4_init(&I, PSIF_LIBTRANS_DPD, 0, ID("[o,v]"), ID("[v,v]"), ID("[o,v]"), ID("[v>=v]+"), 0,
374 -
                           "MO Ints (ov|vv)");
375 -
    global_dpd_->contract422(&I, &T_vv, &Y2_ov, 0, 0, -1.0, 1.0);
376 -
    global_dpd_->buf4_close(&I);
377 -
    // Y2_ib -= (ib|CD) Tau_CD
378 -
    global_dpd_->buf4_init(&I, PSIF_LIBTRANS_DPD, 0, ID("[o,v]"), ID("[V>=V]+"), ID("[o,v]"), ID("[V>=V]+"), 0,
379 -
                           "MO Ints (ov|VV)");
380 -
    global_dpd_->contract422(&I, &T_VV, &Y2_ov, 0, 0, -1.0, 1.0);
381 -
    global_dpd_->buf4_close(&I);
382 -
383 -
    // X_ia -= Y2_ic Tau_ca
384 -
    global_dpd_->file2_init(&X, PSIF_DCT_DPD, 0, ID('o'), ID('v'), "X <o|v>");
385 -
    global_dpd_->contract222(&Y2_ov, &T_vv, &X, 0, 1, -1.0, 1.0);
386 -
    global_dpd_->file2_close(&X);
387 -
388 -
    global_dpd_->file2_close(&Y2_ov);
389 -
390 -
    global_dpd_->file2_close(&T_VV);
391 -
    global_dpd_->file2_close(&T_vv);
331 +
    // The VVVV block is expensive, so we avoid computing it by changing the contraction order.
332 +
333 +
    if (!separate_gbargamma) {
334 +
        // Compute contributions from VVVV density
335 +
        // 1. X_ia <-- <ib||cd> tau_ca tau_db
336 +
        global_dpd_->file2_init(&T_VV, PSIF_DCT_DPD, 0, ID('V'), ID('V'), "Tau <V|V>");
337 +
        global_dpd_->file2_init(&T_vv, PSIF_DCT_DPD, 0, ID('v'), ID('v'), "Tau <v|v>");
338 +
339 +
        // Alpha contribution X_IA
340 +
        global_dpd_->file2_init(&Y2_OV, PSIF_DCT_DPD, 0, ID('O'), ID('V'), "Y2 <O|V>");
341 +
342 +
        // Y2_IA = <IA|CD> Tau_CD
343 +
        global_dpd_->buf4_init(&I, PSIF_LIBTRANS_DPD, 0, ID("[O,V]"), ID("[V,V]"), ID("[O,V]"), ID("[V,V]"), 0,
344 +
                               "MO Ints <OV|VV>");
345 +
        global_dpd_->contract422(&I, &T_VV, &Y2_OV, 0, 0, 1.0, 0.0);
346 +
        global_dpd_->buf4_close(&I);
347 +
        // Y2_IA -= (IA|CD) Tau_CD
348 +
        global_dpd_->buf4_init(&I, PSIF_LIBTRANS_DPD, 0, ID("[O,V]"), ID("[V,V]"), ID("[O,V]"), ID("[V>=V]+"), 0,
349 +
                               "MO Ints (OV|VV)");
350 +
        global_dpd_->contract422(&I, &T_VV, &Y2_OV, 0, 0, -1.0, 1.0);
351 +
        global_dpd_->buf4_close(&I);
352 +
        // Y2_IA -= (IA|cd) Tau_cd
353 +
        global_dpd_->buf4_init(&I, PSIF_LIBTRANS_DPD, 0, ID("[O,V]"), ID("[v,v]"), ID("[O,V]"), ID("[v>=v]+"), 0,
354 +
                               "MO Ints (OV|vv)");
355 +
        global_dpd_->contract422(&I, &T_vv, &Y2_OV, 0, 0, -1.0, 1.0);
356 +
        global_dpd_->buf4_close(&I);
357 +
358 +
        // X_IA -= Y2_IC Tau_CA
359 +
        global_dpd_->file2_init(&X, PSIF_DCT_DPD, 0, ID('O'), ID('V'), "X <O|V>");
360 +
        global_dpd_->contract222(&Y2_OV, &T_VV, &X, 0, 1, -1.0, 1.0);
361 +
        global_dpd_->file2_close(&X);
362 +
363 +
        global_dpd_->file2_close(&Y2_OV);
364 +
365 +
        // Beta contribution X_ia
366 +
        global_dpd_->file2_init(&Y2_ov, PSIF_DCT_DPD, 0, ID('o'), ID('v'), "Y2 <o|v>");
367 +
368 +
        // Y2_ib = <ib|cd> Tau_cd
369 +
        global_dpd_->buf4_init(&I, PSIF_LIBTRANS_DPD, 0, ID("[o,v]"), ID("[v,v]"), ID("[o,v]"), ID("[v,v]"), 0,
370 +
                               "MO Ints <ov|vv>");
371 +
        global_dpd_->contract422(&I, &T_vv, &Y2_ov, 0, 0, 1.0, 0.0);
372 +
        global_dpd_->buf4_close(&I);
373 +
        // Y2_ib -= (ib|cd) Tau_cd
374 +
        global_dpd_->buf4_init(&I, PSIF_LIBTRANS_DPD, 0, ID("[o,v]"), ID("[v,v]"), ID("[o,v]"), ID("[v>=v]+"), 0,
375 +
                               "MO Ints (ov|vv)");
376 +
        global_dpd_->contract422(&I, &T_vv, &Y2_ov, 0, 0, -1.0, 1.0);
377 +
        global_dpd_->buf4_close(&I);
378 +
        // Y2_ib -= (ib|CD) Tau_CD
379 +
        global_dpd_->buf4_init(&I, PSIF_LIBTRANS_DPD, 0, ID("[o,v]"), ID("[V>=V]+"), ID("[o,v]"), ID("[V>=V]+"), 0,
380 +
                               "MO Ints (ov|VV)");
381 +
        global_dpd_->contract422(&I, &T_VV, &Y2_ov, 0, 0, -1.0, 1.0);
382 +
        global_dpd_->buf4_close(&I);
383 +
384 +
        // X_ia -= Y2_ic Tau_ca
385 +
        global_dpd_->file2_init(&X, PSIF_DCT_DPD, 0, ID('o'), ID('v'), "X <o|v>");
386 +
        global_dpd_->contract222(&Y2_ov, &T_vv, &X, 0, 1, -1.0, 1.0);
387 +
        global_dpd_->file2_close(&X);
388 +
389 +
        global_dpd_->file2_close(&Y2_ov);
390 +
391 +
        global_dpd_->file2_close(&T_VV);
392 +
        global_dpd_->file2_close(&T_vv);
393 +
    } else {
394 +
        // We already computed gbar gamma! We can use that intermediate now to compute ALL terms involving the
395 +
        // product of the 1RDM in our orbital gradient component. For this reason, we need to use the cumulant
396 +
        // and not the full gamma for the other 2RDM terms.
397 +
        // All we need is (gbargamma)^i_p gamma^p_a.
398 +
        auto zero = Dimension(nirrep_);
399 +
        auto gbar_alpha_block = mo_gbarGamma_A_.get_block(Slice(zero, soccpi_ + doccpi_), Slice(zero, nsopi_));
400 +
        auto gbar_beta_block = mo_gbarGamma_B_.get_block(Slice(zero, doccpi_), Slice(zero, nsopi_));
401 +
        auto gamma_alpha_block = mo_gammaA_.get_block(Slice(zero, nsopi_), Slice(soccpi_ + doccpi_, nsopi_));
402 +
        auto gamma_beta_block = mo_gammaB_.get_block(Slice(zero, nsopi_), Slice(doccpi_, nsopi_));
403 +
        auto alpha_jk = linalg::doublet(gbar_alpha_block, gamma_alpha_block, false, false);
404 +
        auto beta_jk = linalg::doublet(gbar_beta_block, gamma_beta_block, false, false);
405 +
406 +
        global_dpd_->file2_init(&H, PSIF_DCT_DPD, 0, ID('O'), ID('V'), "X JK <O|V>");
407 +
        alpha_jk->write_to_dpdfile2(&H);
408 +
        global_dpd_->file2_init(&X, PSIF_DCT_DPD, 0, ID('O'), ID('V'), "X <O|V>");
409 +
        global_dpd_->file2_axpy(&H, &X, 1.0, 0);
410 +
        global_dpd_->file2_close(&X);
411 +
        global_dpd_->file2_close(&H);
412 +
413 +
        global_dpd_->file2_init(&H, PSIF_DCT_DPD, 0, ID('o'), ID('v'), "X JK <o|v>");
414 +
        beta_jk->write_to_dpdfile2(&H);
415 +
        global_dpd_->file2_init(&X, PSIF_DCT_DPD, 0, ID('o'), ID('v'), "X <o|v>");
416 +
        global_dpd_->file2_axpy(&H, &X, 1.0, 0);
417 +
        global_dpd_->file2_close(&X);
418 +
        global_dpd_->file2_close(&H);
419 +
    }
392 420
393 421
    // 2. X_ia <-- 1/4 <ib||cd> lambda_abkl lambda_klcd
394 422
395 423
    //  W_IBKL = <IB||CD> lambda_KLCD
396 424
    global_dpd_->buf4_init(&I, PSIF_LIBTRANS_DPD, 0, ID("[O,V]"), ID("[V>V]-"), ID("[O,V]"), ID("[V,V]"), 1,
397 425
                           "MO Ints <OV|VV>");
398 426
    global_dpd_->buf4_init(&L, PSIF_DCT_DPD, 0, ID("[O,O]"), ID("[V>V]-"), ID("[O>O]-"), ID("[V>V]-"), 0,
399 -
                           "Lambda <OO|VV>");
427 +
                           "Amplitude <OO|VV>");
400 428
    global_dpd_->buf4_init(&W, PSIF_DCT_DPD, 0, ID("[O,V]"), ID("[O,O]"), ID("[O,V]"), ID("[O>O]-"), 0, "W <OV|OO>");
401 429
    global_dpd_->contract444(&I, &L, &W, 0, 0, 2.0, 0.0);
402 430
    global_dpd_->buf4_close(&I);
@@ -407,7 +435,7 @@
Loading
407 435
    global_dpd_->buf4_init(&I, PSIF_LIBTRANS_DPD, 0, ID("[O,v]"), ID("[V,v]"), ID("[O,v]"), ID("[V,v]"), 0,
408 436
                           "MO Ints <Ov|Vv>");
409 437
    global_dpd_->buf4_init(&L, PSIF_DCT_DPD, 0, ID("[O,o]"), ID("[V,v]"), ID("[O,o]"), ID("[V,v]"), 0,
410 -
                           "Lambda <Oo|Vv>");
438 +
                           "Amplitude <Oo|Vv>");
411 439
    global_dpd_->buf4_init(&W, PSIF_DCT_DPD, 0, ID("[O,o]"), ID("[O,v]"), ID("[O,o]"), ID("[O,v]"), 0, "W <Oo|Ov>");
412 440
    global_dpd_->contract444(&L, &I, &W, 0, 0, 2.0, 0.0);
413 441
    global_dpd_->buf4_close(&I);
@@ -418,7 +446,7 @@
Loading
418 446
    global_dpd_->buf4_init(&I, PSIF_LIBTRANS_DPD, 0, ID("[V,o]"), ID("[V,v]"), ID("[V,o]"), ID("[V,v]"), 0,
419 447
                           "MO Ints <Vo|Vv>");
420 448
    global_dpd_->buf4_init(&L, PSIF_DCT_DPD, 0, ID("[O,o]"), ID("[V,v]"), ID("[O,o]"), ID("[V,v]"), 0,
421 -
                           "Lambda <Oo|Vv>");
449 +
                           "Amplitude <Oo|Vv>");
422 450
    global_dpd_->buf4_init(&W, PSIF_DCT_DPD, 0, ID("[O,o]"), ID("[V,o]"), ID("[O,o]"), ID("[V,o]"), 0, "W <Oo|Vo>");
423 451
    global_dpd_->contract444(&L, &I, &W, 0, 0, 2.0, 0.0);
424 452
    global_dpd_->buf4_close(&I);
@@ -429,7 +457,7 @@
Loading
429 457
    global_dpd_->buf4_init(&I, PSIF_LIBTRANS_DPD, 0, ID("[o,v]"), ID("[v>v]-"), ID("[o,v]"), ID("[v,v]"), 1,
430 458
                           "MO Ints <ov|vv>");
431 459
    global_dpd_->buf4_init(&L, PSIF_DCT_DPD, 0, ID("[o,o]"), ID("[v>v]-"), ID("[o>o]-"), ID("[v>v]-"), 0,
432 -
                           "Lambda <oo|vv>");
460 +
                           "Amplitude <oo|vv>");
433 461
    global_dpd_->buf4_init(&W, PSIF_DCT_DPD, 0, ID("[o,v]"), ID("[o,o]"), ID("[o,v]"), ID("[o>o]-"), 0, "W <ov|oo>");
434 462
    global_dpd_->contract444(&I, &L, &W, 0, 0, 2.0, 0.0);
435 463
    global_dpd_->buf4_close(&I);
@@ -440,7 +468,7 @@
Loading
440 468
    global_dpd_->file2_init(&X, PSIF_DCT_DPD, 0, ID('O'), ID('V'), "X <O|V>");
441 469
    global_dpd_->buf4_init(&W, PSIF_DCT_DPD, 0, ID("[O,V]"), ID("[O,O]"), ID("[O,V]"), ID("[O>O]-"), 0, "W <OV|OO>");
442 470
    global_dpd_->buf4_init(&LL, PSIF_DCT_DPD, 0, ID("[O,O]"), ID("[V,V]"), ID("[O>O]-"), ID("[V>V]-"), 0,
443 -
                           "Lambda <OO|VV>");
471 +
                           "Amplitude <OO|VV>");
444 472
445 473
    global_dpd_->contract442(&W, &LL, &X, 0, 2, 0.25, 1.0);
446 474
    global_dpd_->buf4_close(&W);
@@ -451,7 +479,7 @@
Loading
451 479
    global_dpd_->file2_init(&X, PSIF_DCT_DPD, 0, ID('O'), ID('V'), "X <O|V>");
452 480
    global_dpd_->buf4_init(&W, PSIF_DCT_DPD, 0, ID("[O,o]"), ID("[O,v]"), ID("[O,o]"), ID("[O,v]"), 0, "W <Oo|Ov>");
453 481
    global_dpd_->buf4_init(&LL, PSIF_DCT_DPD, 0, ID("[O,o]"), ID("[V,v]"), ID("[O,o]"), ID("[V,v]"), 0,
454 -
                           "Lambda <Oo|Vv>");
482 +
                           "Amplitude <Oo|Vv>");
455 483
456 484
    global_dpd_->contract442(&W, &LL, &X, 2, 2, 0.5, 1.0);
457 485
    global_dpd_->buf4_close(&W);
@@ -462,7 +490,7 @@
Loading
462 490
    global_dpd_->file2_init(&X, PSIF_DCT_DPD, 0, ID('o'), ID('v'), "X <o|v>");
463 491
    global_dpd_->buf4_init(&W, PSIF_DCT_DPD, 0, ID("[O,o]"), ID("[V,o]"), ID("[O,o]"), ID("[V,o]"), 0, "W <Oo|Vo>");
464 492
    global_dpd_->buf4_init(&LL, PSIF_DCT_DPD, 0, ID("[O,o]"), ID("[V,v]"), ID("[O,o]"), ID("[V,v]"), 0,
465 -
                           "Lambda <Oo|Vv>");
493 +
                           "Amplitude <Oo|Vv>");
466 494
467 495
    global_dpd_->contract442(&W, &LL, &X, 3, 3, 0.5, 1.0);
468 496
    global_dpd_->buf4_close(&W);
@@ -473,7 +501,7 @@
Loading
473 501
    global_dpd_->file2_init(&X, PSIF_DCT_DPD, 0, ID('o'), ID('v'), "X <o|v>");
474 502
    global_dpd_->buf4_init(&W, PSIF_DCT_DPD, 0, ID("[o,v]"), ID("[o,o]"), ID("[o,v]"), ID("[o>o]-"), 0, "W <ov|oo>");
475 503
    global_dpd_->buf4_init(&LL, PSIF_DCT_DPD, 0, ID("[o,o]"), ID("[v,v]"), ID("[o>o]-"), ID("[v>v]-"), 0,
476 -
                           "Lambda <oo|vv>");
504 +
                           "Amplitude <oo|vv>");
477 505
478 506
    global_dpd_->contract442(&W, &LL, &X, 0, 2, 0.25, 1.0);
479 507
    global_dpd_->buf4_close(&W);
@@ -484,12 +512,15 @@
Loading
484 512
    // <OO||OV> Г_OOVV
485 513
    //
486 514
515 +
    std::string density_variable = separate_gbargamma ? "Lambda " : "Gamma ";
516 +
    auto varname = [&density_variable](const std::string& x) { return (density_variable + x); };
517 +
487 518
    // X_IA += <BI||JK> Г_BAJK
488 519
    global_dpd_->file2_init(&X, PSIF_DCT_DPD, 0, ID('O'), ID('V'), "X <O|V>");
489 520
    global_dpd_->buf4_init(&I, PSIF_LIBTRANS_DPD, 0, ID("[V,O]"), ID("[O,O]"), ID("[V,O]"), ID("[O,O]"), 1,
490 521
                           "MO Ints <VO|OO>");
491 522
    global_dpd_->buf4_init(&G, PSIF_DCT_DENSITY, 0, ID("[V,V]"), ID("[O,O]"), ID("[V>V]-"), ID("[O>O]-"), 0,
492 -
                           "Gamma <VV|OO>");
523 +
                           varname("<VV|OO>"));
493 524
494 525
    global_dpd_->contract442(&I, &G, &X, 1, 1, 1.0, 1.0);
495 526
    global_dpd_->buf4_close(&G);
@@ -501,7 +532,7 @@
Loading
501 532
    global_dpd_->buf4_init(&I, PSIF_LIBTRANS_DPD, 0, ID("[O,v]"), ID("[O,o]"), ID("[O,v]"), ID("[O,o]"), 0,
502 533
                           "MO Ints <Ov|Oo>");
503 534
    global_dpd_->buf4_init(&G, PSIF_DCT_DENSITY, 0, ID("[V,v]"), ID("[O,o]"), ID("[V,v]"), ID("[O,o]"), 0,
504 -
                           "Gamma <Vv|Oo>");
535 +
                           varname("<Vv|Oo>"));
505 536
506 537
    global_dpd_->contract442(&I, &G, &X, 0, 0, 2.0, 1.0);
507 538
    global_dpd_->buf4_close(&G);
@@ -513,7 +544,7 @@
Loading
513 544
    global_dpd_->buf4_init(&I, PSIF_LIBTRANS_DPD, 0, ID("[v,o]"), ID("[o,o]"), ID("[v,o]"), ID("[o,o]"), 1,
514 545
                           "MO Ints <vo|oo>");
515 546
    global_dpd_->buf4_init(&G, PSIF_DCT_DENSITY, 0, ID("[v,v]"), ID("[o,o]"), ID("[v>v]-"), ID("[o>o]-"), 0,
516 -
                           "Gamma <vv|oo>");
547 +
                           varname("<vv|oo>"));
517 548
518 549
    global_dpd_->contract442(&I, &G, &X, 1, 1, 1.0, 1.0);
519 550
    global_dpd_->buf4_close(&G);
@@ -525,7 +556,7 @@
Loading
525 556
    global_dpd_->buf4_init(&I, PSIF_LIBTRANS_DPD, 0, ID("[V,o]"), ID("[O,o]"), ID("[V,o]"), ID("[O,o]"), 0,
526 557
                           "MO Ints <Vo|Oo>");
527 558
    global_dpd_->buf4_init(&G, PSIF_DCT_DENSITY, 0, ID("[V,v]"), ID("[O,o]"), ID("[V,v]"), ID("[O,o]"), 0,
528 -
                           "Gamma <Vv|Oo>");
559 +
                           varname("<Vv|Oo>"));
529 560
530 561
    global_dpd_->contract442(&I, &G, &X, 1, 1, 2.0, 1.0);
531 562
    global_dpd_->buf4_close(&G);
@@ -541,7 +572,7 @@
Loading
541 572
    global_dpd_->buf4_init(&I, PSIF_LIBTRANS_DPD, 0, ID("[O,V]"), ID("[O,O]"), ID("[O,V]"), ID("[O,O]"), 1,
542 573
                           "MO Ints <OV|OO>");
543 574
    global_dpd_->buf4_init(&G, PSIF_DCT_DENSITY, 0, ID("[O,V]"), ID("[O,V]"), ID("[O,V]"), ID("[O,V]"), 0,
544 -
                           "Gamma <OV|OV>");
575 +
                           varname("<OV|OV>"));
545 576
546 577
    global_dpd_->contract442(&I, &G, &X, 3, 3, 1.0, 1.0);
547 578
    global_dpd_->buf4_close(&G);
@@ -553,7 +584,7 @@
Loading
553 584
    global_dpd_->buf4_init(&I, PSIF_LIBTRANS_DPD, 0, ID("[o,V]"), ID("[o,O]"), ID("[o,V]"), ID("[o,O]"), 0,
554 585
                           "MO Ints <oV|oO>");
555 586
    global_dpd_->buf4_init(&G, PSIF_DCT_DENSITY, 0, ID("[o,V]"), ID("[o,V]"), ID("[o,V]"), ID("[o,V]"), 0,
556 -
                           "Gamma <oV|oV>");
587 +
                           varname("<oV|oV>"));
557 588
558 589
    global_dpd_->contract442(&I, &G, &X, 3, 3, 1.0, 1.0);
559 590
    global_dpd_->buf4_close(&G);
@@ -567,7 +598,7 @@
Loading
567 598
    global_dpd_->buf4_init(&I, PSIF_LIBTRANS_DPD, 0, ID("[O,v]"), ID("[o,O]"), ID("[O,v]"), ID("[o,O]"), 0,
568 599
                           "MO Ints <Ov|oO>");
569 600
    global_dpd_->buf4_init(&G, PSIF_DCT_DENSITY, 0, ID("[O,v]"), ID("[o,V]"), ID("[O,v]"), ID("[o,V]"), 0,
570 -
                           "Gamma <Ov|oV>");
601 +
                           varname("<Ov|oV>"));
571 602
572 603
    global_dpd_->contract442(&I, &G, &X, 3, 3, -1.0, 1.0);
573 604
    global_dpd_->buf4_close(&G);
@@ -579,7 +610,7 @@
Loading
579 610
    global_dpd_->buf4_init(&I, PSIF_LIBTRANS_DPD, 0, ID("[o,v]"), ID("[o,o]"), ID("[o,v]"), ID("[o,o]"), 1,
580 611
                           "MO Ints <ov|oo>");
581 612
    global_dpd_->buf4_init(&G, PSIF_DCT_DENSITY, 0, ID("[o,v]"), ID("[o,v]"), ID("[o,v]"), ID("[o,v]"), 0,
582 -
                           "Gamma <ov|ov>");
613 +
                           varname("<ov|ov>"));
583 614
584 615
    global_dpd_->contract442(&I, &G, &X, 3, 3, 1.0, 1.0);
585 616
    global_dpd_->buf4_close(&G);
@@ -591,7 +622,7 @@
Loading
591 622
    global_dpd_->buf4_init(&I, PSIF_LIBTRANS_DPD, 0, ID("[O,v]"), ID("[O,o]"), ID("[O,v]"), ID("[O,o]"), 0,
592 623
                           "MO Ints <Ov|Oo>");
593 624
    global_dpd_->buf4_init(&G, PSIF_DCT_DENSITY, 0, ID("[O,v]"), ID("[O,v]"), ID("[O,v]"), ID("[O,v]"), 0,
594 -
                           "Gamma <Ov|Ov>");
625 +
                           varname("<Ov|Ov>"));
595 626
596 627
    global_dpd_->contract442(&I, &G, &X, 3, 3, 1.0, 1.0);
597 628
    global_dpd_->buf4_close(&G);
@@ -606,7 +637,7 @@
Loading
606 637
    global_dpd_->buf4_init(&I, PSIF_LIBTRANS_DPD, 0, ID("[o,V]"), ID("[O,o]"), ID("[o,V]"), ID("[O,o]"), 0,
607 638
                           "MO Ints <oV|Oo>");
608 639
    global_dpd_->buf4_init(&G, PSIF_DCT_DENSITY, 0, ID("[o,V]"), ID("[O,v]"), ID("[o,V]"), ID("[O,v]"), 0,
609 -
                           "Gamma <oV|Ov>");
640 +
                           varname("<oV|Ov>"));
610 641
611 642
    global_dpd_->contract442(&I, &G, &X, 3, 3, -1.0, 1.0);
612 643
    global_dpd_->buf4_close(&G);
@@ -617,7 +648,7 @@
Loading
617 648
    psio_->close(PSIF_LIBTRANS_DPD, 1);
618 649
}
619 650
620 -
void DCTSolver::compute_orbital_gradient_VO() {
651 +
void DCTSolver::compute_orbital_gradient_VO(bool separate_gbargamma) {
621 652
    psio_->open(PSIF_DCT_DENSITY, PSIO_OPEN_OLD);
622 653
    psio_->open(PSIF_LIBTRANS_DPD, PSIO_OPEN_OLD);
623 654
@@ -678,18 +709,49 @@
Loading
678 709
    global_dpd_->file2_close(&H);
679 710
    global_dpd_->file2_close(&X);
680 711
712 +
    if (separate_gbargamma) {
713 +
        // We already computed gbar gamma! We can use that intermediate now to compute ALL terms involving the
714 +
        // product of the 1RDM in our orbital gradient component. For this reason, we need to use the cumulant
715 +
        // and not the full gamma for the other 2RDM terms.
716 +
        // All we need is (gbargamma)^a_p gamma^p_i.
717 +
        auto zero = Dimension(nirrep_);
718 +
        auto gbar_alpha_block = mo_gbarGamma_A_.get_block(Slice(soccpi_ + doccpi_, nsopi_), Slice(zero, nsopi_));
719 +
        auto gbar_beta_block = mo_gbarGamma_B_.get_block(Slice(doccpi_, nsopi_), Slice(zero, nsopi_));
720 +
        auto gamma_alpha_block = mo_gammaA_.get_block(Slice(zero, nsopi_), Slice(zero, soccpi_ + doccpi_));
721 +
        auto gamma_beta_block = mo_gammaB_.get_block(Slice(zero, nsopi_), Slice(zero, doccpi_));
722 +
        auto alpha_jk = linalg::doublet(gbar_alpha_block, gamma_alpha_block, false, false);
723 +
        auto beta_jk = linalg::doublet(gbar_beta_block, gamma_beta_block, false, false);
724 +
725 +
        global_dpd_->file2_init(&H, PSIF_DCT_DPD, 0, ID('V'), ID('O'), "X JK <V|O>");
726 +
        alpha_jk->write_to_dpdfile2(&H);
727 +
        global_dpd_->file2_init(&X, PSIF_DCT_DPD, 0, ID('V'), ID('O'), "X <V|O>");
728 +
        global_dpd_->file2_axpy(&H, &X, 1.0, 0);
729 +
        global_dpd_->file2_close(&X);
730 +
        global_dpd_->file2_close(&H);
731 +
732 +
        global_dpd_->file2_init(&H, PSIF_DCT_DPD, 0, ID('v'), ID('o'), "X JK <v|o>");
733 +
        beta_jk->write_to_dpdfile2(&H);
734 +
        global_dpd_->file2_init(&X, PSIF_DCT_DPD, 0, ID('v'), ID('o'), "X <v|o>");
735 +
        global_dpd_->file2_axpy(&H, &X, 1.0, 0);
736 +
        global_dpd_->file2_close(&X);
737 +
        global_dpd_->file2_close(&H);
738 +
    }
739 +
681 740
    // X_VO: Two-electron contributions
682 741
683 742
    //
684 743
    // 2 * <VO||OO> Г_OOOO
685 744
    //
686 745
746 +
    std::string density_variable = separate_gbargamma ? "Lambda " : "Gamma ";
747 +
    auto varname = [&density_variable](const std::string& x) { return (density_variable + x); };
748 +
687 749
    // X_AI += 2 * <AJ||KL> Г_IJKL
688 750
    global_dpd_->file2_init(&X, PSIF_DCT_DPD, 0, ID('V'), ID('O'), "X <V|O>");
689 751
    global_dpd_->buf4_init(&I, PSIF_LIBTRANS_DPD, 0, ID("[V,O]"), ID("[O,O]"), ID("[V,O]"), ID("[O,O]"), 1,
690 752
                           "MO Ints <VO|OO>");
691 753
    global_dpd_->buf4_init(&G, PSIF_DCT_DENSITY, 0, ID("[O,O]"), ID("[O,O]"), ID("[O>O]-"), ID("[O>O]-"), 0,
692 -
                           "Gamma <OO|OO>");
754 +
                           varname("<OO|OO>"));
693 755
694 756
    global_dpd_->contract442(&I, &G, &X, 0, 0, 2.0, 1.0);
695 757
    global_dpd_->buf4_close(&G);
@@ -701,7 +763,7 @@
Loading
701 763
    global_dpd_->buf4_init(&I, PSIF_LIBTRANS_DPD, 0, ID("[V,o]"), ID("[O,o]"), ID("[V,o]"), ID("[O,o]"), 0,
702 764
                           "MO Ints <Vo|Oo>");
703 765
    global_dpd_->buf4_init(&G, PSIF_DCT_DENSITY, 0, ID("[O,o]"), ID("[O,o]"), ID("[O,o]"), ID("[O,o]"), 0,
704 -
                           "Gamma <Oo|Oo>");
766 +
                           varname("<Oo|Oo>"));
705 767
706 768
    global_dpd_->contract442(&I, &G, &X, 0, 0, 4.0, 1.0);
707 769
    global_dpd_->buf4_close(&G);
@@ -713,7 +775,7 @@
Loading
713 775
    global_dpd_->buf4_init(&I, PSIF_LIBTRANS_DPD, 0, ID("[v,o]"), ID("[o,o]"), ID("[v,o]"), ID("[o,o]"), 1,
714 776
                           "MO Ints <vo|oo>");
715 777
    global_dpd_->buf4_init(&G, PSIF_DCT_DENSITY, 0, ID("[o,o]"), ID("[o,o]"), ID("[o>o]-"), ID("[o>o]-"), 0,
716 -
                           "Gamma <oo|oo>");
778 +
                           varname("<oo|oo>"));
717 779
718 780
    global_dpd_->contract442(&I, &G, &X, 0, 0, 2.0, 1.0);
719 781
    global_dpd_->buf4_close(&G);
@@ -725,7 +787,7 @@
Loading
725 787
    global_dpd_->buf4_init(&I, PSIF_LIBTRANS_DPD, 0, ID("[O,v]"), ID("[O,o]"), ID("[O,v]"), ID("[O,o]"), 0,
726 788
                           "MO Ints <Ov|Oo>");
727 789
    global_dpd_->buf4_init(&G, PSIF_DCT_DENSITY, 0, ID("[O,o]"), ID("[O,o]"), ID("[O,o]"), ID("[O,o]"), 0,
728 -
                           "Gamma <Oo|Oo>");
790 +
                           varname("<Oo|Oo>"));
729 791
730 792
    global_dpd_->contract442(&I, &G, &X, 1, 1, 4.0, 1.0);
731 793
    global_dpd_->buf4_close(&G);
@@ -741,7 +803,7 @@
Loading
741 803
    global_dpd_->buf4_init(&I, PSIF_LIBTRANS_DPD, 0, ID("[O,V]"), ID("[V,V]"), ID("[O,V]"), ID("[V,V]"), 1,
742 804
                           "MO Ints <OV|VV>");
743 805
    global_dpd_->buf4_init(&G, PSIF_DCT_DENSITY, 0, ID("[O,O]"), ID("[V,V]"), ID("[O>O]-"), ID("[V>V]-"), 0,
744 -
                           "Gamma <OO|VV>");
806 +
                           varname("<OO|VV>"));
745 807
746 808
    global_dpd_->contract442(&I, &G, &X, 1, 1, 1.0, 1.0);
747 809
    global_dpd_->buf4_close(&G);
@@ -753,7 +815,7 @@
Loading
753 815
    global_dpd_->buf4_init(&I, PSIF_LIBTRANS_DPD, 0, ID("[V,o]"), ID("[V,v]"), ID("[V,o]"), ID("[V,v]"), 0,
754 816
                           "MO Ints <Vo|Vv>");
755 817
    global_dpd_->buf4_init(&G, PSIF_DCT_DENSITY, 0, ID("[O,o]"), ID("[V,v]"), ID("[O,o]"), ID("[V,v]"), 0,
756 -
                           "Gamma <Oo|Vv>");
818 +
                           varname("<Oo|Vv>"));
757 819
758 820
    global_dpd_->contract442(&I, &G, &X, 0, 0, 2.0, 1.0);
759 821
    global_dpd_->buf4_close(&G);
@@ -765,7 +827,7 @@
Loading
765 827
    global_dpd_->buf4_init(&I, PSIF_LIBTRANS_DPD, 0, ID("[o,v]"), ID("[v,v]"), ID("[o,v]"), ID("[v,v]"), 1,
766 828
                           "MO Ints <ov|vv>");
767 829
    global_dpd_->buf4_init(&G, PSIF_DCT_DENSITY, 0, ID("[o,o]"), ID("[v,v]"), ID("[o>o]-"), ID("[v>v]-"), 0,
768 -
                           "Gamma <oo|vv>");
830 +
                           varname("<oo|vv>"));
769 831
770 832
    global_dpd_->contract442(&I, &G, &X, 1, 1, 1.0, 1.0);
771 833
    global_dpd_->buf4_close(&G);
@@ -777,7 +839,7 @@
Loading
777 839
    global_dpd_->buf4_init(&I, PSIF_LIBTRANS_DPD, 0, ID("[O,v]"), ID("[V,v]"), ID("[O,v]"), ID("[V,v]"), 0,
778 840
                           "MO Ints <Ov|Vv>");
779 841
    global_dpd_->buf4_init(&G, PSIF_DCT_DENSITY, 0, ID("[O,o]"), ID("[V,v]"), ID("[O,o]"), ID("[V,v]"), 0,
780 -
                           "Gamma <Oo|Vv>");
842 +
                           varname("<Oo|Vv>"));
781 843
782 844
    global_dpd_->contract442(&I, &G, &X, 1, 1, 2.0, 1.0);
783 845
    global_dpd_->buf4_close(&G);
@@ -793,7 +855,7 @@
Loading
793 855
    global_dpd_->buf4_init(&I, PSIF_LIBTRANS_DPD, 0, ID("[O,V]"), ID("[V,V]"), ID("[O,V]"), ID("[V,V]"), 1,
794 856
                           "MO Ints <OV|VV>");
795 857
    global_dpd_->buf4_init(&G, PSIF_DCT_DENSITY, 0, ID("[O,V]"), ID("[O,V]"), ID("[O,V]"), ID("[O,V]"), 0,
796 -
                           "Gamma <OV|OV>");
858 +
                           varname("<OV|OV>"));
797 859
798 860
    global_dpd_->contract442(&I, &G, &X, 2, 2, 1.0, 1.0);
799 861
    global_dpd_->buf4_close(&G);
@@ -805,7 +867,7 @@
Loading
805 867
    global_dpd_->buf4_init(&I, PSIF_LIBTRANS_DPD, 0, ID("[O,v]"), ID("[V,v]"), ID("[O,v]"), ID("[V,v]"), 0,
806 868
                           "MO Ints <Ov|Vv>");
807 869
    global_dpd_->buf4_init(&G, PSIF_DCT_DENSITY, 0, ID("[O,v]"), ID("[O,v]"), ID("[O,v]"), ID("[O,v]"), 0,
808 -
                           "Gamma <Ov|Ov>");
870 +
                           varname("<Ov|Ov>"));
809 871
810 872
    global_dpd_->contract442(&I, &G, &X, 2, 2, 1.0, 1.0);
811 873
    global_dpd_->buf4_close(&G);
@@ -819,7 +881,7 @@
Loading
819 881
    global_dpd_->buf4_init(&I, PSIF_LIBTRANS_DPD, 0, ID("[o,V]"), ID("[V,v]"), ID("[o,V]"), ID("[V,v]"), 0,
820 882
                           "MO Ints <oV|Vv>");
821 883
    global_dpd_->buf4_init(&G, PSIF_DCT_DENSITY, 0, ID("[o,V]"), ID("[O,v]"), ID("[o,V]"), ID("[O,v]"), 0,
822 -
                           "Gamma <oV|Ov>");
884 +
                           varname("<oV|Ov>"));
823 885
824 886
    global_dpd_->contract442(&I, &G, &X, 2, 2, -1.0, 1.0);
825 887
    global_dpd_->buf4_close(&G);
@@ -831,7 +893,7 @@
Loading
831 893
    global_dpd_->buf4_init(&I, PSIF_LIBTRANS_DPD, 0, ID("[o,v]"), ID("[v,v]"), ID("[o,v]"), ID("[v,v]"), 1,
832 894
                           "MO Ints <ov|vv>");
833 895
    global_dpd_->buf4_init(&G, PSIF_DCT_DENSITY, 0, ID("[o,v]"), ID("[o,v]"), ID("[o,v]"), ID("[o,v]"), 0,
834 -
                           "Gamma <ov|ov>");
896 +
                           varname("<ov|ov>"));
835 897
836 898
    global_dpd_->contract442(&I, &G, &X, 2, 2, 1.0, 1.0);
837 899
    global_dpd_->buf4_close(&G);
@@ -843,7 +905,7 @@
Loading
843 905
    global_dpd_->buf4_init(&I, PSIF_LIBTRANS_DPD, 0, ID("[o,V]"), ID("[v,V]"), ID("[o,V]"), ID("[v,V]"), 0,
844 906
                           "MO Ints <oV|vV>");
845 907
    global_dpd_->buf4_init(&G, PSIF_DCT_DENSITY, 0, ID("[o,V]"), ID("[o,V]"), ID("[o,V]"), ID("[o,V]"), 0,
846 -
                           "Gamma <oV|oV>");
908 +
                           varname("<oV|oV>"));
847 909
848 910
    global_dpd_->contract442(&I, &G, &X, 2, 2, 1.0, 1.0);
849 911
    global_dpd_->buf4_close(&G);
@@ -857,7 +919,7 @@
Loading
857 919
    global_dpd_->buf4_init(&I, PSIF_LIBTRANS_DPD, 0, ID("[O,v]"), ID("[v,V]"), ID("[O,v]"), ID("[v,V]"), 0,
858 920
                           "MO Ints <Ov|vV>");
859 921
    global_dpd_->buf4_init(&G, PSIF_DCT_DENSITY, 0, ID("[O,v]"), ID("[o,V]"), ID("[O,v]"), ID("[o,V]"), 0,
860 -
                           "Gamma <Ov|oV>");
922 +
                           varname("<Ov|oV>"));
861 923
862 924
    global_dpd_->contract442(&I, &G, &X, 2, 2, -1.0, 1.0);
863 925
    global_dpd_->buf4_close(&G);
@@ -907,47 +969,47 @@
Loading
907 969
    dct_timer_on("DCTSolver::rotate_orbitals()");
908 970
909 971
    // Initialize the orbital rotation matrix
910 -
    auto U_a = std::make_shared<Matrix>("Orbital rotation matrix (Alpha)", nirrep_, nmopi_, nmopi_);
911 -
    auto U_b = std::make_shared<Matrix>("Orbital rotation matrix (Beta)", nirrep_, nmopi_, nmopi_);
972 +
    auto U_a = Matrix("Orbital rotation matrix (Alpha)", nirrep_, nmopi_, nmopi_);
973 +
    auto U_b = Matrix("Orbital rotation matrix (Beta)", nirrep_, nmopi_, nmopi_);
912 974
913 975
    // Compute the orbital rotation matrix and rotate the orbitals
914 976
915 977
    // U = I
916 -
    U_a->identity();
917 -
    U_b->identity();
978 +
    U_a.identity();
979 +
    U_b.identity();
918 980
919 981
    // U += X
920 -
    U_a->add(Xtotal_a_);
921 -
    U_b->add(Xtotal_b_);
982 +
    U_a.add(Xtotal_a_);
983 +
    U_b.add(Xtotal_b_);
922 984
923 985
    // U += 0.5 * X * X
924 -
    U_a->gemm(false, false, 0.5, Xtotal_a_, Xtotal_a_, 1.0);
925 -
    U_b->gemm(false, false, 0.5, Xtotal_b_, Xtotal_b_, 1.0);
986 +
    U_a.gemm(false, false, 0.5, Xtotal_a_, Xtotal_a_, 1.0);
987 +
    U_b.gemm(false, false, 0.5, Xtotal_b_, Xtotal_b_, 1.0);
926 988
927 989
    // Orthogonalize the U vectors
928 -
    int rowA = U_a->nrow();
929 -
    int colA = U_a->ncol();
990 +
    int rowA = U_a.nrow();
991 +
    int colA = U_a.ncol();
930 992
931 -
    double **U_a_block = block_matrix(rowA, colA);
993 +
    double** U_a_block = block_matrix(rowA, colA);
932 994
    memset(U_a_block[0], 0, sizeof(double) * rowA * colA);
933 -
    U_a_block = U_a->to_block_matrix();
995 +
    U_a_block = U_a.to_block_matrix();
934 996
    schmidt(U_a_block, rowA, colA, "outfile");
935 -
    U_a->set(U_a_block);
997 +
    U_a.set(U_a_block);
936 998
    free_block(U_a_block);
937 999
938 -
    int rowB = U_b->nrow();
939 -
    int colB = U_b->ncol();
1000 +
    int rowB = U_b.nrow();
1001 +
    int colB = U_b.ncol();
940 1002
941 -
    double **U_b_block = block_matrix(rowB, colB);
1003 +
    double** U_b_block = block_matrix(rowB, colB);
942 1004
    memset(U_b_block[0], 0, sizeof(double) * rowB * colB);
943 -
    U_b_block = U_b->to_block_matrix();
1005 +
    U_b_block = U_b.to_block_matrix();
944 1006
    schmidt(U_b_block, rowB, colB, "outfile");
945 -
    U_b->set(U_b_block);
1007 +
    U_b.set(U_b_block);
946 1008
    free_block(U_b_block);
947 1009
948 1010
    // Rotate the orbitals
949 -
    Ca_->gemm(false, false, 1.0, old_ca_, U_a, 0.0);
950 -
    Cb_->gemm(false, false, 1.0, old_cb_, U_b, 0.0);
1011 +
    Ca_->gemm(false, false, 1.0, *old_ca_, U_a, 0.0);
1012 +
    Cb_->gemm(false, false, 1.0, *old_cb_, U_b, 0.0);
951 1013
952 1014
    dct_timer_off("DCTSolver::rotate_orbitals()");
953 1015
}

@@ -50,13 +50,8 @@
Loading
50 50
 * and reads the one-electron integrals from PSIO.
51 51
 * for RHF reference.
52 52
 */
53 -
void DCTSolver::scf_guess_RHF() {
53 +
void DCTSolver::initialize_orbitals_from_reference_R() {
54 54
    dct_timer_on("DCTSolver::rhf_guess");
55 -
    auto T = mintshelper()->so_kinetic()->clone();
56 -
    auto V = mintshelper()->so_potential()->clone();
57 -
58 -
    so_h_->add(T);
59 -
    so_h_->add(V);
60 55
61 56
    epsilon_a_->copy(reference_wavefunction_->epsilon_a().get());
62 57
    epsilon_b_->copy(epsilon_a_.get());
@@ -169,7 +164,7 @@
Loading
169 164
170 165
        /********** AB ***********/
171 166
        global_dpd_->buf4_init(&lambda, PSIF_DCT_DPD, 0, ID("[O,O]"), ID("[V,V]"), ID("[O,O]"), ID("[V,V]"), 0,
172 -
                               "Lambda SF <OO|VV>");  // Lambda <Oo|Vv>
167 +
                               "Amplitude SF <OO|VV>");  // Amplitude <Oo|Vv>
173 168
        global_dpd_->buf4_init(&tau1_AO_ab, PSIF_DCT_DPD, 0, ID("[O,O]"), ID("[n,n]"), ID("[O,O]"), ID("[n,n]"), 0,
174 169
                               "tau1AO <OO|nn>");  // tau1AO <Oo|nn>
175 170
        global_dpd_->buf4_scm(&tau1_AO_ab, 0.0);
@@ -470,6 +465,8 @@
Loading
470 465
471 466
/**
472 467
 * Computes the SCF energy from the latest Fock and density matrices.
468 +
 * WARNING! This quantity is a misnomer from earlier days of the theory.
469 +
 * "SCF" here means "excluding 2RDM cumulant, including 1RDM and 1RDM products."
473 470
 */
474 471
void DCTSolver::compute_scf_energy_RHF() {
475 472
    dct_timer_on("DCTSolver::compute_scf_energy");
@@ -480,9 +477,7 @@
Loading
480 477
    scf_energy_ += tau_so_a_->vector_dot(so_h_);
481 478
482 479
    if (options_.get_str("DCT_TYPE") == "DF" && options_.get_str("AO_BASIS") == "NONE") {
483 -
        mo_gammaA_->add(kappa_mo_a_);
484 -
485 -
        scf_energy_ += mo_gammaA_->vector_dot(moFa_);
480 +
        scf_energy_ += mo_gammaA_.vector_dot(moFa_);
486 481
    } else {
487 482
        scf_energy_ += kappa_so_a_->vector_dot(Fa_);
488 483
        scf_energy_ += tau_so_a_->vector_dot(Fa_);
@@ -496,14 +491,14 @@
Loading
496 491
497 492
    size_t nElements = 0;
498 493
    double sumOfSquares = 0.0;
499 -
    auto tmp1 = std::make_shared<Matrix>("tmp1", nirrep_, nsopi_, nsopi_);
500 -
    auto tmp2 = std::make_shared<Matrix>("tmp2", nirrep_, nsopi_, nsopi_);
494 +
    auto tmp1 = Matrix("tmp1", nirrep_, nsopi_, nsopi_);
495 +
    auto tmp2 = Matrix("tmp2", nirrep_, nsopi_, nsopi_);
501 496
    // form FDS
502 -
    tmp1->gemm(false, false, 1.0, kappa_so_a_, ao_s_, 0.0);
497 +
    tmp1.gemm(false, false, 1.0, kappa_so_a_, ao_s_, 0.0);
503 498
    scf_error_a_->gemm(false, false, 1.0, Fa_, tmp1, 0.0);
504 499
    // form SDF
505 -
    tmp1->gemm(false, false, 1.0, kappa_so_a_, Fa_, 0.0);
506 -
    tmp2->gemm(false, false, 1.0, ao_s_, tmp1, 0.0);
500 +
    tmp1.gemm(false, false, 1.0, kappa_so_a_, Fa_, 0.0);
501 +
    tmp2.gemm(false, false, 1.0, ao_s_, tmp1, 0.0);
507 502
    scf_error_a_->subtract(tmp2);
508 503
    // Orthogonalize
509 504
    scf_error_a_->transform(s_half_inv_);

@@ -423,7 +423,9 @@
Loading
423 423
    }
424 424
    delete[] temp;
425 425
426 -
    // Transform C_right
426 +
    // Transform the left-index of all C matrices from SO basis to AO basis.
427 +
428 +
    // Transform C_left. Assumed totally symmetric.
427 429
    for (size_t N = 0; N < D_.size(); ++N) {
428 430
        // Input is already C1
429 431
        if (!input_symmetry_cast_map_[N]) {
@@ -446,7 +448,7 @@
Loading
446 448
        }
447 449
    }
448 450
449 -
    // Transform C_left
451 +
    // Transform C_right. Not assumed totally symmetric.
450 452
    for (size_t N = 0; (N < D_.size()) && (!lr_symmetric_); ++N) {
451 453
        // Input is already C1
452 454
        if (!input_symmetry_cast_map_[N]) {
@@ -457,14 +459,17 @@
Loading
457 459
        int offset = 0;
458 460
        int symm = D_[N]->symmetry();
459 461
        for (int h = 0; h < AO2USO_->nirrep(); ++h) {
462 +
            // We MUST pack columns in the order in which they appear for totally symmetric C_left.
463 +
            // This means we transform in order of h ^ symm, not in order of h.
460 464
            int nao = AO2USO_->rowspi()[0];
461 -
            int nso = AO2USO_->colspi()[h];
465 +
            int nso = AO2USO_->colspi()[h ^ symm];
462 466
            int ncol = C_right_ao_[N]->colspi()[0];
463 -
            int ncolspi = C_right_[N]->colspi()[h ^ symm];
467 +
            // Remember: colspi_[h] describes not the orbitals of block h, but the orbitals that transform as h.
468 +
            int ncolspi = C_right_[N]->colspi()[h];
464 469
            if (nso == 0 || ncolspi == 0) continue;
465 -
            double** Up = AO2USO_->pointer(h);
470 +
            double** Up = AO2USO_->pointer(h ^ symm);
466 471
            double** CAOp = C_right_ao_[N]->pointer();
467 -
            double** CSOp = C_right_[N]->pointer(h);
472 +
            double** CSOp = C_right_[N]->pointer(h ^ symm);
468 473
            C_DGEMM('N', 'N', nao, ncolspi, nso, 1.0, Up[0], nso, CSOp[0], ncolspi, 0.0, &CAOp[0][offset], ncol);
469 474
            offset += ncolspi;
470 475
        }

@@ -1236,11 +1236,6 @@
Loading
1236 1236
        options.add_str("DCT_FUNCTIONAL", "ODC-12", "DC-06 DC-12 ODC-06 ODC-12 ODC-13 CEPA0");
1237 1237
        /*- Whether to compute three-particle energy correction or not -*/
1238 1238
        options.add_str("THREE_PARTICLE", "NONE", "NONE PERTURBATIVE");
1239 -
        /*- Do write a MOLDEN output file?  If so, the filename will end in
1240 -
        .molden, and the prefix is determined by |globals__writer_file_label|
1241 -
        (if set), or else by the name of the output file plus the name of
1242 -
        the current molecule. -*/
1243 -
        options.add_bool("MOLDEN_WRITE", false);
1244 1239
        /*- Level shift applied to the diagonal of the density-weighted Fock operator. While this shift can improve
1245 1240
           convergence, it does change the DCT energy. !expert-*/
1246 1241
        options.add_double("ENERGY_LEVEL_SHIFT", 0.0);
@@ -1249,6 +1244,9 @@
Loading
1249 1244
        /*- Auxiliary basis set for DCT density fitting computations.
1250 1245
        :ref:`Defaults <apdx:basisFamily>` to a RI basis. -*/
1251 1246
        options.add_str("DF_BASIS_DCT", "");
1247 +
        /*- Compute a (relaxed) one-particle density matrix? Can be set manually. Set internally for
1248 +
         property and gradient computations. -*/
1249 +
        options.add_bool("OPDM", false);
1252 1250
    }
1253 1251
    if (name == "GDMA" || options.read_globals()) {
1254 1252
        /*- MODULEDESCRIPTION Performs distributed multipole analysis (DMA), using

@@ -37,6 +37,7 @@
Loading
37 37
38 38
namespace psi {
39 39
namespace dct {
40 +
40 41
/**
41 42
 * Updates the MO coefficients, transforms the integrals into both chemists'
42 43
 * and physcists' notation
@@ -378,8 +379,7 @@
Loading
378 379
        global_dpd_->file2_close(&F);
379 380
    }
380 381
381 -
    global_dpd_->buf4_init(&D, PSIF_DCT_DPD, 0, ID("[O,O]"), ID("[V,V]"), ID("[O>=O]+"), ID("[V>=V]+"), 0,
382 -
                           "D <OO|VV>");
382 +
    global_dpd_->buf4_init(&D, PSIF_DCT_DPD, 0, ID("[O,O]"), ID("[V,V]"), ID("[O>=O]+"), ID("[V>=V]+"), 0, "D <OO|VV>");
383 383
    for (int h = 0; h < nirrep_; ++h) {
384 384
        global_dpd_->buf4_mat_irrep_init(&D, h);
385 385
        for (int row = 0; row < D.params->rowtot[h]; ++row) {

Click to load this diff.
Loading diff...

Click to load this diff.
Loading diff...

Click to load this diff.
Loading diff...

Click to load this diff.
Loading diff...

Click to load this diff.
Loading diff...

Click to load this diff.
Loading diff...

Click to load this diff.
Loading diff...

Click to load this diff.
Loading diff...

Click to load this diff.
Loading diff...

Click to load this diff.
Loading diff...

Click to load this diff.
Loading diff...

Click to load this diff.
Loading diff...

Click to load this diff.
Loading diff...

Click to load this diff.
Loading diff...

Click to load this diff.
Loading diff...

Click to load this diff.
Loading diff...

Click to load this diff.
Loading diff...

Click to load this diff.
Loading diff...

Click to load this diff.
Loading diff...

Click to load this diff.
Loading diff...

Click to load this diff.
Loading diff...

Click to load this diff.
Loading diff...

Click to load this diff.
Loading diff...

Click to load this diff.
Loading diff...

Click to load this diff.
Loading diff...

Click to load this diff.
Loading diff...

Click to load this diff.
Loading diff...

Click to load this diff.
Loading diff...

Click to load this diff.
Loading diff...

Click to load this diff.
Loading diff...

Click to load this diff.
Loading diff...

Click to load this diff.
Loading diff...

Click to load this diff.
Loading diff...

Click to load this diff.
Loading diff...

Click to load this diff.