10
1
mirror of https://gitlab.com/scemama/qmcchem.git synced 2024-11-07 06:33:38 +01:00

Fixed dimension

This commit is contained in:
Anthony Scemama 2021-06-20 00:45:40 +02:00
parent 4c69f202e5
commit 0a8867cc81

View File

@ -1863,12 +1863,12 @@ END_PROVIDER
! det_alpha_value_SVD_unique = psi_svd_alpha_unique.T @ det_alpha_value ! det_alpha_value_SVD_unique = psi_svd_alpha_unique.T @ det_alpha_value
call dgemv('T', det_alpha_num, n_svd_coefs_unique & call dgemv('T', det_alpha_num, n_svd_coefs_unique &
, 1.d0, psi_svd_alpha_unique(:,:,1), size(psi_svd_alpha_unique,1), det_alpha_value, 1 & , 1.d0, psi_svd_alpha_unique, size(psi_svd_alpha_unique,1), det_alpha_value, 1 &
, 0.d0, det_alpha_value_SVD_unique, 1) , 0.d0, det_alpha_value_SVD_unique, 1)
! det_beta_value_SVD_unique = psi_svd_beta_unique.T @ det_beta_value ! det_beta_value_SVD_unique = psi_svd_beta_unique.T @ det_beta_value
call dgemv('T', det_beta_num, n_svd_coefs_unique & call dgemv('T', det_beta_num, n_svd_coefs_unique &
, 1.d0, psi_svd_beta_unique(:,:,1), size(psi_svd_beta_unique,1), det_beta_value, 1 & , 1.d0, psi_svd_beta_unique, size(psi_svd_beta_unique,1), det_beta_value, 1 &
, 0.d0, det_beta_value_SVD_unique, 1) , 0.d0, det_beta_value_SVD_unique, 1)
call dgemm('N', 'N', 4*elec_alpha_num, n_svd_coefs_unique, det_alpha_num, 1.d0 & call dgemm('N', 'N', 4*elec_alpha_num, n_svd_coefs_unique, det_alpha_num, 1.d0 &
@ -1952,12 +1952,12 @@ END_PROVIDER
! !!! ! !!!
! det_alpha_value_SVD = psi_svd_alpha.T @ det_alpha_value ! det_alpha_value_SVD = psi_svd_alpha.T @ det_alpha_value
call dgemv('T', det_alpha_num, n_svd_coefs & call dgemv('T', det_alpha_num, n_svd_coefs &
, 1.d0, psi_svd_alpha(:,:,1), size(psi_svd_alpha,1), det_alpha_value, 1 & , 1.d0, psi_svd_alpha, size(psi_svd_alpha,1), det_alpha_value, 1 &
, 0.d0, det_alpha_value_SVD, 1) , 0.d0, det_alpha_value_SVD, 1)
! !!! ! !!!
! det_beta_value_SVD = psi_svd_beta.T @ det_beta_value ! det_beta_value_SVD = psi_svd_beta.T @ det_beta_value
call dgemv('T', det_beta_num, n_svd_coefs & call dgemv('T', det_beta_num, n_svd_coefs &
, 1.d0, psi_svd_beta(:,:,1), size(psi_svd_beta,1), det_beta_value, 1 & , 1.d0, psi_svd_beta, size(psi_svd_beta,1), det_beta_value, 1 &
, 0.d0, det_beta_value_SVD, 1) , 0.d0, det_beta_value_SVD, 1)
! !!! ! !!!
! -~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~ ! -~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~
@ -2014,13 +2014,13 @@ END_PROVIDER
! !!! ! !!!
if (do_pseudo) then if (do_pseudo) then
! det_alpha_pseudo_SVD = det_alpha_pseudo @ psi_svd_alpha * psidet_inv_SVD ! det_alpha_pseudo_SVD = det_alpha_pseudo @ psi_svd_alpha * psidet_inv_SVD
call dgemm('N', 'N', 4*elec_alpha_num, n_svd_coefs , det_alpha_num, psidet_inv_SVD & call dgemm('N', 'N', elec_alpha_num, n_svd_coefs , det_alpha_num, psidet_inv_SVD &
, det_alpha_pseudo, size(det_alpha_pseudo,1), psi_svd_alpha(1,1,1) & , det_alpha_pseudo, size(det_alpha_pseudo,1), psi_svd_alpha(1,1,1) &
, size(psi_svd_alpha,1), 0.d0, det_alpha_pseudo_SVD, size(det_alpha_pseudo_SVD,1) ) , size(psi_svd_alpha,1), 0.d0, det_alpha_pseudo_SVD, size(det_alpha_pseudo_SVD,1) )
! !!! ! !!!
if (elec_beta_num /= 0) then if (elec_beta_num /= 0) then
! det_beta_pseudo_SVD = det_beta_pseudo @ psi_svd_beta * psidet_inv_SVD ! det_beta_pseudo_SVD = det_beta_pseudo @ psi_svd_beta * psidet_inv_SVD
call dgemm('N', 'N', 4*elec_beta_num, n_svd_coefs , det_beta_num, psidet_inv_SVD & call dgemm('N', 'N', elec_beta_num, n_svd_coefs , det_beta_num, psidet_inv_SVD &
, det_beta_pseudo(elec_alpha_num+1,1), size(det_beta_pseudo,1) & , det_beta_pseudo(elec_alpha_num+1,1), size(det_beta_pseudo,1) &
, psi_svd_beta(1,1,1), size(psi_svd_beta,1) & , psi_svd_beta(1,1,1), size(psi_svd_beta,1) &
, 0.d0, det_beta_pseudo_SVD(elec_alpha_num+1,1), size(det_beta_pseudo_SVD,1) ) , 0.d0, det_beta_pseudo_SVD(elec_alpha_num+1,1), size(det_beta_pseudo_SVD,1) )
@ -2135,6 +2135,60 @@ END_PROVIDER
endif endif
! ! -~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~
! ! !!!
! do mm = 1, 4
! ! !!!
! do ee = 1, elec_alpha_num
! tmp = 0.d0
! do l = 1, n_svd_coefs
! tmp = tmp + det_alpha_grad_lapl_SVD(mm,ee,l) * psi_svd_coefs(l,1) &
! * det_beta_value_SVD(l)
! enddo
! psidet_grad_lapl_SVD(mm,ee) = tmp
! enddo
! ! !!!
! if (elec_beta_num /= 0) then
! do ee = elec_alpha_num+1, elec_num
! tmp = 0.d0
! do l = 1, n_svd_coefs
! tmp = tmp + det_alpha_value_SVD(l) * psi_svd_coefs(l,1) &
! * det_beta_grad_lapl_SVD(mm,ee,l)
! enddo
! psidet_grad_lapl_SVD(mm,ee) = tmp
! enddo
! endif
! ! !!!
! enddo
! ! !!!
! ! -~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~
!
! ! -~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~
! ! !!!
! if (do_pseudo) then
! ! !!!
! do ee = 1, elec_alpha_num
! tmp = 0.d0
! do l = 1, n_svd_coefs
! tmp = tmp + det_alpha_pseudo_SVD(ee,l) * psi_svd_coefs(l,1) * det_beta_value_SVD(l)
! enddo
! pseudo_non_local_SVD(ee) = tmp * psidet_inv_SVD
! enddo
! ! !!!
! if (elec_beta_num /= 0) then
! do ee = elec_alpha_num+1, elec_num
! tmp = 0.d0
! do l = 1, n_svd_coefs
! tmp = tmp + det_alpha_value_SVD(l) * psi_svd_coefs(l,1) * det_beta_pseudo_SVD(ee,l)
! enddo
! pseudo_non_local_SVD(ee) = tmp * psidet_inv_SVD
! enddo
! endif
! ! !!!
! endif
! ! !!!
! ! -~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~
! -~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~ ! -~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~
! !!! ! !!!
do mm = 1, 4 do mm = 1, 4