anchor.diff:              ! label an excitor), the probability of selecting a given cluster is
               ! proportional to the number of ways the cluster could have been
               ! formed.  (One can view this factorial contribution as the
  -            ! factorial prefactors in the series expansion of e^T.)
  +            ! factorial prefactors in the series expansion of e^T---see Eq (8)
  +            ! in the module-level comments.)
               cluster%pselect = cluster%pselect*factorial(cluster%nexcitors)
   
               if (cluster_population /= 0) cluster%excitation_level = get_excitation_level(f0, cdet%f)
  
positive.code: ! CCMC
  ! ====
  !
  ! Analogue with FCIQMC
  ! --------------------
  !
  ! In FCIQMC we essentially use first-order finite-difference approximation to the
  ! imaginary-time Schroedinger equation::
  !
  !     c_i(t+dt) = c_i(t) - < D_i | H - S | \Psi(t) > dt  (1)
  !
  ! where::
  !
  !     \Psi(t) = \sum_j c_j(t) | D_j >.  (2)
  !
  ! CCMC involves propogating a very similar equation::
  !
  !     < D_i | a_i D_0 > t_i(t+dt) = < D_i | a_i D_0 > t_i(t) - < D_i | H - S | \Psi_{CC}(t) > dt  (3)
  !
  ! where::
  !
  !     \Psi_{CC}(t) = e^{T(t)} | D_0 >,  (4)
  !
  ! and::
  !
  !     e^{T(t)} = 1 + \sum_i t_i(t) a_i + 1/2! \sum_{ij} t_i(t) t_j(t) a_i a_j + ...  (5)
  !
  ! The operators, {a_i}, known as excitors, cause electrons to be excited from
  ! occupied orbitals in the reference determinant to virtual orbitals and have
  ! corresponding amplitudes, {t_i}, which evolve in time.  In the infinite-time
  ! limit, the amplitudes converge onto the true CC wavefunction.
  !
  ! Note that, depending upon the definition of a_i, < D_i | a_i D_0 > can be
  ! either +1 or -1.  Alex Thom defines a_i such that this term is always +1 in his
  ! CCMC papers but this definition is not convenient for computation.  See
  ! comments in collapse_cluster and convert_excitor_to_determinant.
  !
  ! We can only handle uniquely defined excitors, i.e. we consider t_{ij}^{ab} and
  ! t_{ji}^{ba} to be one entity (where, unlike the above notation in terms of
  ! determinants, the indices refer to spin-orbitals).  This is fine as
  ! t_{ij}^{ab} a_{ij}^{ab} = t_{ji}^{ba} a_{ji}^{ba}.  (I apologise for using a in
  ! two different senses...)  As a consequence, we must be very careful with the
  ! above expansion in (5).  Returning to the notation where the indices label
  ! a excitor/determinant, we can simplify (5) such that each unique cluster only
  ! occurs once::
  !
  !     e^{T(t)} = 1 + \sum_i t_i(t) a_i + \sum_{i<j} t_i(t) t_j(t) a_i a_j
  !                  + \sum_{i<j<k} t_i(t) t_j(t) t_k(t) a_i a_j a_k + ....     (6)
  !
  ! Alternatively, as pointed out by Trygve Helgaker, one can consider::
  !
  !     e^{T(t)} = e^{t_i(t) a_i} e^{t_j(t) a_j} e^{t_k(t) a_k} ...             (7)
  !              = (1+t_i(t) a_i) (1+t_j(t) a_j) (1+t_k(t) a_k) ...             (8)
  !
  ! which expands out to (6) and uses the property that a_i a_i = 0.
  !
  ! Normalisation
  ! -------------
  
negative.code: !
  ! The CC wavefunction can be sampled by selected a random cluster of excitors.
  ! Applying this cluster to the reference determinant generates a determinant,
  ! D_I.  The action of the Hamiltonian is sampled in an identical fashion to
  ! FCIQMC:
  !
  ! #. Generate D_J, a random (single or double) excitation of D_I.  Create a new
  !    particle on D_J with a probability proportional to |H_{IJ}| dt.
  ! #. Create a particle on D_I with a probability proportional to |H_{II}-S| dt.
  !
  ! As with FCIQMC, because we do not allow every possible event to take place each
  ! iteration, the probabilities must be weighted accordingly by the probability
  