10
0
mirror of https://github.com/QuantumPackage/qp2.git synced 2024-12-22 20:34:58 +01:00

Dressing with Jastrow

This commit is contained in:
Anthony Scemama 2021-07-28 17:21:40 +02:00
parent 369090995b
commit 8f9b2b46e7
4 changed files with 52 additions and 0 deletions

View File

@ -0,0 +1,6 @@
[dmc_delta_h]
type: double precision
doc: Dressing matrix obtained from DMC
size: (determinants.n_det)
interface: ezfio, provider

View File

@ -0,0 +1,3 @@
selectors_full
generators_full
davidson_dressed

View File

@ -0,0 +1,19 @@
program diagonalize_h
implicit none
BEGIN_DOC
! Program that extracts the lowest states of the Hamiltonian dressed by the QMC
! dressing vector stored in :option:`dmc_dressing dmc_delta_h`
!
END_DOC
read_wf = .True.
touch read_wf
call routine
call save_wavefunction_general(N_det,N_states,psi_det_sorted,size(psi_coef_sorted,1),psi_coef_sorted)
end
subroutine routine
implicit none
psi_coef(1:N_det,1) = ci_eigenvectors_dressed(1:N_det,1)
print*,'N_det = ',N_det
SOFT_TOUCH psi_coef
end

View File

@ -0,0 +1,24 @@
BEGIN_PROVIDER [ double precision, dressing_column_h, (N_det,N_states) ]
&BEGIN_PROVIDER [ double precision, dressing_column_s, (N_det,N_states) ]
implicit none
BEGIN_DOC
! \Delta_{state-specific}. \Psi
END_DOC
integer :: i,ii,k,j, l
double precision :: f, tmp
double precision, external :: u_dot_v
logical, external :: detEq
dressing_column_h(:,:) = 0.d0
dressing_column_s(:,:) = 0.d0
l = dressed_column_idx(1)
do j = 1, n_det
dressing_column_h(j,1) = 0.5d0*dmc_delta_h(j)
dressing_column_h(l,1) -= 0.5d0 * psi_coef(j,1) * dmc_delta_h(j) /psi_coef(l,1)
enddo
END_PROVIDER