occ
Loading...
Searching...
No Matches
thc.h File Reference
#include <occ/core/linear_algebra.h>
#include <occ/gto/shell.h>
#include <occ/numint/grid_settings.h>
#include <occ/qm/integral_engine.h>
#include <occ/qm/mo.h>
#include <unsupported/Eigen/CXX11/Tensor>
#include <vector>
Include dependency graph for thc.h:
This graph shows which files directly or indirectly include this file:

Classes

struct  occ::qm::cc::ThcOptions
 
struct  occ::qm::cc::ThcFactors
 THC factors for the spatial MOs: (pq|rs) ~ sum_PQ X(p,P) X(q,P) V(P,Q) X(r,Q) X(s,Q). More...
 
struct  occ::qm::cc::UThcFactors
 Cross-spin THC factors for unrestricted CCSD. More...
 

Namespaces

namespace  occ
 
namespace  occ::qm
 quantum mechanics/quantum chemistry functionality including Hartree-Fock and more
 
namespace  occ::qm::cc
 

Enumerations

enum class  occ::qm::cc::IsdfMethod { occ::qm::cc::QR , occ::qm::cc::Cholesky }
 Interpolation-point selection for ISDF. More...
 
enum class  occ::qm::cc::ThcRegType { occ::qm::cc::Eig , occ::qm::cc::Tikhonov }
 Regularisation of the (ill-conditioned) LS-THC metric inverse. More...
 
enum class  occ::qm::cc::ThcSelectBasis { occ::qm::cc::AO , occ::qm::cc::MO }
 Which functions' products the interpolation points must span. More...
 

Functions

ThcFactors occ::qm::cc::build_thc (const AOBasis &basis, const AOBasis &aux_basis, const MolecularOrbitals &mo, const ThcOptions &opts={})
 Build THC factors (X, V) for the spatial MOs of mo.
 
ThcFactors occ::qm::cc::build_thc_from_B (const AOBasis &basis, const MolecularOrbitals &mo, const ThcOptions &opts, const Mat &B)
 As build_thc, but using a precomputed metric-folded DF reference tensor B (nmo^2 x naux, row p*nmo+q).
 
UThcFactors occ::qm::cc::build_uthc (const AOBasis &basis, const Mat &Ca, const Mat &Cb, const Mat &Ba, const Mat &Bb, const ThcOptions &opts)
 
std::vector< int > occ::qm::cc::select_isdf_points (const Mat &coll, IsdfMethod method, int target, double tol)
 Indices of interpolation grid points spanning products of the columns of coll (npts x nfunc).
 
Mat occ::qm::cc::thc_select_collocation (const AOBasis &basis, const MolecularOrbitals &mo, const ThcOptions &opts)
 Point-selection half of build_thc: select ISDF interpolation points (AO- or MO-based per opts.select_basis, geometry-only) and return the MO collocation X (nmo x n_isdf) = MO value at each selected point.
 
Mat occ::qm::cc::fit_core (const Mat &X, const Mat &B, double reg, ThcRegType reg_type, double *condition_out=nullptr, int *n_kept_out=nullptr)
 Regularised least-squares THC core fit.
 
Mat occ::qm::cc::fit_core_ov (const Mat &Xo, const Mat &Xv, const Mat &B_ov, double reg, ThcRegType reg_type, double *condition_out=nullptr, int *n_kept_out=nullptr)
 LS-THC core fit restricted to the occupied-virtual block – the only integrals MP2 needs.
 
Eigen::Tensor< double, 4 > occ::qm::cc::reconstruct_eri (const Mat &X, const Mat &V)
 THC-reconstructed chemist integrals (pq|rs) as a dense nmo^4 tensor (testing).
 
Eigen::Tensor< double, 4 > occ::qm::cc::mo_eri_general (const IntegralEngine &engine, const Mat &C_L, const Mat &C_q, const Mat &C_r, const Mat &C_s, size_t budget=(size_t(1)<< 28))
 Semidirect AO->MO transform (chemist (pq|rs)) for arbitrary MO coefficient blocks.
 
double occ::qm::cc::reconstruction_error (const AOBasis &basis, const MolecularOrbitals &mo, const Mat &X, const Mat &V)
 Relative Frobenius error of the THC-reconstructed MO integrals vs exact.