fill_sings_1rdm_guga Subroutine

public subroutine fill_sings_1rdm_guga(one_rdms, sign_i, sign_j, mat_ele, rdm_ind)

Arguments

Type IntentOptional Attributes Name
type(one_rdm_t), intent(inout) :: one_rdms(:)
real(kind=dp), intent(in) :: sign_i(:)
real(kind=dp), intent(in) :: sign_j(:)
real(kind=dp), intent(in) :: mat_ele
integer(kind=int_rdm), intent(in) :: rdm_ind

Contents

Source Code


Source Code

    subroutine fill_sings_1rdm_guga(one_rdms, sign_i, sign_j, mat_ele, rdm_ind)
        type(one_rdm_t), intent(inout) :: one_rdms(:)
        real(dp), intent(in) :: sign_i(:), sign_j(:), mat_ele
        integer(int_rdm), intent(in) :: rdm_ind

        integer :: i, a, ind_i, ind_a, irdm

        call extract_1_rdm_ind(rdm_ind, i, a)

        ind_i = SymLabelListInv_rot(i)
        ind_a = SymLabelListInv_rot(a)

        do irdm = 1, size(one_rdms)

            one_rdms(irdm)%matrix(ind_i, ind_a) = one_rdms(irdm)%matrix(ind_i, ind_a) &
                                                  + sign_i(irdm) * sign_j(irdm) * mat_ele

        end do

    end subroutine fill_sings_1rdm_guga