create_hamiltonian_guga Function

public function create_hamiltonian_guga(ilut_list) result(hamil)

Arguments

Type IntentOptional Attributes Name
integer(kind=n_int), intent(in) :: ilut_list(:,:)

Return Value real(kind=dp), (size(ilut_list,2),size(ilut_list,2))


Contents


Source Code

    function create_hamiltonian_guga(ilut_list) result(hamil)
        integer(n_int), intent(in) :: ilut_list(:,:)
        HElement_t(dp) :: hamil(size(ilut_list,2), size(ilut_list,2))

        type(CSF_Info_t) :: csf_i, csf_j
        integer :: i, j

        do i = 1, size(ilut_list,2)
            csf_i = CSF_Info_t(ilut_list(:, i))
            do j = 1, size(ilut_list,2)
                csf_j = CSF_Info_t(ilut_list(:, j))
                hamil(i,j) = calc_guga_mat_wrapper(ilut_list(:, j), csf_j, ilut_list(:,i), csf_i)
            end do
        end do

    end function create_hamiltonian_guga