qat.fermion.chemistry.ucc.transform_integrals_to_new_basis

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

Change one and two body integrals (indices p, q…) to new basis (indices i, j…) using transformation U such that

\[\hat{c}_{i}=\sum_{q}U_{qi}c_{q}\]

i.e

\[\hat{I}_{ij} =\sum_{pq}U_{pi}I_{pq}U_{jq}^{\dagger} \hat{I}_{ijkl}=\sum_{pqrs}U_{pi}U_{qj}I_{pqrs}U_{kr}^{\dagger}U_{ls}^{\dagger}\]
Parameters
  • one_body_integrals (np.ndarray) – One-body integrals \(I_{pq}\).

  • two_body_integrals (np.ndarray) – Two-body integrals \(I_{pqrs}\).

  • u_mat (np.ndarray) – Transformation matrix \(U\).

Returns

  • h_hat_ij (np.ndarray): One-body integrals \(\hat{I}_{ij}\).

  • h_hat_ijkl (np.ndarray): Two-body integrals \(\hat{I}_{ijkl}\).

Return type

Tuple[np.ndarray, np.ndarray]