@brief Print symmetric packed matrix d
of dimension n
@detail The rows will be labeled with basis function tags
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=dp), | intent(in) | :: | d(*) | |||
integer, | intent(in) | :: | n | |||
type(basis_set), | intent(in) | :: | basis |
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