9
1
mirror of https://github.com/QuantumPackage/qp2.git synced 2024-12-22 03:23:29 +01:00

Minor changes

This commit is contained in:
Anthony Scemama 2021-02-17 18:05:49 +01:00
parent 6c7b162ec5
commit f051750fd3

View File

@ -401,8 +401,8 @@ subroutine davidson_diag_csf_hjj(dets_in,u_in,H_jj,energies,dim_in,sze,sze_csf,N
if (state_following) then if (state_following) then
overlap = -1.d0 overlap = -1.d0
do k=1,shift2
do i=1,shift2 do i=1,shift2
do k=1,shift2
overlap(k,i) = dabs(y(k,i)) overlap(k,i) = dabs(y(k,i))
enddo enddo
enddo enddo
@ -437,15 +437,15 @@ subroutine davidson_diag_csf_hjj(dets_in,u_in,H_jj,energies,dim_in,sze,sze_csf,N
call dgemm('N','N', sze_csf, N_st_diag, shift2, & call dgemm('N','N', sze_csf, N_st_diag, shift2, &
1.d0, U_csf, size(U_csf,1), y, size(y,1), 0.d0, U_csf(1,shift2+1), size(U_csf,1)) 1.d0, U_csf, size(U_csf,1), y, size(y,1), 0.d0, U_csf(1,shift2+1), size(U_csf,1))
call convertWFfromCSFtoDET(N_st_diag,U_csf(1,shift2+1),U)
call dgemm('N','N', sze_csf, N_st_diag, shift2, & call dgemm('N','N', sze_csf, N_st_diag, shift2, &
1.d0, W_csf, size(W_csf,1), y, size(y,1), 0.d0, W_csf(1,shift2+1), size(W_csf,1)) 1.d0, W_csf, size(W_csf,1), y, size(y,1), 0.d0, W_csf(1,shift2+1), size(W_csf,1))
call convertWFfromCSFtoDET(N_st_diag,W_csf(1,shift2+1),W)
! Compute residual vector and davidson step ! Compute residual vector and davidson step
! ----------------------------------------- ! -----------------------------------------
call convertWFfromCSFtoDET(N_st_diag,U_csf(1,shift2+1),U)
call convertWFfromCSFtoDET(N_st_diag,W_csf(1,shift2+1),W)
!$OMP PARALLEL DO DEFAULT(SHARED) PRIVATE(i,k) !$OMP PARALLEL DO DEFAULT(SHARED) PRIVATE(i,k)
do k=1,N_st_diag do k=1,N_st_diag
do i=1,sze do i=1,sze
@ -510,7 +510,6 @@ subroutine davidson_diag_csf_hjj(dets_in,u_in,H_jj,energies,dim_in,sze,sze_csf,N
call dgemm('N','N', sze_csf, N_st_diag, shift2, 1.d0, & call dgemm('N','N', sze_csf, N_st_diag, shift2, 1.d0, &
U_csf, size(U_csf,1), y, size(y,1), 0.d0, u_in, size(u_in,1)) U_csf, size(U_csf,1), y, size(y,1), 0.d0, u_in, size(u_in,1))
do k=1,N_st_diag do k=1,N_st_diag
do i=1,sze_csf do i=1,sze_csf
U_csf(i,k) = u_in(i,k) U_csf(i,k) = u_in(i,k)
@ -518,6 +517,7 @@ subroutine davidson_diag_csf_hjj(dets_in,u_in,H_jj,energies,dim_in,sze,sze_csf,N
enddo enddo
call convertWFfromCSFtoDET(N_st_diag,U_csf,U) call convertWFfromCSFtoDET(N_st_diag,U_csf,U)
call convertWFfromCSFtoDET(N_st_diag,W_csf,W)
! Adjust the phase ! Adjust the phase
do j=1,N_st_diag do j=1,N_st_diag