qat.fermion.chemistry.ucc.convert_to_h_integrals

qat.fermion.chemistry.ucc.convert_to_h_integrals(one_body_integrals: ndarray, two_body_integrals: ndarray) Tuple[ndarray, ndarray]

Convert from \(I_{uv},I_{uvwx}\) to \(h_{pq},h_{pqrs}\), with

\[ \begin{align}\begin{aligned}h_{u\sigma, v\sigma'} = I_{u, v} \delta_{\sigma, \sigma'}\\h_{u\sigma_1, v\sigma_2, w\sigma_2', x\sigma_1'} = I_{uvwx} \left((1-\delta_{\sigma,\sigma'}) + \delta_{\sigma,\sigma'} (1-\delta_{u,v})(1-\delta_{w,x}) \right)\end{aligned}\end{align} \]

and where the one- and two-body integrals are defined as:

\[I_{uv}\equiv(u|h|v)=\int\mathrm{d}r\phi_{u}^{*}(r)T\phi_{v}(r)\]
\[I_{uvwx}\equiv(ux|vw)=\iint\mathrm{d}r_{1}\mathrm{d}r_{2}\phi_{u}^{*}(r_{1})\phi_{x}(r_{1})v(r_{12})\phi_{v}^{*}(r_{2})\phi_{w}(r_{2})\]

with \(T\) (resp. \(v\)) the one- (resp. two-) body potentials, and \(\phi_u(r)\) is the molecular orbital wavefunction.

The \(h\) integrals are used to construct hamiltonians of the ElectronicStructureHamiltonian type.

Parameters
  • one_body_integrals (np.ndarray) – Array of one-body integrals \(I_{uv}\). Must be 2D.

  • two_body_integrals (np.ndarray) – Array of two-body integrals \(I_{uvwx}\). Must be 4D.

Returns

  • the \(h_{pq}\) integrals,

  • the \(h_{pqrs}\) integrals.

Return type

Tuple[np.ndarray, np.ndarray]