diff --git a/devel/dmc_dress/dmc_dress.irp.f b/devel/dmc_dress/dmc_dress.irp.f index 4302499..e3c413a 100644 --- a/devel/dmc_dress/dmc_dress.irp.f +++ b/devel/dmc_dress/dmc_dress.irp.f @@ -15,6 +15,7 @@ end subroutine pre implicit none double precision, allocatable :: left(:,:), right(:,:), tmp(:,:), res(:,:) + integer :: i allocate (left(1,1:N_det), right(1:N_det,1), tmp(1:N_det,1), res(1,1)) left(1,1:N_det) = psi_coef(1:N_det,1) right(1:N_det,1) = psi_coef(1:N_det,1) @@ -22,7 +23,9 @@ subroutine pre tmp(1:N_det,1:1) = matmul(h_matrix_dressed(1:N_det,1:N_det), right(1:N_det,1:1)) res(1:1,1:1) = matmul(left(1:1,1:N_det), tmp(1:N_det,1:1)) print *, 'E_in = ', res(1,1) - print *, 'HPsi/c0 = ', tmp(1,1)/psi_coef(1,1) + do i=1,N_det + print *, 'HPsi/c0 = ', tmp(i,1)/psi_coef(i,1) + enddo end subroutine routine implicit none diff --git a/devel/dmc_dress/dressing_vector.irp.f b/devel/dmc_dress/dressing_vector.irp.f index b6f8641..71c59c8 100644 --- a/devel/dmc_dress/dressing_vector.irp.f +++ b/devel/dmc_dress/dressing_vector.irp.f @@ -8,6 +8,12 @@ integer :: i,ii,k,j, l double precision :: f, tmp + double precision, allocatable :: delta(:) + + allocate(delta(N_det)) + delta(1:N_det) = dmc_delta_h(1:N_det) + + call dset_order(delta,psi_bilinear_matrix_order_reverse,N_det) dressing_column_h(:,:) = 0.d0 dressing_column_s(:,:) = 0.d0 @@ -15,14 +21,12 @@ l = dressed_column_idx(1) do j = 1, n_det if (j == l) cycle - dressing_column_h(j,1) = dmc_delta_h(j) - dressing_column_h(l,1) -= psi_coef(j,1) * dmc_delta_h(j) / psi_coef(l,1) + dressing_column_h(j,1) = delta(j) + dressing_column_h(l,1) -= psi_coef(j,1) * delta(j) / psi_coef(l,1) enddo - dressing_column_h(l,1) += dmc_delta_h(l) + dressing_column_h(l,1) += delta(l) dressing_column_h(l,1) *= 0.5d0 - print *, 'COUCOU XXX' - END_PROVIDER