qat.fermion.chemistry.ucc.select_active_orbitals

qat.fermion.chemistry.ucc.select_active_orbitals(noons: List[float], n_electrons: int, threshold_1: Optional[float] = 0.02, threshold_2: Optional[float] = 0.001) Tuple[List[int], List[int]]

Selects the right active space and freezes core electrons according to their NOONs.

This function is an implementation of the Complete Active Space (CAS) approach. It divides orbital space into sets of active and inactive orbitals, the occupation number of the latter remaining unchanged during the computation.

Parameters
  • noons (np.ndarray) – The natural orbital occupation numbers in descending order (from high occupations to low occupations)

  • n_electrons (int) – The number of electrons.

  • threshold_1 (Optional[float]) – The upper threshold \(\varepsilon_1\) on the NOON of an active orbital. Defaults to 0.02.

  • threshold_2 (Optional[float]) – The lower threshold \(\varepsilon_2\) on the NOON of an active orbital. Defaults to 0.001.

Returns

  • active_so (List[int]): The list of active spatial orbitals.

  • inactive_occupied_so (List[int]): The list of core spatial orbitals.

Return type

Tuple[List[int], List[int]]