TestInitiator_ilut Function

public function TestInitiator_ilut(ilut, site_idx, is_init, run) result(initiator)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(inout) :: ilut(0:NIfTot)
integer, intent(in) :: site_idx
logical, intent(in) :: is_init
integer, intent(in) :: run

Return Value logical


Contents

Source Code


Source Code

    function TestInitiator_ilut(ilut, site_idx, is_init, run) result(initiator)

        integer(n_int), intent(inout) :: ilut(0:NIfTot)
        integer, intent(in) :: run, site_idx
        logical, intent(in) :: is_init
        integer :: nI(nel), exLvl
        real(dp) :: sgn(lenof_sign)
        logical :: initiator

        exLvl = FindBitExcitLevel(ilut, ilutRef(:, run), t_hphf_ic=.true.)
        call decode_bit_det(nI, ilut)
        call extract_sign(ilut, sgn)

        if (tPureInitiatorSpace) then
            initiator = TestInitiator_pure_space(ilut, nI, site_idx, is_init, run)
        else
            initiator = TestInitiator_explicit(ilut, nI, site_idx, is_init, sgn, exLvl, run)
        end if

    end function TestInitiator_ilut