# gen_ab_cum_list_ueg Subroutine

## private subroutine gen_ab_cum_list_ueg(ilut, csf_i, occ_orbs, cum_arr, excit_arr, orb_arr)

### Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut(0:nifguga)
type(CSF_Info_t), intent(in) :: csf_i
integer, intent(in) :: occ_orbs(2)
real(kind=dp), intent(out) :: cum_arr(nSpatOrbs)
type(ExcitationInformation_t), intent(out) :: excit_arr(nBasis)
integer, intent(out) :: orb_arr(nSpatOrbs)

## Source Code

    subroutine gen_ab_cum_list_ueg(ilut, csf_i, occ_orbs, cum_arr, excit_arr, orb_arr)
! create the cummulative probability array for (ab) orbital pairs
! in the hubbard/UEG case with k-point symmetry
integer(n_int), intent(in) :: ilut(0:nifguga)
type(CSF_Info_t), intent(in) :: csf_i
integer, intent(in) :: occ_orbs(2)
real(dp), intent(out) :: cum_arr(nSpatOrbs)
integer, intent(out) :: orb_arr(nSpatOrbs)
type(ExcitationInformation_t), intent(out) :: excit_arr(nBasis)

! determine the GUGA restrictions:
if (is_in_pair(occ_orbs(1), occ_orbs(2))) then
call gen_ab_cum_list_3(csf_i, occ_orbs, cum_arr, excit_arr, orb_arr)

else
! determine the different types
! actually, due to ki + kj = ka + kb k-point symmetry the
! 3 3, 3 1, and 1 3 cases are actually the same!
! and no pesky full-stop mixed or full-start mixed are allowed in
! the hubbard model!