pure function lMatIndSymBroken(a, b, c, i, j, k) result(index)
! broken-symmetry index function that operates on LMat without permutational
! symmetry between ai, bj, ck
! A 6-fold symmetry remains: swapping of a<->i, b<->j and c<->k
! Input: a,b,c - orbital indices of electrons
! i,j,k - orbital indices of holes
! Output: index - contiguous index I(a,b,c,i,j,k) with the aforementioned symmetry
integer(int64), value, intent(in) :: a, b, c ! occupied orb indices
integer(int64), value, intent(in) :: i, j, k ! unoccupied orb
integer(int64) :: index
integer(int64) :: ai, bj, ck
ai = fuseIndex(a, i)
bj = fuseIndex(b, j)
ck = fuseIndex(c, k)
index = ai + strideInner * bj + strideOuter * ck
end function lMatIndSymBroken