From 5093b2c35c5192a7f2b6ae1e87098782b9cf90e8 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Tue, 11 Apr 2023 16:20:56 +0200 Subject: [PATCH] HPC version of qmckl_compute_jastrow_champ_factor_een_deriv_e --- org/qmckl_blas.org | 6 +- org/qmckl_jastrow_champ.org | 478 +++++++++++++++++++++++++----------- 2 files changed, 333 insertions(+), 151 deletions(-) diff --git a/org/qmckl_blas.org b/org/qmckl_blas.org index b0a70fc..4add69e 100644 --- a/org/qmckl_blas.org +++ b/org/qmckl_blas.org @@ -543,6 +543,7 @@ double qmckl_mat (qmckl_matrix m, int64_t i, int64_t j) // m[j][i] double qmckl_ten3(qmckl_tensor t, int64_t i, int64_t j, int64_t k); // t[k][j][i] double qmckl_ten4(qmckl_tensor t, int64_t i, int64_t j, int64_t k, int64_t l); double qmckl_ten5(qmckl_tensor t, int64_t i, int64_t j, int64_t k, int64_t l, int64_t m); +double qmckl_ten6(qmckl_tensor t, int64_t i, int64_t j, int64_t k, int64_t l, int64_t m, int64_t n); ... #+end_src @@ -553,6 +554,7 @@ double qmckl_ten5(qmckl_tensor t, int64_t i, int64_t j, int64_t k, int64_t l, in #define qmckl_ten3(t, i, j, k) t.data[(i) + t.size[0]*((j) + t.size[1]*(k))] #define qmckl_ten4(t, i, j, k, l) t.data[(i) + t.size[0]*((j) + t.size[1]*((k) + t.size[2]*(l)))] #define qmckl_ten5(t, i, j, k, l, m) t.data[(i) + t.size[0]*((j) + t.size[1]*((k) + t.size[2]*((l) + t.size[3]*(m))))] +#define qmckl_ten6(t, i, j, k, l, m, n) t.data[(i) + t.size[0]*((j) + t.size[1]*((k) + t.size[2]*((l) + t.size[3]*((m) + t.size[4]*(n)))))] #+end_src For example: @@ -640,9 +642,7 @@ qmckl_double_of_vector(const qmckl_context context, assert (target != NULL); assert (size_max > (int64_t) 0); assert (size_max >= vector.size); - for (int64_t i=0 ; i