quemb.molbe.eri_sparse_DF.get_sparse_D_ints_and_coeffs

quemb.molbe.eri_sparse_DF.get_sparse_D_ints_and_coeffs(mol, auxmol, screening_radius=None)

Return the 3-center 2-electron integrals and fitting coefficients in a semi-sparse format for the AO basis

One can obtain g[p, q, r, s] == ints_3c2e[p, q] @ df_coef[r, s].

The datastructures use sparsity in the p, q and in the r, s pairs but the dimension along the auxiliary basis is densely stored.

Parameters:
  • mol (Mole) – The molecule.

  • auxmol (Mole) – The molecule with auxiliary basis functions.

  • screening_radius (int | float | floating | Callable[[int | float | floating], int | float | floating] | Mapping[str, int | float | floating] | None) – The screening cutoff is given by the overlap of van der Waals radii. By default, the radii are determined by find_screening_radius(). Alternatively, a fixed radius, callable or a dictionary can be passed. The callable is called with the tabulated van der Waals radius of the atom as argument and can be used to scale it up. The dictionary can be used to define different van der Waals radii for different elements. Compare to the modify_element_data argument of get_bonds().

Return type:

tuple[SemiSparseSym3DTensor, SemiSparseSym3DTensor]