From c0d4f766b176e78b110991824be135e1f98daf83 Mon Sep 17 00:00:00 2001 From: Francois Coppens Date: Mon, 13 Feb 2023 15:08:37 +0100 Subject: [PATCH] Reorganising ORG file. --- org/qmckl_sherman_morrison_woodbury.org | 102 ++++++++++++------------ 1 file changed, 51 insertions(+), 51 deletions(-) diff --git a/org/qmckl_sherman_morrison_woodbury.org b/org/qmckl_sherman_morrison_woodbury.org index dbe1880..2bab526 100644 --- a/org/qmckl_sherman_morrison_woodbury.org +++ b/org/qmckl_sherman_morrison_woodbury.org @@ -465,7 +465,7 @@ qmckl_exit_code qmckl_sherman_morrison_naive(const qmckl_context context, } #+end_src -** Fortran interface +** Fortran interfaces (exposed in qmckl_f.F90) :PROPERTIES: :Name: qmckl_sherman_morrison_naive :CRetType: qmckl_exit_code @@ -550,64 +550,64 @@ interface end interface #+end_src -** Test - The tests for the kernels are executed on datasets that are extracted from a run of - QMC=Chem on Benzene (21 spin-up/21 spin down electrons) using 329 unique alpha determinants. - The tests are run such that the kernels reject the computed inverse whenever the computed - intermediate determinants or denominators are smaller than 1e-3. This is the default value in - QMC=Chem. The tests will return QMCKL_SUCCESS whenever all the elements of the final matrix - $R=S.S^-1 - 1$ are smaller than the given tolerance value of 1e-3, and will return - QMCKL_FAILURE if the values are larger than this tolerance value. +** Tests +The tests for the kernels are executed on datasets that are extracted from a run of +QMC=Chem on Benzene (21 spin-up/21 spin down electrons) using 329 unique alpha determinants. +The tests are run such that the kernels reject the computed inverse whenever the computed +intermediate determinants or denominators are smaller than 1e-3. This is the default value in +QMC=Chem. The tests will return QMCKL_SUCCESS whenever all the elements of the final matrix +$R=S.S^-1 - 1$ are smaller than the given tolerance value of 1e-3, and will return +QMCKL_FAILURE if the values are larger than this tolerance value. - #+begin_src c :tangle (eval c_test) - const uint64_t Dim = 21; - const uint64_t LDS = (1+(Dim-1)/SIMD_LENGTH)*SIMD_LENGTH; - const double breakdown = 1e-3; - const double tolerance = 1e-3; - double res[441]; +#+begin_src c :tangle (eval c_test) +const uint64_t Dim = 21; +const uint64_t LDS = (1+(Dim-1)/SIMD_LENGTH)*SIMD_LENGTH; +const double breakdown = 1e-3; +const double tolerance = 1e-3; +double res[441]; - #include "sm_test.h" +#include "sm_test.h" - assert(Updates1 != NULL); - assert(Updates_index1 != NULL); - assert(Slater_inv1 != NULL); +assert(Updates1 != NULL); +assert(Updates_index1 != NULL); +assert(Slater_inv1 != NULL); - // original determinant of Slater1 (before applying updates) - double det = 3.407025646103221e-10; - rc = qmckl_sherman_morrison_naive(context, - LDS, - Dim, - N_updates1, - Updates1, - Updates_index1, - breakdown, - Slater_inv1, - &det); +// original determinant of Slater1 (before applying updates) +double det = 3.407025646103221e-10; +rc = qmckl_sherman_morrison_naive(context, + LDS, + Dim, + N_updates1, + Updates1, + Updates_index1, + breakdown, + Slater_inv1, + &det); - // Check that the determinant is updated properly - assert(fabs(det + 4.120398385068217e-10) < 1e-15); +// Check that the determinant is updated properly +assert(fabs(det + 4.120398385068217e-10) < 1e-15); - for (unsigned int i = 0; i < Dim; i++) { - for (unsigned int j = 0; j < Dim; j++) { - res[i * Dim + j] = 0; - for (unsigned int k = 0; k < Dim; k++) { - res[i * Dim + j] += Slater1[i * Dim + k] * Slater_inv1[k * LDS + j]; - } - } +for (unsigned int i = 0; i < Dim; i++) { + for (unsigned int j = 0; j < Dim; j++) { + res[i * Dim + j] = 0; + for (unsigned int k = 0; k < Dim; k++) { + res[i * Dim + j] += Slater1[i * Dim + k] * Slater_inv1[k * LDS + j]; } - rc = QMCKL_SUCCESS; - for (unsigned int i = 0; i < Dim; i++) { - for (unsigned int j = 0; j < Dim; j++) { - if (i == j && fabs(res[i * Dim + j] - 1) > tolerance) { - rc = QMCKL_FAILURE; - } - if (i != j && fabs(res[i * Dim + j]) > tolerance) { - rc = QMCKL_FAILURE; - } - } + } +} +rc = QMCKL_SUCCESS; +for (unsigned int i = 0; i < Dim; i++) { + for (unsigned int j = 0; j < Dim; j++) { + if (i == j && fabs(res[i * Dim + j] - 1) > tolerance) { + rc = QMCKL_FAILURE; } - assert(rc == QMCKL_SUCCESS); - #+end_src + if (i != j && fabs(res[i * Dim + j]) > tolerance) { + rc = QMCKL_FAILURE; + } + } +} +assert(rc == QMCKL_SUCCESS); +#+end_src * End of files