| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=dp), | intent(inout) | :: | w(:) |
pure subroutine apply_lower_bound(w) ! even if some excitation is not possible in the reference frame, it might be in the ! current determinant, so we enforce a minimum value on the probabilities ! Input/Output: w - on input, list of probabilities ! - on output, same list with a minimal value enforced implicit none real(dp), intent(inout) :: w(:) real(dp) :: mVal integer :: i mVal = 0.001 * minVal(w, w > eps) do i = 1, size(w) w(i) = max(w(i), mVal) end do end subroutine apply_lower_bound