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