From 0a8867cc813bfcf8f2d07830d33bab7a867edec8 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Sun, 20 Jun 2021 00:45:40 +0200 Subject: [PATCH] Fixed dimension --- src/det.irp.f | 66 ++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 60 insertions(+), 6 deletions(-) diff --git a/src/det.irp.f b/src/det.irp.f index 7a62629..80336f3 100644 --- a/src/det.irp.f +++ b/src/det.irp.f @@ -1863,12 +1863,12 @@ END_PROVIDER ! det_alpha_value_SVD_unique = psi_svd_alpha_unique.T @ det_alpha_value 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) ! det_beta_value_SVD_unique = psi_svd_beta_unique.T @ det_beta_value 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) 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 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) ! !!! ! det_beta_value_SVD = psi_svd_beta.T @ det_beta_value 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) ! !!! ! -~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~-~ @@ -2014,13 +2014,13 @@ END_PROVIDER ! !!! if (do_pseudo) then ! 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) & , size(psi_svd_alpha,1), 0.d0, det_alpha_pseudo_SVD, size(det_alpha_pseudo_SVD,1) ) ! !!! if (elec_beta_num /= 0) then ! 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) & , 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) ) @@ -2135,6 +2135,60 @@ END_PROVIDER 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