Program Listing for File direct_utils.hpp
↰ Return to documentation for file (src/three_electron/direct_utils.hpp)
//
// Created by Zack Williams on 25/03/2024.
//
#ifndef THREE_ELECTRON_DIRECT_UTILS_HPP
#define THREE_ELECTRON_DIRECT_UTILS_HPP
#include "integrals/integrals.hpp"
#include "ri_utils.hpp"
#include "utils/utils.hpp"
namespace uw12::three_el {
utils::MatVec calculate_xab(
const integrals::Integrals& W,
const integrals::Integrals& V,
const ri::ABSProjectors& abs_projectors
);
double calculate_direct_energy(
const utils::MatVec& x,
const utils::MatVec& ttilde,
double scale_opp_spin,
double scale_same_spin
);
linalg::Mat calculate_xab_dttilde(
const linalg::Mat& W3idx_one_trans,
const linalg::Mat& V3idx_one_trans,
const linalg::Mat& xab,
const linalg::Vec& W_vals,
const linalg::Vec& V_vals,
size_t n_active,
size_t n_ao
);
linalg::Mat calculate_ttilde_dxab(
const integrals::Integrals& W,
const integrals::Integrals& V,
const linalg::Mat& ttilde,
const ri::ABSProjectors& abs_projectors
);
} // namespace uw12::three_el
#endif // THREE_ELECTRON_DIRECT_UTILS_HPP