1
0
mirror of https://github.com/TREX-CoE/irpjast.git synced 2025-01-06 19:33:15 +01:00
This commit is contained in:
Anthony Scemama 2021-01-19 16:22:12 +01:00
parent 7b9db3808b
commit c1a4638886
4 changed files with 25 additions and 24 deletions

View File

@ -1,4 +1,4 @@
IRPF90 = irpf90 --codelet=factor_een:100000 #-a -d IRPF90 = irpf90 -s nelec:10 -s nnuc:2 -s ncord:5 #-a -d
FC = ifort -xHost -g -mkl=sequential FC = ifort -xHost -g -mkl=sequential
FCFLAGS= -O2 -ffree-line-length-none -I . FCFLAGS= -O2 -ffree-line-length-none -I .
NINJA = ninja NINJA = ninja

View File

@ -4,34 +4,35 @@
Original equation: Original equation:
$$ $$
\sum_{i=2}^{Ne} \sum_{j=1}^i \sum_{pkl} \sum_a^{Nn} c_{apkl}\, r_{ij}^k\, ( R_{ia}^l + R_{ja}^l) ( R_{ia} R_{ja})^m \sum_{i=2}^{Ne} \sum_{j=1}^i \sum_{pkl} \sum_a^{Nn} c_{apkl}\, r_{ij}^k\, ( R_{ia}^l + R_{ja}^l) ( R_{ia} R_{ja})^m
$$ $$
Expanding, one obtains: Expanding, one obtains:
$$ $$
\sum_{i=2}^{Ne} \sum_{j=1}^i \sum_{pkl} \sum_a^{Nn} c_{apkl} R_{ia}^{p-k-l}\, r_{ij}^k\, R_{ja}^{p-k+l} + c_{apkl} R_{ia}^{p-k+l}\, r_{ij}^k\, R_{ja}^{p-k-l} \sum_{i=2}^{Ne} \sum_{j=1}^i \sum_{pkl} \sum_a^{Nn} c_{apkl} R_{ia}^{p-k-l}\, r_{ij}^k\, R_{ja}^{p-k+l} + c_{apkl} R_{ia}^{p-k+l}\, r_{ij}^k\, R_{ja}^{p-k-l}
$$ $$
The equation is symmetric if we exchange $i$ and $j$, so we can rewrite The equation is symmetric if we exchange $i$ and $j$, so we can rewrite
$$ $$
\sum_{i=1}^{Ne} \sum_{j=1}^{Ne} \sum_{pkl} \sum_a^{Nn} c_{apkl} R_{ia}^{p-k-l}\, r_{ij}^k\, R_{ja}^{p-k+l} \sum_{i=1}^{Ne} \sum_{j=1}^{Ne} \sum_{pkl} \sum_a^{Nn} c_{apkl} R_{ia}^{p-k-l}\, r_{ij}^k\, R_{ja}^{p-k+l}
$$ $$
If we reshape $R_{ja}^p$ as a matrix $R_{j,al}$ of size If we reshape $R_{ja}^p$ as a matrix $R_{j,al}$ of size
$N_e \times N_n(N_c+1)$, $N_e \times N_n(N_c+1)$,
for every $k$, we can pre-compute the matrix product for every $k$, we can pre-compute the matrix product
$$ $$
C_{i,al}^{k} = \sum_j r_{ij}^k\, R_{i,al} C_{i,al}^{k} = \sum_j r_{ij}^k\, R_{i,al}
$$ $$
which can be computed efficiently with BLAS. which can be computed efficiently with BLAS.
We can express the total Jastrow as: We can express the total Jastrow as:
$$
\sum_{i=1}^{Ne} \sum_{pkl} \sum_a^{Nn}
c_{apkl} R_{ia}^{p-k-l}\, C_{i,a(p-k+l)}^k
$$
$$
\sum_{i=1}^{Ne} \sum_{pkl} \sum_a^{Nn}
c_{apkl} R_{ia}^{p-k-l}\, C_{i,a(p-k+l)}^k
$$

BIN
deriv_num

Binary file not shown.

BIN
jastrow

Binary file not shown.