10
0
mirror of https://github.com/QuantumPackage/qp2.git synced 2024-12-23 04:43:45 +01:00

complex print_hamiltonian

This commit is contained in:
Kevin Gasperich 2020-07-10 14:07:53 -05:00
parent 46fcc0116f
commit c8f7f7b037

View File

@ -9,7 +9,11 @@ program print_hamiltonian
! psi_coef_sorted are the wave function stored in the |EZFIO| directory. ! psi_coef_sorted are the wave function stored in the |EZFIO| directory.
read_wf = .True. read_wf = .True.
touch read_wf touch read_wf
call run if (is_complex) then
call run_complex
else
call run
endif
end end
subroutine run subroutine run
@ -27,3 +31,42 @@ subroutine run
enddo enddo
end end
subroutine run_complex
implicit none
integer :: i, j
complex*16 :: hij
double precision :: s2
print*,'i,j,Hij'
do j=1,N_det
do i=1,N_det
call i_h_j_complex(psi_det(1,1,i), psi_det(1,1,j), N_int, hij)
if (cdabs(hij) > 1.d-20) then
print *, i, j, dble(hij), dimag(hij)
endif
enddo
enddo
print*,'i,j,S2ij'
do j=1,N_det
do i=1,N_det
call get_s2(psi_det(1,1,i), psi_det(1,1,j), N_int, s2)
if (dabs(s2) > 1.d-20) then
print *, i, j, s2
endif
enddo
enddo
! use bitmasks
integer :: degree
print*,'i,j,degij'
do j=1,N_det
do i=1,N_det
call get_excitation_degree(psi_det(1,1,i), psi_det(1,1,j), degree, N_int)
if (degree.le.2) then
print *, i, j, degree
endif
enddo
enddo
end