Namespaces | |
detail | |
Classes | |
struct | F12PairEnergyReductor |
tile reductor that computes pair contributions to the F12 energy More... | |
struct | GTGParams |
Functions | |
template<typename Tile > | |
TA::DistArray< Tile, TA::SparsePolicy > | compute_V_ijkl_db_df (lcao::LCAOFactory< Tile, TA::SparsePolicy > &lcao_factory, TA::SparseShape< float > &shape) |
template<typename Tile , typename Policy > | |
std::tuple< TA::DistArray< Tile, Policy >, TA::DistArray< Tile, Policy > > | compute_V_ixjy_ixyj_db_df (lcao::LCAOFactory< Tile, Policy > &lcao_factory, bool cabs=true) |
template<typename Tile , typename Policy > | |
TA::DistArray< Tile, Policy > | compute_V_xyab_db_df (lcao::LCAOFactory< Tile, Policy > &lcao_factory) |
template<typename Tile , typename Policy > | |
TA::DistArray< Tile, Policy > | compute_V_iaxy_db_df (lcao::LCAOFactory< Tile, Policy > &lcao_factory) |
template<typename Tile > | |
TA::DistArray< Tile, TA::SparsePolicy > | compute_X_ijkl_db_df (lcao::LCAOFactory< Tile, TA::SparsePolicy > &lcao_factory, TA::SparseShape< float > &ijkl_shape) |
template<typename Tile > | |
TA::DistArray< Tile, TA::SparsePolicy > | compute_B_ijkl_db_df (lcao::LCAOFactory< Tile, TA::SparsePolicy > &lcao_factory, TA::SparseShape< float > &ijkl_shape) |
template<typename Tile > | |
TA::DistArray< Tile, TA::SparsePolicy > | compute_VT2_ijkl_db_df (lcao::LCAOFactory< Tile, TA::SparsePolicy > &lcao_factory, const TA::DistArray< Tile, TA::SparsePolicy > &t2, const TA::SparseShape< float > &ijkl_shape) |
template<typename Tile > | |
TA::DistArray< Tile, TA::SparsePolicy > | compute_VT1_ijkl_db_df (lcao::LCAOFactory< Tile, TA::SparsePolicy > &lcao_factory, const TA::DistArray< Tile, TA::SparsePolicy > &t1, const TA::SparseShape< float > &ijkl_shape) |
template<typename Tile > | |
TA::DistArray< Tile, TA::SparsePolicy > | compute_V_ijkl_df (LCAOFactory< Tile, TA::SparsePolicy > &lcao_factory, TA::SparseShape< float > &shape) |
template<typename Tile > | |
TA::DistArray< Tile, TA::SparsePolicy > | compute_V_ijkl (LCAOFactory< Tile, TA::SparsePolicy > &lcao_factory, TA::SparseShape< float > &shape) |
template<typename Tile > | |
TA::DistArray< Tile, TA::SparsePolicy > | compute_X_ijkl_df (LCAOFactory< Tile, TA::SparsePolicy > &lcao_factory, TA::SparseShape< float > &ijkl_shape) |
template<typename Tile > | |
TA::DistArray< Tile, TA::SparsePolicy > | compute_X_ijkl (LCAOFactory< Tile, TA::SparsePolicy > &lcao_factory, TA::SparseShape< float > &ijkl_shape) |
template<typename Tile > | |
TA::DistArray< Tile, TA::SparsePolicy > | compute_B_ijkl_C_df (LCAOFactory< Tile, TA::SparsePolicy > &lcao_factory, TA::SparseShape< float > &shape) |
template<typename Tile > | |
TA::DistArray< Tile, TA::SparsePolicy > | compute_B_ijkl_D_df (LCAOFactory< Tile, TA::SparsePolicy > &lcao_factory, TA::SparseShape< float > &shape) |
template<typename Tile > | |
TA::DistArray< Tile, TA::SparsePolicy > | compute_B_ijkl_C (LCAOFactory< Tile, TA::SparsePolicy > &lcao_factory, TA::SparseShape< float > &shape) |
template<typename Tile > | |
TA::DistArray< Tile, TA::SparsePolicy > | compute_B_ijkl_D (LCAOFactory< Tile, TA::SparsePolicy > &lcao_factory, TA::SparseShape< float > &shape) |
template<typename Tile , typename Policy > | |
TA::DistArray< Tile, Policy > | compute_V_iakl_df (LCAOFactory< Tile, Policy > &lcao_factory, bool use_cabs=true, bool pq=true) |
template<typename Tile , typename Policy > | |
TA::DistArray< Tile, Policy > | compute_V_iakl (LCAOFactory< Tile, Policy > &lcao_factory, bool use_cabs=true, bool pq=true) |
template<typename Tile , typename Policy > | |
TA::DistArray< Tile, Policy > | compute_V_ijab_df (LCAOFactory< Tile, Policy > &lcao_factory, bool use_cabs=true, bool reduced_memory=true) |
template<typename Tile , typename Policy > | |
TA::DistArray< Tile, Policy > | compute_V_ijab (LCAOFactory< Tile, Policy > &lcao_factory, bool use_cabs=true) |
template<typename Tile , typename Policy > | |
TA::DistArray< Tile, Policy > | compute_V_ijpq (LCAOFactory< Tile, Policy > &lcao_factory, bool use_cabs=true) |
template<typename Tile , typename Policy > | |
TA::DistArray< Tile, Policy > | compute_C_ijab_df (LCAOFactory< Tile, Policy > &lcao_factory) |
template<typename Tile , typename Policy > | |
TA::DistArray< Tile, Policy > | compute_C_ijab (LCAOFactory< Tile, Policy > &lcao_factory) |
template<typename Tile , typename DirectArray > | |
TA::DistArray< Tile, TA::SparsePolicy > | compute_VT2_ijkl_df_direct (LCAOFactory< Tile, TA::SparsePolicy > &lcao_factory, const TA::DistArray< Tile, TA::SparsePolicy > &t2, const TA::SparseShape< float > &shape, DirectArray direct_array, bool use_cabs=true) |
template<typename Tile > | |
TA::DistArray< Tile, TA::SparsePolicy > | compute_VT2_ijkl_df (LCAOFactory< Tile, TA::SparsePolicy > &lcao_factory, const TA::DistArray< Tile, TA::SparsePolicy > &t2, const TA::SparseShape< float > &shape, bool use_cabs=true, bool reduced_memory=true) |
template<typename Tile > | |
TA::DistArray< Tile, TA::SparsePolicy > | compute_VT2_ijkl (LCAOFactory< Tile, TA::SparsePolicy > &lcao_factory, const TA::DistArray< Tile, TA::SparsePolicy > &t2, const TA::SparseShape< float > &shape, bool use_cabs=true) |
template<typename Tile > | |
TA::DistArray< Tile, TA::SparsePolicy > | compute_VT1_ijkl_df (LCAOFactory< Tile, TA::SparsePolicy > &lcao_factory, const TA::DistArray< Tile, TA::SparsePolicy > &t1, const TA::SparseShape< float > &shape, bool use_cabs=true) |
template<typename Tile > | |
TA::DistArray< Tile, TA::SparsePolicy > | compute_VT1_ijkl (LCAOFactory< Tile, TA::SparsePolicy > &lcao_factory, const TA::DistArray< Tile, TA::SparsePolicy > &t1, const TA::SparseShape< float > &shape, bool use_cabs=true) |
template<typename Tile , typename Policy , typename String > | |
std::tuple< TA::DistArray< Tile, Policy >, TA::DistArray< Tile, Policy > > | VX_pqrs_pqsr (const std::string &target_str, LCAOFactory< Tile, Policy > &lcao_factory, const String &p, const String &q, const String &r, const String &s, bool df=true, bool cabs=true) |
double | basis_to_f12exponent (const std::string &basis_name) |
std::vector< std::pair< double, double > > | ttg_ng_fit (std::size_t n, double zeta) |
std::vector< std::pair< double, double > > | gtg_params_squared (const std::vector< std::pair< double, double >> &pragmas) |
template<bool P1_eq_P2 = false> | |
TiledArray::SparseShape< float > | make_ijij_ijji_shape (const TiledArray::TiledRange &trange) |
computes shape of F12 intermediates in "diagonal" approximation More... | |
template<typename Tile , typename Policy > | |
void | convert_X_ijkl (TiledArray::Array< double, 4, Tile, Policy > &ijkl, const Eigen::MatrixXd &F) |
template<typename Tile , typename Policy > | |
TiledArray::Array< double, 4, Tile, Policy > | convert_C_ijab (TiledArray::Array< double, 4, Tile, Policy > &ijab, const std::size_t n_occ, const std::size_t n_frozen, const Eigen::VectorXd &ens) |
Variables | |
constexpr double | C_ijij = (1. / 2 + 1. / 4) / 2 |
constexpr double | C_ijji = (1. / 2 - 1. / 4) / 2 |
constexpr double | CC_ijij = C_ijij * C_ijij + C_ijji * C_ijji |
constexpr double | CC_ijji = 2 * C_ijij * C_ijji |
constexpr double | C_ijij_bar = 2 * C_ijij - C_ijji |
constexpr double | C_ijji_bar = 2 * C_ijji - C_ijij |
constexpr double | CC_ijij_bar = 2 * CC_ijij - CC_ijji |
constexpr double | CC_ijji_bar = 2 * CC_ijji - CC_ijij |
Function Documentation
◆ basis_to_f12exponent()
double mpqc::lcao::f12::basis_to_f12exponent | ( | const std::string & | basis_name | ) |
◆ compute_B_ijkl_C()
TA::DistArray<Tile, TA::SparsePolicy> mpqc::lcao::f12::compute_B_ijkl_C | ( | LCAOFactory< Tile, TA::SparsePolicy > & | lcao_factory, |
TA::SparseShape< float > & | shape | ||
) |
Evaluates the MP2-F12 B intermediate, , via the approximation C.
- Parameters
-
lcao_factory the LCAO factory [in] shape the SparseShape object used to construct the result
- Returns
- B(i,j,k,l)
◆ compute_B_ijkl_C_df()
TA::DistArray<Tile, TA::SparsePolicy> mpqc::lcao::f12::compute_B_ijkl_C_df | ( | LCAOFactory< Tile, TA::SparsePolicy > & | lcao_factory, |
TA::SparseShape< float > & | shape | ||
) |
Evaluates the MP2-F12 B intermediate, , via the approximation C and density fitting.
- Parameters
-
lcao_factory the LCAO factory [in] shape the SparseShape object used to construct the result
- Returns
- B(i,j,k,l)
◆ compute_B_ijkl_D()
TA::DistArray<Tile, TA::SparsePolicy> mpqc::lcao::f12::compute_B_ijkl_D | ( | LCAOFactory< Tile, TA::SparsePolicy > & | lcao_factory, |
TA::SparseShape< float > & | shape | ||
) |
Evaluates the MP2-F12 B intermediate, , via the approximation D.
- Parameters
-
lcao_factory the LCAO factory [in] shape the SparseShape object used to construct the result
- Returns
- B(i,j,k,l)
◆ compute_B_ijkl_D_df()
TA::DistArray<Tile, TA::SparsePolicy> mpqc::lcao::f12::compute_B_ijkl_D_df | ( | LCAOFactory< Tile, TA::SparsePolicy > & | lcao_factory, |
TA::SparseShape< float > & | shape | ||
) |
Evaluates the MP2-F12 B intermediate, , via the approximation D and density fitting.
- Parameters
-
lcao_factory the LCAO factory [in] shape the SparseShape object used to construct the result
- Returns
- B(i,j,k,l)
◆ compute_B_ijkl_db_df()
TA::DistArray<Tile, TA::SparsePolicy> mpqc::lcao::f12::compute_B_ijkl_db_df | ( | lcao::LCAOFactory< Tile, TA::SparsePolicy > & | lcao_factory, |
TA::SparseShape< float > & | ijkl_shape | ||
) |
◆ compute_C_ijab()
TA::DistArray<Tile, Policy> mpqc::lcao::f12::compute_C_ijab | ( | LCAOFactory< Tile, Policy > & | lcao_factory | ) |
Evaluates the MP2-F12 C intermediate, , via the CABS approach.
- Parameters
-
lcao_factory the LCAO factory
- Returns
- C(i,j,a,b)
◆ compute_C_ijab_df()
TA::DistArray<Tile, Policy> mpqc::lcao::f12::compute_C_ijab_df | ( | LCAOFactory< Tile, Policy > & | lcao_factory | ) |
Evaluates the MP2-F12 C intermediate, , via the CABS approach and density fitting.
- Parameters
-
lcao_factory the LCAO factory
- Returns
- C(i,j,a,b)
◆ compute_V_iakl()
TA::DistArray<Tile, Policy> mpqc::lcao::f12::compute_V_iakl | ( | LCAOFactory< Tile, Policy > & | lcao_factory, |
bool | use_cabs = true , |
||
bool | pq = true |
||
) |
Evaluates the (CC-)F12 V intermediate, , via the CABS approach.
- Parameters
-
lcao_factory the LCAO factory use_cabs if false, will skip the CABS-dependent contributions pq if false, will skip the "pq" contribution
- Returns
- V(i,a,k,l)
◆ compute_V_iakl_df()
TA::DistArray<Tile, Policy> mpqc::lcao::f12::compute_V_iakl_df | ( | LCAOFactory< Tile, Policy > & | lcao_factory, |
bool | use_cabs = true , |
||
bool | pq = true |
||
) |
Evaluates the (CC-)F12 V intermediate, , via the CABS approach and density fitting.
- Parameters
-
lcao_factory the LCAO factory use_cabs if false, will skip the CABS-dependent contributions pq if false, will skip the "pq" contribution
- Returns
- V(i,a,k,l)
◆ compute_V_iaxy_db_df()
TA::DistArray<Tile, Policy> mpqc::lcao::f12::compute_V_iaxy_db_df | ( | lcao::LCAOFactory< Tile, Policy > & | lcao_factory | ) |
◆ compute_V_ijab()
TA::DistArray<Tile, Policy> mpqc::lcao::f12::compute_V_ijab | ( | LCAOFactory< Tile, Policy > & | lcao_factory, |
bool | use_cabs = true |
||
) |
Evaluates the (CC-)F12 V intermediate, , via the CABS approach.
- Parameters
-
lcao_factory the LCAO factory use_cabs if false, will skip the CABS-dependent contributions
- Returns
- V(i,j,a,b)
◆ compute_V_ijab_df()
TA::DistArray<Tile, Policy> mpqc::lcao::f12::compute_V_ijab_df | ( | LCAOFactory< Tile, Policy > & | lcao_factory, |
bool | use_cabs = true , |
||
bool | reduced_memory = true |
||
) |
Evaluates the (CC-)F12 V intermediate, , via the CABS approach and density fitting.
- Parameters
-
lcao_factory the LCAO factory use_cabs if false, will skip the CABS-dependent contributions reduced_memory if true, evaluate abpq and abma' integrals via lazy DF
- Returns
- V(i,j,a,b)
◆ compute_V_ijkl()
TA::DistArray<Tile, TA::SparsePolicy> mpqc::lcao::f12::compute_V_ijkl | ( | LCAOFactory< Tile, TA::SparsePolicy > & | lcao_factory, |
TA::SparseShape< float > & | shape | ||
) |
Evaluates the MP2-F12 V intermediate, , via the CABS approach.
- Parameters
-
lcao_factory the LCAO factory [in] shape the SparseShape object used to construct the result
- Returns
- V(i,j,k,l)
◆ compute_V_ijkl_db_df()
TA::DistArray<Tile, TA::SparsePolicy> mpqc::lcao::f12::compute_V_ijkl_db_df | ( | lcao::LCAOFactory< Tile, TA::SparsePolicy > & | lcao_factory, |
TA::SparseShape< float > & | shape | ||
) |
◆ compute_V_ijkl_df()
TA::DistArray<Tile, TA::SparsePolicy> mpqc::lcao::f12::compute_V_ijkl_df | ( | LCAOFactory< Tile, TA::SparsePolicy > & | lcao_factory, |
TA::SparseShape< float > & | shape | ||
) |
Evaluates the MP2-F12 V intermediate, , via the CABS approach and density fitting.
- Parameters
-
lcao_factory the LCAO factory [in] shape the SparseShape object used to construct the result
- Returns
- V(i,j,k,l)
◆ compute_V_ijpq()
TA::DistArray<Tile, Policy> mpqc::lcao::f12::compute_V_ijpq | ( | LCAOFactory< Tile, Policy > & | lcao_factory, |
bool | use_cabs = true |
||
) |
Evaluates the (CC-)F12 V intermediate, , via the CABS approach.
- Parameters
-
lcao_factory the LCAO factory use_cabs if false, will skip the CABS-dependent contributions
- Returns
- V(i,j,p',q')
◆ compute_V_ixjy_ixyj_db_df()
std::tuple<TA::DistArray<Tile, Policy>, TA::DistArray<Tile, Policy> > mpqc::lcao::f12::compute_V_ixjy_ixyj_db_df | ( | lcao::LCAOFactory< Tile, Policy > & | lcao_factory, |
bool | cabs = true |
||
) |
◆ compute_V_xyab_db_df()
TA::DistArray<Tile, Policy> mpqc::lcao::f12::compute_V_xyab_db_df | ( | lcao::LCAOFactory< Tile, Policy > & | lcao_factory | ) |
◆ compute_VT1_ijkl()
TA::DistArray<Tile, TA::SparsePolicy> mpqc::lcao::f12::compute_VT1_ijkl | ( | LCAOFactory< Tile, TA::SparsePolicy > & | lcao_factory, |
const TA::DistArray< Tile, TA::SparsePolicy > & | t1, | ||
const TA::SparseShape< float > & | shape, | ||
bool | use_cabs = true |
||
) |
Evaluates contraction of the V F12 intermediate with the singles amplitudes, , via the CABS approach.
- Parameters
-
lcao_factory the LCAO factory t1 the singles amplitude shape the SparseShape object used to construct the result use_cabs if false, will skip the CABS-dependent terms
- Returns
- result("i,j,k,l")
◆ compute_VT1_ijkl_db_df()
TA::DistArray<Tile, TA::SparsePolicy> mpqc::lcao::f12::compute_VT1_ijkl_db_df | ( | lcao::LCAOFactory< Tile, TA::SparsePolicy > & | lcao_factory, |
const TA::DistArray< Tile, TA::SparsePolicy > & | t1, | ||
const TA::SparseShape< float > & | ijkl_shape | ||
) |
◆ compute_VT1_ijkl_df()
TA::DistArray<Tile, TA::SparsePolicy> mpqc::lcao::f12::compute_VT1_ijkl_df | ( | LCAOFactory< Tile, TA::SparsePolicy > & | lcao_factory, |
const TA::DistArray< Tile, TA::SparsePolicy > & | t1, | ||
const TA::SparseShape< float > & | shape, | ||
bool | use_cabs = true |
||
) |
Evaluates contraction of the V F12 intermediate with the singles amplitudes, , via the CABS approach and density fitting.
- Parameters
-
lcao_factory the LCAO factory t1 the singles amplitude shape the SparseShape object used to construct the result use_cabs if false, will skip the CABS-dependent terms
- Returns
- result("i,j,k,l")
◆ compute_VT2_ijkl()
TA::DistArray<Tile, TA::SparsePolicy> mpqc::lcao::f12::compute_VT2_ijkl | ( | LCAOFactory< Tile, TA::SparsePolicy > & | lcao_factory, |
const TA::DistArray< Tile, TA::SparsePolicy > & | t2, | ||
const TA::SparseShape< float > & | shape, | ||
bool | use_cabs = true |
||
) |
Evaluates contraction of the V and C F12 intermediates with the doubles amplitudes, , via the CABS approach.
- Parameters
-
lcao_factory the LCAO factory t2 the doubles amplitude shape the SparseShape object used to construct the result use_cabs if false, will skip the CABS-dependent terms
- Returns
- result("i,j,k,l")
◆ compute_VT2_ijkl_db_df()
TA::DistArray<Tile, TA::SparsePolicy> mpqc::lcao::f12::compute_VT2_ijkl_db_df | ( | lcao::LCAOFactory< Tile, TA::SparsePolicy > & | lcao_factory, |
const TA::DistArray< Tile, TA::SparsePolicy > & | t2, | ||
const TA::SparseShape< float > & | ijkl_shape | ||
) |
◆ compute_VT2_ijkl_df()
TA::DistArray<Tile, TA::SparsePolicy> mpqc::lcao::f12::compute_VT2_ijkl_df | ( | LCAOFactory< Tile, TA::SparsePolicy > & | lcao_factory, |
const TA::DistArray< Tile, TA::SparsePolicy > & | t2, | ||
const TA::SparseShape< float > & | shape, | ||
bool | use_cabs = true , |
||
bool | reduced_memory = true |
||
) |
Evaluates contraction of the V and C F12 intermediates with the doubles amplitudes, , via the CABS approach and density fitting.
- Parameters
-
lcao_factory the LCAO factory t2 the doubles amplitude shape the SparseShape object used to construct the result use_cabs if false, will skip the CABS-dependent terms reduced_memory if true, evaluate abpq and abma' integrals via lazy DF
- Returns
- result("i,j,k,l")
◆ compute_VT2_ijkl_df_direct()
TA::DistArray<Tile, TA::SparsePolicy> mpqc::lcao::f12::compute_VT2_ijkl_df_direct | ( | LCAOFactory< Tile, TA::SparsePolicy > & | lcao_factory, |
const TA::DistArray< Tile, TA::SparsePolicy > & | t2, | ||
const TA::SparseShape< float > & | shape, | ||
DirectArray | direct_array, | ||
bool | use_cabs = true |
||
) |
Evaluates contraction of the V and C F12 intermediates with the doubles amplitudes, , via the CABS approach, density fitting, and direct evaluation of 2-electron Coulomb integral
- Parameters
-
lcao_factory the LCAO factory t2 the doubles amplitude shape the SparseShape object used to construct the result direct_array direct 2-e Coulomb integral tensor use_cabs if false, will skip the CABS-dependent terms
- Returns
- result("i,j,k,l")
◆ compute_X_ijkl()
TA::DistArray<Tile, TA::SparsePolicy> mpqc::lcao::f12::compute_X_ijkl | ( | LCAOFactory< Tile, TA::SparsePolicy > & | lcao_factory, |
TA::SparseShape< float > & | ijkl_shape | ||
) |
Evaluates the MP2-F12 V intermediate, , via the CABS approach.
- Parameters
-
lcao_factory the LCAO factory [in] shape the SparseShape object used to construct the result
- Returns
- X(i,j,k,l)
◆ compute_X_ijkl_db_df()
TA::DistArray<Tile, TA::SparsePolicy> mpqc::lcao::f12::compute_X_ijkl_db_df | ( | lcao::LCAOFactory< Tile, TA::SparsePolicy > & | lcao_factory, |
TA::SparseShape< float > & | ijkl_shape | ||
) |
◆ compute_X_ijkl_df()
TA::DistArray<Tile, TA::SparsePolicy> mpqc::lcao::f12::compute_X_ijkl_df | ( | LCAOFactory< Tile, TA::SparsePolicy > & | lcao_factory, |
TA::SparseShape< float > & | ijkl_shape | ||
) |
Evaluates the MP2-F12 X intermediate, , via the CABS approach and density fitting.
- Parameters
-
lcao_factory the LCAO factory [in] shape the SparseShape object used to construct the result
- Returns
- X(i,j,k,l)
◆ convert_C_ijab()
TiledArray::Array<double, 4, Tile, Policy> mpqc::lcao::f12::convert_C_ijab | ( | TiledArray::Array< double, 4, Tile, Policy > & | ijab, |
const std::size_t | n_occ, | ||
const std::size_t | n_frozen, | ||
const Eigen::VectorXd & | ens | ||
) |
◆ convert_X_ijkl()
void mpqc::lcao::f12::convert_X_ijkl | ( | TiledArray::Array< double, 4, Tile, Policy > & | ijkl, |
const Eigen::MatrixXd & | F | ||
) |
◆ gtg_params_squared()
std::vector<std::pair<double, double> > mpqc::lcao::f12::gtg_params_squared | ( | const std::vector< std::pair< double, double >> & | pragmas | ) |
◆ make_ijij_ijji_shape()
TiledArray::SparseShape<float> mpqc::lcao::f12::make_ijij_ijji_shape | ( | const TiledArray::TiledRange & | trange | ) |
computes shape of F12 intermediates in "diagonal" approximation
F12 theory contains several intermediates which in the diagonal form are sparse: only elements and of the intermediate must be computed. Therefore only shape elements [i,j,i,j] and [i,j,j,i] are needed.
- Template Parameters
-
P1_eq_P2 if true
, restrict i <= j
- Note
- make sure the occ is blocked by 1! TODO must rewrite intermediate expressions to support P1_eq_P2==true, e.g. <ij|ma'><ma'|r|ij> term must become <ij|ma'><ma'|r|ij> + <ij|a'm><a'm|r|ij>
◆ ttg_ng_fit()
std::vector< std::pair< double, double > > mpqc::lcao::f12::ttg_ng_fit | ( | std::size_t | n, |
double | zeta | ||
) |
◆ VX_pqrs_pqsr()
std::tuple<TA::DistArray<Tile, Policy>, TA::DistArray<Tile, Policy> > mpqc::lcao::f12::VX_pqrs_pqsr | ( | const std::string & | target_str, |
LCAOFactory< Tile, Policy > & | lcao_factory, | ||
const String & | p, | ||
const String & | q, | ||
const String & | r, | ||
const String & | s, | ||
bool | df = true , |
||
bool | cabs = true |
||
) |
the DF-based builder for the F12 intermediates V (or X). The V intermediate is defined as and , and the X intermediate is obtained from these expressions by replacement . If p
refers to the same space as q
or r
refers to the same space as s
, the two tensors are equivalent and only the former is computed.
- Template Parameters
-
String any string type (e.g., std::basic_string and char[])
- Parameters
-
target_str std::string, the only valid vales are "V" or "X" lcao_factory the LCAO factory p an OrbitalIndex key (must be known to lcao_factory
)q an OrbitalIndex key (must be known to lcao_factory
)r an OrbitalIndex key (must be known to lcao_factory
)s an OrbitalIndex key (must be known to lcao_factory
)df if true
, use density fitting (df=false
is not yet supported)cabs if false
, skip the CABS contributions; the default value istrue
- Returns
std::tuple
with V("p,q,r,s") and V("p,q,s,r"); the latter is empty ifp
refers to the same space asq
orr
refers to the same space ass
.
Variable Documentation
◆ C_ijij
|
constexpr |
◆ C_ijij_bar
◆ C_ijji
|
constexpr |