print_sym_labeled Subroutine

public subroutine print_sym_labeled(d, n, basis)

Uses

  • proc~~print_sym_labeled~~UsesGraph proc~print_sym_labeled print_sym_labeled module~basis_tools basis_tools proc~print_sym_labeled->module~basis_tools module~io_constants io_constants proc~print_sym_labeled->module~io_constants module~precision precision proc~print_sym_labeled->module~precision module~basis_tools->module~io_constants module~basis_tools->module~precision iso_fortran_env iso_fortran_env module~basis_tools->iso_fortran_env module~atomic_structure_m atomic_structure_m module~basis_tools->module~atomic_structure_m module~constants constants module~basis_tools->module~constants module~parallel parallel module~basis_tools->module~parallel module~precision->iso_fortran_env iso_c_binding iso_c_binding module~atomic_structure_m->iso_c_binding module~constants->module~precision module~parallel->module~precision module~parallel->iso_fortran_env module~parallel->iso_c_binding mpi mpi module~parallel->mpi

@brief Print symmetric packed matrix d of dimension n @detail The rows will be labeled with basis function tags

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in) :: d(*)
integer, intent(in) :: n
type(basis_set), intent(in) :: basis

Calls

proc~~print_sym_labeled~~CallsGraph proc~print_sym_labeled print_sym_labeled none~bf_label basis_set%bf_label proc~print_sym_labeled->none~bf_label

Called by

proc~~print_sym_labeled~~CalledByGraph proc~print_sym_labeled print_sym_labeled proc~int1e int1e proc~int1e->proc~print_sym_labeled proc~omp_hst omp_hst proc~int1e->proc~omp_hst proc~multipole_integrals multipole_integrals proc~multipole_integrals->proc~print_sym_labeled proc~omp_hst->proc~print_sym_labeled proc~electric_moments electric_moments proc~electric_moments->proc~multipole_integrals proc~get_td_transition_dipole get_td_transition_dipole proc~get_td_transition_dipole->proc~multipole_integrals proc~get_transition_dipole get_transition_dipole proc~get_transition_dipole->proc~multipole_integrals proc~tdhf_energy tdhf_energy proc~tdhf_energy->proc~get_td_transition_dipole proc~tdhf_mrsf_energy tdhf_mrsf_energy proc~tdhf_mrsf_energy->proc~get_transition_dipole proc~tdhf_sf_energy tdhf_sf_energy proc~tdhf_sf_energy->proc~get_transition_dipole proc~tdhf_energy_c tdhf_energy_C proc~tdhf_energy_c->proc~tdhf_energy proc~tdhf_mrsf_energy_c tdhf_mrsf_energy_C proc~tdhf_mrsf_energy_c->proc~tdhf_mrsf_energy proc~tdhf_sf_energy_c tdhf_sf_energy_C proc~tdhf_sf_energy_c->proc~tdhf_sf_energy

Source Code

  subroutine print_sym_labeled(d, n, basis)
    use precision, only: dp
    use io_constants, only: iw
    use basis_tools, only: basis_set

    implicit none

    real(kind=dp), intent(in) :: d(*)
    integer, intent(in) :: n
    type(basis_set), intent(in) :: basis

    integer, parameter :: maxcolumns = 5
    integer :: i0, ila, i, j0, j1

    do i0 = 1, n, maxcolumns
      write(iw, '(/,15x,*(4x,i4,3x))') (i, i=i0, min(n, i0+maxcolumns-1))
      write(iw,'(G0)')
      ila = 0
      do i = i0, n
        j0 = i0 + i*(i-1)/2
        j1 = j0 + min(ila, maxcolumns-1)
        write (iw,'(i5,2x,a8,*(f11.6))') i, basis%bf_label(i), d(j0:j1)
        ila = ila + 1
      end do
    end do
  end subroutine print_sym_labeled