From 7145a7d916782dc192f7c2d504684cfa035df446 Mon Sep 17 00:00:00 2001 From: Kevin Gasperich Date: Fri, 6 Mar 2020 09:00:30 -0600 Subject: [PATCH] fixed wrong types --- src/davidson/diagonalize_ci.irp.f | 9 +++++---- src/determinants/slater_rules.irp.f | 2 +- src/mo_two_e_ints/map_integrals_cplx.irp.f | 2 +- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/davidson/diagonalize_ci.irp.f b/src/davidson/diagonalize_ci.irp.f index 13152fdd..740640c3 100644 --- a/src/davidson/diagonalize_ci.irp.f +++ b/src/davidson/diagonalize_ci.irp.f @@ -312,8 +312,8 @@ END_PROVIDER do j=1,N_det H_prime(j,j) = H_prime(j,j) + alpha*(s_z2_sz - expected_s2) enddo - call lapack_diag(eigenvalues,eigenvectors,H_prime,size(H_prime,1),N_det) - ci_electronic_energy_complex(:) = 0.d0 + call lapack_diag_complex(eigenvalues,eigenvectors,H_prime,size(H_prime,1),N_det) + ci_electronic_energy_complex(:) = (0.d0,0.d0) i_state = 0 allocate (s2_eigvalues(N_det)) allocate(index_good_state_array(N_det),good_state_array(N_det)) @@ -399,9 +399,10 @@ END_PROVIDER ci_electronic_energy_complex(k) = 0.d0 do j=1,N_det do i=1,N_det + !todo: accumulate imag parts to test? (should sum to zero) ci_electronic_energy_complex(k) += & - ci_eigenvectors_complex(i,k) * ci_eigenvectors_complex(j,k) * & - H_matrix_all_dets_complex(i,j) + dble(dconjg(ci_eigenvectors_complex(i,k)) * ci_eigenvectors_complex(j,k) * & + H_matrix_all_dets_complex(i,j)) enddo enddo enddo diff --git a/src/determinants/slater_rules.irp.f b/src/determinants/slater_rules.irp.f index be82516a..29bd8b23 100644 --- a/src/determinants/slater_rules.irp.f +++ b/src/determinants/slater_rules.irp.f @@ -2522,7 +2522,7 @@ subroutine i_H_j_verbose_complex(key_i,key_j,Nint,hij,hmono,hdouble,phase) double precision :: diag_H_mat_elem integer :: n_occ_ab(2) logical :: has_mipi(Nint*bit_kind_size) - double precision :: mipi(Nint*bit_kind_size), miip(Nint*bit_kind_size) + complex*16 :: mipi(Nint*bit_kind_size), miip(Nint*bit_kind_size) PROVIDE mo_two_e_integrals_in_map mo_integrals_map ASSERT (Nint > 0) diff --git a/src/mo_two_e_ints/map_integrals_cplx.irp.f b/src/mo_two_e_ints/map_integrals_cplx.irp.f index 67adec82..2156e103 100644 --- a/src/mo_two_e_ints/map_integrals_cplx.irp.f +++ b/src/mo_two_e_ints/map_integrals_cplx.irp.f @@ -398,7 +398,7 @@ subroutine get_mo_two_e_integrals_exch_ii_complex(k,l,sze,out_val,map,map2) ! if l