Function uw12::integrals::transformations::transform_first_index

Function Documentation

inline linalg::Mat uw12::integrals::transformations::transform_first_index(const linalg::Mat &J3, const linalg::Mat &C)

Transform first index of a three-index density-fitting integrals object from the ao basis using orbital matrix C.

Transform the first index of the matrix J3 of three-index density-fitting integrals \((\mu k| A)\) for ao index \(\mu\) to orbitals i in mo space resulting in a matrix of three-index integrals \((i k | A)\) for df index A.

The density-fitting integrals J3 are in matrix form with n_ao * n2 rows and n3 columns. The orbital coefficient matrix C should be of size n_ao * n_i for number of ao basis functions n_ao and number of i orbitals n_i. The resulting matrix is of size (n_i * n2) * n3.

No restriction is placed on size of n2 and n3 so may relate to any orbitals space. Unlike mo_transform_one_index_full, each column in J3 is a full matrix vectorised rather than the lower trianglar part of a symmetric matrix.

Parameters
  • J3 – Three-index density-fitting integrals \((\mu k|A)\)

  • C – Orbital coefficients \(C_{\mu i}\)

Returns

First-index mo transformed df integrals \((i k|A)\)