conjugate_rdm_ind_scalar Function

private pure function conjugate_rdm_ind_scalar(rdm_ind, order) result(conj_rdm_ind)

Arguments

Type IntentOptional Attributes Name
integer(kind=int_rdm), intent(in) :: rdm_ind
integer, intent(in) :: order

Return Value integer(kind=int_rdm)


Contents


Source Code

    pure function conjugate_rdm_ind_scalar(rdm_ind, order) result(conj_rdm_ind)
        integer(int_rdm), intent(in) :: rdm_ind
        integer, intent(in) :: order
        integer(int_rdm) :: conj_rdm_ind

        integer :: i, j, k, l

        if (order == 1) then
            call extract_1_rdm_ind(rdm_ind, i, j)
            conj_rdm_ind = contract_1_rdm_ind(j, i)
        else if (order == 2) then
            call extract_2_rdm_ind(rdm_ind, i, j, k, l)
            conj_rdm_ind = contract_2_rdm_ind(k, l, i, j)
        end if

    end function conjugate_rdm_ind_scalar