Function sequant::mbpt::tensor_hypercontract

Function Documentation

ExprPtr sequant::mbpt::tensor_hypercontract(ExprPtr const &expr, IndexSpace aux_space, std::wstring_view tensor_label, std::wstring_view outer_factor_label, std::wstring_view core_tensor_label)

Factorizes 2-particle tensors into five rank-2 tensors using the `tensor hypercontraction’ topology (see DOI 10.1063/1.4732310; also see DOI 10.1021/acs.jctc.0c01310 for discussion in the context of related pseudospectral and CP factorizations). Namely, \( g_{b_1 b_2}^{k_1 k_2} \) is factorized into \( B_{b_1}[r_1] B^{k_1}[r_1] B_{b_2}[r_2] B^{k_2}[r_2] C[r_1,r_2] \)

Parameters:
  • expr – The expression to be tensor-hyper-contracted.

  • aux_space – The index space representing the auxiliary indices ( \( r_1, r_2 \) in the example above) introduced through the decomposition.

  • tensor_label – The label of the tensor that shall be decomposed

  • outer_factor_label – The label of the outer factor tensors ( \( B \) in the example above).

  • core_tensor_label – The label of the core tensor ( \( C \) in the example above).