From 44323468e6c403a1a696a5a8b948ced678d54d91 Mon Sep 17 00:00:00 2001 From: Francois Coppens Date: Wed, 12 Jul 2023 15:39:44 +0200 Subject: [PATCH] Added woodbury 3x3 HPC and DOC kernels back. They pass the tests. --- org/qmckl_sherman_morrison_woodbury.org | 692 ++++++++++++++++++++++++ share/qmckl/test_data/sm_test.h | 6 +- 2 files changed, 695 insertions(+), 3 deletions(-) diff --git a/org/qmckl_sherman_morrison_woodbury.org b/org/qmckl_sherman_morrison_woodbury.org index d0a7e07..6e7d779 100644 --- a/org/qmckl_sherman_morrison_woodbury.org +++ b/org/qmckl_sherman_morrison_woodbury.org @@ -2059,6 +2059,698 @@ assert(rc == QMCKL_SUCCESS); #+end_src +* Woodbury 3x3 +** ~qmckl_woodbury_3x3~ +:PROPERTIES: +:Name: qmckl_woodbury_3x3 +:CRetType: qmckl_exit_code +:FRetType: qmckl_exit_code +:END: + +*** Introduction +The Woodbury 3x3 kernel. It is used to apply two rank-1 updates at once. The formula used in +this algorithm is called the Woodbury Matrix Id +\[ +(S + U V)^{-1} = S^{-1} - C B^{-1} D +\] +where +$S$ is the Slater-matrix +$U$ and $V$ are the matrices containing the updates and the canonical basis matrix +$S^{-1}$ is the inverse of the Slater-matrix +$C:= S^{-1}U$, a Dim $\times 3$ matrix +$B := 1 + VC$, the $3 \times 3$ matrix that is going to be inverted +$D := VS^{-1}$, a $3 \times Dim$ matrix + +If the determinant of the Slater-matrix is passed, it will be updated to the determinant resulting +from applying the updates to the original matrix. + +*** API +#+NAME: qmckl_woodbury_3x3_args +| Variable | Type | In/Out | Description | +|-----------------+-------------------+-------+-------------------------------------------------| +| ~context~ | ~qmckl_context~ | in | Global state | +| ~LDS~ | ~uint64_t~ | in | Leading dimension of Slater_inv | +| ~Dim~ | ~uint64_t~ | in | Dimension of Slater_inv | +| ~Updates~ | ~double[3*Dim]~ | in | Array containing the updates | +| ~Updates_index~ | ~uint64_t[3]~ | in | Array containing the rank-1 updates | +| ~breakdown~ | ~double~ | in | Break-down parameter on which to fail or not | +| ~Slater_inv~ | ~double[LDS*Dim]~ | inout | Array containing the inverse of a Slater-matrix | +| ~determinant~ | ~double~ | inout | Determinant of Slater-matrix | + +*** Requirements +- ~context~ is not ~qmckl_null_context~ +- ~LDS >= 3~ +- ~Dim >= 3~ +- ~Updates~ is allocated with $3 \times Dim$ elements +- ~Updates_index~ is allocated with $3$ elements +- ~breakdown~ is a small number such that $0 < breakdown << 1$ +- ~Slater_inv~ is allocated with $Dim \times Dim$ elements + +*** Pedagogical kernel source (in Fortran) +The following source code written in Fortran is inteded to illustrate how the kernel works. Even though the kernel is +able to do numerically correct computations, it does not do it in the most efficient way possible. It should therefore +not be used in real workloads. + +#+begin_src f90 :tangle (eval f) +integer function qmckl_woodbury_3x3_doc_f(& + context, & + lds, dim, & + upds, & + updates_index, & + breakdown, & + s_inv, & + determinant) result(info) + + use qmckl + implicit none + integer*8 , intent(in) :: context + integer*8 , intent(in) :: lds, dim + integer*8 , intent(in) :: updates_index(3) + real*8 , intent(in) :: upds(3 * lds) + real*8 , intent(in) :: breakdown + real*8 , intent(inout) :: s_inv(dim * lds) + real*8 , intent(inout) :: determinant + + integer*8 , dimension(3, dim) :: V + integer*8 , dimension(3, 3) :: Id + real*8 , dimension(dim, dim) :: Inverse + real*8 , dimension(dim, 3) :: Updates, C + real*8 , dimension(3, 3) :: D, invD + real*8 , dimension(3, dim) :: E, F + + real*8 :: detD, idetD, idenominator, update + integer*8 :: i, j, k, l + + info = QMCKL_FAILURE + + if (context == QMCKL_NULL_CONTEXT) then + info = QMCKL_INVALID_CONTEXT + return + endif + + ! Construct V(3, dim) matrix + V = 0 + V(1, updates_index(1)) = 1 + V(2, updates_index(2)) = 1 + V(3, updates_index(3)) = 1 + + ! Construct Id(3, 3) matrix + Id = 0 + Id(1, 1) = 1 + Id(2, 2) = 1 + Id(3, 3) = 1 + + ! Convert 'upds' and 's_inv' into the more easily readable Fortran + ! matrices 'Updates' and 'Inverse'. + call convert(upds, s_inv, Updates, Inverse, int(3,8), lds, dim) + + ! Compute C(dim, 3) = Inverse(dim, dim) x Updates(dim, 3) + C = 0 + do i = 1, dim + do j = 1, 3 + do k = 1, dim + C(i, j) = C(i, j) + Inverse(i, k) * Updates(k, j) + end do + end do + end do + + ! Construct matrix D(3, 3) := I(3, 3) + V(3, dim) x C(dim, 3) + D = 0 + do i = 1, 3 + do j = 1, 3 + do k = 3, dim + D(i, j) = D(i, j) + V(i, k) * C(k, j) + end do + end do + end do + D = Id + D + + ! Compute determinant := det(D) explicitly + detD = D(1,1) * (D(2,2) * D(3,3) - D(2,3) * D(3,2)) - & + D(1,2) * (D(2,1) * D(3,3) - D(2,3) * D(3,1)) + & + D(1,3) * (D(2,1) * D(3,2) - D(2,2) * D(3,1)) + + ! Return early if det(D) is too small + if (abs(detD) < breakdown) return + + ! Update det(S) + determinant = determinant * detD + + idetD = 1.0d0 / detD + ! Compute inv(D) explicitly + invD(1,1) = (D(2,2) * D(3,3) - D(3,2) * D(2,3)) * idetD + invD(1,2) = -(D(1,2) * D(3,3) - D(3,2) * D(1,3)) * idetD + invD(1,3) = (D(1,2) * D(2,3) - D(2,2) * D(1,3)) * idetD + invD(2,1) = -(D(2,1) * D(3,3) - D(3,1) * D(2,3)) * idetD + invD(2,2) = (D(1,1) * D(3,3) - D(3,1) * D(1,3)) * idetD + invD(2,3) = -(D(1,1) * D(2,3) - D(2,1) * D(1,3)) * idetD + invD(3,1) = (D(2,1) * D(3,2) - D(3,1) * D(2,2)) * idetD + invD(3,2) = -(D(1,1) * D(3,2) - D(3,1) * D(1,2)) * idetD + invD(3,3) = (D(1,1) * D(2,2) - D(2,1) * D(1,2)) * idetD + + ! Compute E(3, dim) := V(3, dim) x Inverse(dim, dim) + E = 0 + do i = 1, 3 + do j = 1, dim + do k = 1, dim + E(i, j) = E(i, j) + V(i, k) * Inverse(k, j) + end do + end do + end do + + ! Compute F(3, dim) := invD(3, 3) x E(3, dim) + F = 0 + do i = 1, 3 + do j = 1, dim + do k = 1, 3 + F(i, j) = F(i, j) + invD(i, k) * E(k, j) + end do + end do + end do + + ! Compute Inverse(dim, dim) := Inverse(dim, dim) - C(dim, 3) x F(3, dim) + do i = 1, dim + do j = 1, dim + do k = 1, 3 + Inverse(i, j) = Inverse(i, j) - C(i, k) * F(k, j) + end do + end do + end do + + ! Copy updated inverse and later updates + ! back to s_inv and later_upds + call copy_back_inv(Inverse, s_inv, lds, dim) + + info = QMCKL_SUCCESS + +end function qmckl_woodbury_3x3_doc_f +#+end_src + +**** C interface (not directly exposed) +The function ~qmckl_sm_splitting_core_doc~ makes sure that +~qmckl_sm_splitting_core_doc_f~ can be called from C using the +~ISO_C_BINDING~. Function ~qmckl_sm_splitting_core_doc~ will be +exposed in ~qmckl.h~ and ~qmckl_f.F90~, but +~qmckl_sm_splitting_core_doc_f~ will not. + +#+CALL: generate_c_interface(table=qmckl_woodbury_3x3_args,rettyp=get_value("CRetType"),fname="qmckl_woodbury_3x3_doc") + +#+RESULTS: +#+begin_src f90 :tangle (eval f) :comments org :exports none +integer(c_int32_t) function qmckl_woodbury_3x3_doc & + (context, LDS, Dim, Updates, Updates_index, breakdown, Slater_inv, determinant) & + bind(C) result(info) + + use, intrinsic :: iso_c_binding + implicit none + + integer (c_int64_t) , intent(in) , value :: context + integer (c_int64_t) , intent(in) , value :: LDS + integer (c_int64_t) , intent(in) , value :: Dim + real (c_double ) , intent(in) :: Updates(3*Dim) + integer (c_int64_t) , intent(in) :: Updates_index(3) + real (c_double ) , intent(in) , value :: breakdown + real (c_double ) , intent(inout) :: Slater_inv(LDS*Dim) + real (c_double ) , intent(inout) :: determinant + + integer(c_int32_t), external :: qmckl_woodbury_3x3_doc_f + info = qmckl_woodbury_3x3_doc_f & + (context, LDS, Dim, Updates, Updates_index, breakdown, Slater_inv, determinant) + +end function qmckl_woodbury_3x3_doc +#+end_src + +*** C headers (exposed in qmckl.h) +#+CALL: generate_c_header(table=qmckl_woodbury_3x3_args,rettyp=get_value("CRetType"),fname=get_value("Name")) + +#+RESULTS: +#+begin_src c :tangle (eval h_func) :comments org +qmckl_exit_code qmckl_woodbury_3x3 ( + const qmckl_context context, + const uint64_t LDS, + const uint64_t Dim, + const double* Updates, + const uint64_t* Updates_index, + const double breakdown, + double* Slater_inv, + double* determinant ); +#+end_src + +#+CALL: generate_c_header(table=qmckl_woodbury_3x3_args,rettyp=get_value("CRetType"),fname="qmckl_woodbury_3x3_hpc") + +#+RESULTS: +#+begin_src c :tangle (eval h_func) :comments org +qmckl_exit_code qmckl_woodbury_3x3_hpc ( + const qmckl_context context, + const uint64_t LDS, + const uint64_t Dim, + const double* Updates, + const uint64_t* Updates_index, + const double breakdown, + double* Slater_inv, + double* determinant ); +#+end_src + +#+CALL: generate_c_header(table=qmckl_woodbury_3x3_args,rettyp=get_value("CRetType"),fname="qmckl_woodbury_3x3_doc") + +#+RESULTS: +#+begin_src c :tangle (eval h_func) :comments org +qmckl_exit_code qmckl_woodbury_3x3_doc ( + const qmckl_context context, + const uint64_t LDS, + const uint64_t Dim, + const double* Updates, + const uint64_t* Updates_index, + const double breakdown, + double* Slater_inv, + double* determinant ); +#+end_src + +*** C sources +#+begin_src c :tangle (eval c) :comments org +qmckl_exit_code qmckl_woodbury_3x3_hpc(const qmckl_context context, + const uint64_t LDS, + const uint64_t Dim, + const double* __restrict Updates, + const uint64_t* __restrict Updates_index, + const double breakdown, + double* __restrict Slater_inv, + double* __restrict determinant) { +/* + C := S^{-1} * U, dim x 3 + B := 1 + V * C, 3 x 3 + D := V * S^{-1}, 3 x dim +*/ + + if (qmckl_context_check(context) == QMCKL_NULL_CONTEXT) { + return qmckl_failwith(context, + QMCKL_NULL_CONTEXT, + "qmckl_woodbury_3x3_hpc", + NULL); + } + + const uint64_t row1 = (Updates_index[0] - 1); + const uint64_t row2 = (Updates_index[1] - 1); + const uint64_t row3 = (Updates_index[2] - 1); + + // Compute C = (S^T)^{-1}U : Dim x 3 + double __attribute__((aligned(8))) C[3 * Dim]; + for (uint64_t i = 0; i < Dim; i++) { + C[i * 3] = 0; + C[i * 3 + 1] = 0; + C[i * 3 + 2] = 0; + IVDEP + ALIGNED + for (uint64_t k = 0; k < LDS; k++) { + C[i * 3] += Slater_inv[i * LDS + k] * Updates[k]; + C[i * 3 + 1] += Slater_inv[i * LDS + k] * Updates[LDS + k]; + C[i * 3 + 2] += Slater_inv[i * LDS + k] * Updates[2 * LDS + k]; + } + } + + // Compute B = 1 + VC : 3 x 3 + const double B0 = C[row1 * 3] + 1; + const double B1 = C[row1 * 3 + 1]; + const double B2 = C[row1 * 3 + 2]; + const double B3 = C[row2 * 3]; + const double B4 = C[row2 * 3 + 1] + 1; + const double B5 = C[row2 * 3 + 2]; + const double B6 = C[row3 * 3]; + const double B7 = C[row3 * 3 + 1]; + const double B8 = C[row3 * 3 + 2] + 1; + + // Check if determinant of inverted matrix is not zero + double det; + det = B0 * (B4 * B8 - B5 * B7) - B1 * (B3 * B8 - B5 * B6) + + B2 * (B3 * B7 - B4 * B6); + if (fabs(det) < breakdown) { + return QMCKL_FAILURE; + } + + // Update det(S) when passed + if (determinant) + *determinant *= det; + + // Compute B^{-1} with explicit formula for 2 x 2 inversion + double __attribute__((aligned(8))) Binv[9], idet = 1.0 / det; + Binv[0] = (B4 * B8 - B7 * B5) * idet; + Binv[1] = -(B1 * B8 - B7 * B2) * idet; + Binv[2] = (B1 * B5 - B4 * B2) * idet; + Binv[3] = -(B3 * B8 - B6 * B5) * idet; + Binv[4] = (B0 * B8 - B6 * B2) * idet; + Binv[5] = -(B0 * B5 - B3 * B2) * idet; + Binv[6] = (B3 * B7 - B6 * B4) * idet; + Binv[7] = -(B0 * B7 - B6 * B1) * idet; + Binv[8] = (B0 * B4 - B3 * B1) * idet; + + // tmp = B^{-1}D : 2 x LDS + double __attribute__((aligned(8))) tmp[3 * LDS]; + double* r1dim = &(Slater_inv[row1 * LDS]); + double* r2dim = &(Slater_inv[row2 * LDS]); + double* r3dim = &(Slater_inv[row3 * LDS]); + IVDEP + ALIGNED + for (uint64_t j = 0; j < LDS; j++) { + tmp[j] = Binv[0] * r1dim[j] + Binv[1] * r2dim[j] + Binv[2] * r3dim[j]; + tmp[LDS + j] = + Binv[3] * r1dim[j] + Binv[4] * r2dim[j] + Binv[5] * r3dim[j]; + tmp[2 * LDS + j] = + Binv[6] * r1dim[j] + Binv[7] * r2dim[j] + Binv[8] * r3dim[j]; + } + + // Compute (S^T)^{-1} - C * tmp : Dim x LDS + for (uint64_t i = 0; i < Dim; i++) { + IVDEP + ALIGNED + for (uint64_t j = 0; j < LDS; j++) { + Slater_inv[i * LDS + j] -= C[i * 3] * tmp[j]; + Slater_inv[i * LDS + j] -= C[i * 3 + 1] * tmp[LDS + j]; + Slater_inv[i * LDS + j] -= C[i * 3 + 2] * tmp[2 * LDS + j]; + } + } + + return QMCKL_SUCCESS; +} +#+end_src + +#+NAME:woodbury_3x3_kernel_template +#+begin_src c +static inline qmckl_exit_code qmckl_woodbury_3x3_{Dim}( + const qmckl_context context, + const double* __restrict Updates, + const uint64_t* __restrict Updates_index, + const double breakdown, + double* __restrict Slater_inv, + double* __restrict determinant) { +/* + C := S^{-1} * U, dim x 3 + B := 1 + V * C, 3 x 3 + D := V * S^{-1}, 3 x dim +,*/ + + if (qmckl_context_check(context) == QMCKL_NULL_CONTEXT) { + return qmckl_failwith(context, + QMCKL_NULL_CONTEXT, + "qmckl_woodbury_3x3_{Dim}", + NULL); + } + + const uint64_t row1 = (Updates_index[0] - 1); + const uint64_t row2 = (Updates_index[1] - 1); + const uint64_t row3 = (Updates_index[2] - 1); + + // Compute C = (S^T)^{-1}U : {Dim} x 3 + double __attribute__((aligned(8))) C[3 * {Dim}]; + for (uint64_t i = 0; i < {Dim}; i++) { + C[i * 3] = 0; + C[i * 3 + 1] = 0; + C[i * 3 + 2] = 0; + IVDEP + ALIGNED + for (uint64_t k = 0; k < D{Dim}_P; k++) { + C[i * 3] += Slater_inv[i * D{Dim}_P + k] * Updates[k]; + C[i * 3 + 1] += Slater_inv[i * D{Dim}_P + k] * Updates[D{Dim}_P + k]; + C[i * 3 + 2] += Slater_inv[i * D{Dim}_P + k] * Updates[2 * D{Dim}_P + k]; + } + } + + // Compute B = 1 + VC : 3 x 3 + const double B0 = C[row1 * 3] + 1; + const double B1 = C[row1 * 3 + 1]; + const double B2 = C[row1 * 3 + 2]; + const double B3 = C[row2 * 3]; + const double B4 = C[row2 * 3 + 1] + 1; + const double B5 = C[row2 * 3 + 2]; + const double B6 = C[row3 * 3]; + const double B7 = C[row3 * 3 + 1]; + const double B8 = C[row3 * 3 + 2] + 1; + + // Check if determinant of B is not too close to zero + double det; + det = B0 * (B4 * B8 - B5 * B7) - B1 * (B3 * B8 - B5 * B6) + + B2 * (B3 * B7 - B4 * B6); + if (fabs(det) < breakdown) { + return QMCKL_FAILURE; + } + + // Update det(Slater) if passed + if (determinant) + *determinant *= det; + + // Compute B^{-1} with explicit formula for 3 x 3 inversion + double __attribute__((aligned(8))) Binv[9], idet = 1.0 / det; + Binv[0] = (B4 * B8 - B7 * B5) * idet; + Binv[1] = -(B1 * B8 - B7 * B2) * idet; + Binv[2] = (B1 * B5 - B4 * B2) * idet; + Binv[3] = -(B3 * B8 - B6 * B5) * idet; + Binv[4] = (B0 * B8 - B6 * B2) * idet; + Binv[5] = -(B0 * B5 - B3 * B2) * idet; + Binv[6] = (B3 * B7 - B6 * B4) * idet; + Binv[7] = -(B0 * B7 - B6 * B1) * idet; + Binv[8] = (B0 * B4 - B3 * B1) * idet; + + // tmp = B^{-1}D : 3 x D{Dim}_P + double __attribute__((aligned(8))) tmp[3 * D{Dim}_P]; + double* r1dim = &(Slater_inv[row1 * D{Dim}_P]); + double* r2dim = &(Slater_inv[row2 * D{Dim}_P]); + double* r3dim = &(Slater_inv[row3 * D{Dim}_P]); + IVDEP + ALIGNED + for (uint64_t j = 0; j < D{Dim}_P; j++) { + tmp[j] = Binv[0] * r1dim[j] + Binv[1] * r2dim[j] + Binv[2] * r3dim[j]; + tmp[D{Dim}_P + j] = + Binv[3] * r1dim[j] + Binv[4] * r2dim[j] + Binv[5] * r3dim[j]; + tmp[2 * D{Dim}_P + j] = + Binv[6] * r1dim[j] + Binv[7] * r2dim[j] + Binv[8] * r3dim[j]; + } + + // Compute (S^T)^{-1} - C * tmp : {Dim} x D{Dim}_P + for (uint64_t i = 0; i < {Dim}; i++) { + IVDEP + ALIGNED + for (uint64_t j = 0; j < D{Dim}_P; j++) { + Slater_inv[i * D{Dim}_P + j] -= C[i * 3] * tmp[j]; + Slater_inv[i * D{Dim}_P + j] -= C[i * 3 + 1] * tmp[D{Dim}_P + j]; + Slater_inv[i * D{Dim}_P + j] -= C[i * 3 + 2] * tmp[2 * D{Dim}_P + j]; + } + } + + return QMCKL_SUCCESS; +} +#+end_src + +#+NAME:woodbury_3x3_kernel_generator +#+begin_src python :noweb yes :exports none +text=""" +<> +""" +result = [] +for Dim in <>: + Dim=str(Dim) + result.append(text.replace("{Dim}",Dim) ) + +return ''.join(result) +#+end_src + +#+NAME:woodbury_3x3_switch-case_generator +#+begin_src python :noweb yes :exports none +text=""" +case {Dim}: + return qmckl_woodbury_3x3_{Dim}(context, + Updates, + Updates_index, + breakdown, + Slater_inv, + determinant);""" +result = [] +for Dim in <>: + Dim=str(Dim) + result.append(text.replace("{Dim}",Dim) ) + +return ''.join(result) +#+end_src + +#+begin_src c :tangle (eval c) :comments org :noweb yes +<> +#+end_src + +#+begin_src c :tangle (eval c) :comments org :noweb yes +qmckl_exit_code qmckl_woodbury_3x3(const qmckl_context context, + const uint64_t LDS, + const uint64_t Dim, + const double* Updates, + const uint64_t* Updates_index, + const double breakdown, + double* Slater_inv, + double* determinant) { + + if (qmckl_context_check(context) == QMCKL_NULL_CONTEXT) { + return qmckl_failwith( + context, + QMCKL_NULL_CONTEXT, + "qmckl_woodbury_3x3", + NULL); + } + + #ifdef HAVE_HPC + if (LDS == (1+(Dim-1)/SIMD_LENGTH)*SIMD_LENGTH) { // Most cases + switch (Dim) { + <> + } + } + else { // Updating smaller sub-matrix + return qmckl_woodbury_3x3_hpc( + context, + LDS, + Dim, + Updates, + Updates_index, + breakdown, + Slater_inv, + determinant); + } + #else + return qmckl_woodbury_3x3_doc( + context, + LDS, + Dim, + Updates, + Updates_index, + breakdown, + Slater_inv, + determinant); + // return qmckl_woodbury_3x3_hpc( + // context, + // LDS, + // Dim, + // Updates, + // Updates_index, + // breakdown, + // Slater_inv, + // determinant); + #endif + + return QMCKL_FAILURE; +} +#+end_src + +*** Fortran interfaces (exposed in qmckl_f.F90) +:PROPERTIES: +:Name: qmckl_woodbury_3x3 +:CRetType: qmckl_exit_code +:FRetType: qmckl_exit_code +:END: + +#+CALL: generate_f_interface(table=qmckl_woodbury_3x3_args,rettyp=get_value("FRetType"),fname=get_value("Name")) + +#+RESULTS: +#+begin_src f90 :tangle (eval fh_func) :comments org :exports none +interface + integer(c_int32_t) function qmckl_woodbury_3x3 & + (context, LDS, Dim, Updates, Updates_index, breakdown, Slater_inv, determinant) & + bind(C) + use, intrinsic :: iso_c_binding + import + implicit none + + integer (c_int64_t) , intent(in) , value :: context + integer (c_int64_t) , intent(in) , value :: LDS + integer (c_int64_t) , intent(in) , value :: Dim + real (c_double ) , intent(in) :: Updates(3*Dim) + integer (c_int64_t) , intent(in) :: Updates_index(3) + real (c_double ) , intent(in) , value :: breakdown + real (c_double ) , intent(inout) :: Slater_inv(LDS*Dim) + real (c_double ) , intent(inout) :: determinant + + end function qmckl_woodbury_3x3 +end interface +#+end_src + +#+CALL: generate_f_interface(table=qmckl_woodbury_3x3_args,rettyp=get_value("FRetType"),fname="qmckl_woodbury_3x3_hpc") + +#+RESULTS: +#+begin_src f90 :tangle (eval fh_func) :comments org :exports none +interface + integer(c_int32_t) function qmckl_woodbury_3x3_hpc & + (context, LDS, Dim, Updates, Updates_index, breakdown, Slater_inv, determinant) & + bind(C) + use, intrinsic :: iso_c_binding + import + implicit none + + integer (c_int64_t) , intent(in) , value :: context + integer (c_int64_t) , intent(in) , value :: LDS + integer (c_int64_t) , intent(in) , value :: Dim + real (c_double ) , intent(in) :: Updates(3*Dim) + integer (c_int64_t) , intent(in) :: Updates_index(3) + real (c_double ) , intent(in) , value :: breakdown + real (c_double ) , intent(inout) :: Slater_inv(LDS*Dim) + real (c_double ) , intent(inout) :: determinant + + end function qmckl_woodbury_3x3_hpc +end interface +#+end_src + +#+CALL: generate_f_interface(table=qmckl_woodbury_3x3_args,rettyp=get_value("FRetType"),fname="qmckl_woodbury_3x3_doc") + +#+RESULTS: +#+begin_src f90 :tangle (eval fh_func) :comments org :exports none +interface + integer(c_int32_t) function qmckl_woodbury_3x3_doc & + (context, LDS, Dim, Updates, Updates_index, breakdown, Slater_inv, determinant) & + bind(C) + use, intrinsic :: iso_c_binding + import + implicit none + + integer (c_int64_t) , intent(in) , value :: context + integer (c_int64_t) , intent(in) , value :: LDS + integer (c_int64_t) , intent(in) , value :: Dim + real (c_double ) , intent(in) :: Updates(3*Dim) + integer (c_int64_t) , intent(in) :: Updates_index(3) + real (c_double ) , intent(in) , value :: breakdown + real (c_double ) , intent(inout) :: Slater_inv(LDS*Dim) + real (c_double ) , intent(inout) :: determinant + + end function qmckl_woodbury_3x3_doc +end interface +#+end_src + +*** Performance +This function is most efficient when used in cases where there are only 3 rank-1 updates and +it is sure they will not result in a singular matrix. + +*** Tests +#+begin_src c :tangle (eval c_test) +assert(Updates3 != NULL); +assert(Updates_index3 != NULL); +assert(Slater_inv3_1 != NULL); +det = -1.23743195512859e-09; +rc = qmckl_woodbury_3x3(context, LDS, Dim, Updates3, Updates_index3, breakdown, Slater_inv3_1, &det); +assert(fabs(det - 1.602708950725074e-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] += Slater3[i * Dim + k] * Slater_inv3_1[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; + } + } +} +assert(rc == QMCKL_SUCCESS); +#+end_src + + * Sherman-Morrison with Slagel Splitting ** ~qmckl_sm_splitting~ :PROPERTIES: diff --git a/share/qmckl/test_data/sm_test.h b/share/qmckl/test_data/sm_test.h index 2d0a0d5..20f3447 100644 --- a/share/qmckl/test_data/sm_test.h +++ b/share/qmckl/test_data/sm_test.h @@ -15,7 +15,7 @@ const double Updates3[72] = {-0.32320992089807998, -0.1768221333622936, -0.044189138920046375, -0.0083658993244170032, -0.13345118239521958, -0.088903807103633908, -0.25946535170078289, 0.14435659933042233, -0.21090563386678701, 0.019084170460701003, 0.073579406365752206, -0.013528384268283893, 0.031103432178496981, -0.25866857916116798, 0.022464506328106093, 0.032419085502625011, -0.083496315404772786, -0.392626002430916, -0.057606873102486092, 0.1326765250414613, 0.034384071826935009, 0.0, 0.0, 0.0, 0.25532682985067379, -0.025051936507225009, 0.17769842967391061, 0.080573752522469011, 0.11870069429278349, 0.35069981217384349, 0.127604305744171, -0.081144510089870836, -0.04023376852273898, 0.0045312587171792984, 0.017237693071365301, 0.0386847481131554, -0.21935135498642899, 0.040930040180683996, -0.057743255048990395, -0.289656192064286, 0.26965582184493592, 0.257760990411043, -0.1886596158146856, -0.036238497123122194, -0.1386065091937782, 0.0, 0.0, 0.0, 0.0015524076297879202, -0.1212832294404507, 0.028310360386967659, -0.005844349274411801, 0.0046449899673459971, 0.044258039444684996, 0.0025386139750480999, 0.0354412645101548, 0.064816890284419101, 0.1017611473798752, -0.25162110477685901, -0.0285851191729307, -0.024413086473941803, -0.22420015186071351, 0.059393912553786996, 0.04153373837471, 0.01215143408626318, 0.203658737242222, -0.0020150262862444011, -0.037645858246833121, 0.0714646056294439, 0.0, 0.0, 0.0}; const double Slater3[441] = {-2.8945870399475102, 3.5455725193023699, 2.0470812320709202, -3.5464441776275599, -2.0474903583526598, -2.89596366882324, -0.61329728364944502, 0.70991641283035301, 0.45664468407630898, 0.59523195028305098, 0.26079276204109197, -0.35093706846237199, -0.095610238611698206, -0.130077064037323, 0.10946778208017301, 0.021800471469759899, 0.048480678349733401, -0.092234551906585693, -0.0160505045205355, -0.028107110410928698, 0.0080896317958831804, -0.78021097183227495, -0.95558542013168302, -0.55174458026885997, -0.95579683780670199, -0.55179446935653698, 0.78044348955154397, -0.115299895405769, -0.11754634231329, -0.0318448171019554, -0.00082233443390577999, 0.064001239836216001, -0.049412809312343597, -0.074464745819568606, 0.19851659238338501, -0.088878795504569993, 0.135610401630402, -0.13736967742443101, -0.101879440248013, 0.102390937507153, 0.174509197473526, -0.0599150508642197, -0.00527230883017182, 0.00029381641070358499, 0.0072919740341603799, -0.00026352208806201799, 0.0068838247098028703, 0.0047294595278799499, 0.11728889495134399, -0.062190085649490398, -0.15969239175319699, -0.10645916312933, 0.112943567335606, -0.045737843960523598, 0.13196058571338701, 0.038660705089569099, -0.050266433507204097, -0.13745591044426, -0.037740666419267703, 0.11781705915927899, 0.19417031109332999, 0.044309988617896999, 0.0096954777836799604, -0.30874741077423101, -0.37815779447555498, 0.218254208564758, 0.378139227628708, -0.21839827299118, -0.30879178643226601, 0.025539221242070202, 0.112043909728527, 0.037676706910133403, 0.025347150862216901, -0.19991625845432301, 0.13326919078826899, 0.213842943310738, 0.131471157073975, 0.14626120030879999, -0.0118067460134625, 0.093547157943248693, 0.22439678013324699, 0.0082425400614738499, -0.015649655833840401, -0.00653020711615682, -1.52881526947021, -1.9163775505148799e-05, -2.1623263359069802, -1.5540548702119799e-05, 2.16284847259521, -1.52953028678894, -0.26402890682220498, 0.024944067001342801, -0.37140902876853898, -0.044071510434150703, -0.29843890666961698, -0.177285701036453, -0.058585006743669503, -0.0183692276477814, -0.026075478643178902, -0.15623773634433699, -0.011319605633616401, 0.054057534784078598, -0.23151709139347099, -0.00089795450912788499, 0.10536465793848, -0.067333526909351293, 0.00043256155913695698, 0.095035225152969402, -0.00043632232700474598, 0.094624765217304202, 0.066768139600753798, 0.14448715746402699, -0.12090456485748299, -0.203432962298393, -0.21472349762916601, 0.154288679361343, -0.071518480777740506, 0.27918133139610302, 0.080454014241695404, -0.0361245274543762, 0.0566458702087402, -0.030157707631588, 0.25150132179260298, -0.082445412874221802, -0.0114687560126185, 0.027113301679492, -2.2779068946838401, -2.3393469746224599e-05, -3.2218937873840301, -1.7939200915861899e-05, 3.22278833389282, -2.2791447639465301, -0.47945570945739702, 0.045197278261184699, -0.64478874206543002, -0.080234304070472703, -0.47389149665832497, -0.23455648124218001, -0.10695217549800901, -0.033054649829864502, -0.195749551057816, -0.040076982229948002, 0.094596333801746396, 0.098401188850402804, -0.059563819319009802, -0.000334969052346423, 0.030707944184541699, -0.0025739683769643298, -0.0020174346864223502, -0.0024467820767313199, -0.00204527890309691, 0.00013988610589876801, 0.00073755031917244196, 0.17339251935482, 0.099962860345840496, 0.14622049033641801, -0.088966980576515198, 0.040044382214546197, -1.5416861060657501e-05, -0.081159926950931494, -0.11909016221761699, 0.170753449201584, 0.031124599277973199, -0.052109345793724102, 0.121445283293724, 0.0289684906601906, 0.020809086039662399, 0.0544226132333279, -0.0043673445470631097, -0.00014539182302542001, 0.0061219600029289696, 0.000189467871678062, 0.0060523007996380303, 0.00425094133242965, 0.0905451029539108, 0.058540407568216303, -0.15191346406936601, 0.11511342227459, 0.15016922354698201, -0.11066282540559801, -0.15089659392833699, -0.021995550021529201, 0.10021472722291901, 0.019932290539145501, 0.070281185209751101, -0.120184391736984, -0.030551897361874601, 0.0072047915309667596, 0.041792899370193502, -0.0097634727135300602, 0.0119331693276763, -0.0068263513967394803, 0.011701960116624799, -0.0068089049309492103, 0.0095072658732533507, 0.133816182613373, -0.15090283751487699, 0.070243604481220204, 0.077758952975273105, -0.071993313729763003, -0.033549431711435297, -0.029018172994255999, 0.10475520789623299, 0.047332767397165298, 0.17077720165252699, 0.057527918368577999, -0.043988067656755399, 0.11077278107404701, -0.21170908212661699, 0.043612048029899597, -0.71565270423889205, 2.80283820757177e-05, 1.0121610164642301, -2.41986454057042e-05, 1.0123220682144201, 0.71586799621581998, -0.045286595821380601, -0.0269623268395662, 0.0683262273669243, -0.047560662031173699, -0.062597043812274905, 0.045772761106491103, 0.063010454177856404, 0.0197743345052004, -0.025724532082676901, -0.20542661845684099, -0.0248414911329746, 0.058127623051405002, 0.30385830998420699, 0.00210775528103113, -0.12754787504673001, -0.00073456991231069001, 0.000104061764432117, -0.0010063005611300501, 0.00014142321015242501, 0.00095045292982831597, -0.00064003589795902404, 0.056538689881563201, -0.038196403533220298, 0.095246985554695102, 0.077704243361949907, 0.089713566005229894, 0.058404259383678402, 0.097089007496833801, -1.8242251826450202e-05, -0.070699930191039997, 0.0231548044830561, 0.036239527165889698, -0.064700096845626803, 0.035663921386003501, -0.012914831750094899, -0.0478814952075481, -0.0285779368132353, 2.2119384368579599e-07, -0.0404084548354149, 4.62594880445977e-06, 0.040473498404025997, -0.028664523735642398, 0.0818745791912079, -0.0072916029021143896, 0.171691119670868, 0.0142411412671208, 0.227563425898552, 0.23875248432159399, 0.019401129335165, 0.0041248365305364097, -0.273390233516693, 0.031942136585712398, 0.24207504093647, -0.016599044203758202, 0.0499182641506195, -0.00059447408420965097, -0.092382267117500305, -0.083720728754997295, -0.102523192763329, -0.059237916022539097, -0.10253403335809699, -0.0591498985886574, 0.083691440522670704, 0.093738317489623996, 0.118414394557476, 0.119053602218628, -0.19025875627994501, -0.017257452011108398, -0.14737996459007299, -0.106449924409389, 0.119639433920383, -0.0358475148677826, 0.16083629429340399, -0.135845571756363, -0.045223556458950001, 0.129632458090782, 0.204596728086472, -0.089926846325397505, -0.0016409500967711199, 0.0020083498675376199, 0.0011536112288013101, -0.0019761291332542901, -0.0011378186754882301, -0.0015965295024216199, 0.062009602785110501, -0.085591755807399694, -0.073869466781616197, -0.129948750138283, -0.025633471086621298, 0.11476875841617599, 0.0570255033671856, -0.098354063928127303, 0.048130486160516697, -0.075562968850135803, -0.087558984756469699, -0.061446368694305399, 0.073952160775661496, 0.096327632665634197, -0.10392674803733799, -0.086937576532363905, -5.2227896958356703e-05, -0.12295132130384399, -5.67086790397298e-05, 0.122932203114033, -0.086922481656074496, 0.092386581003665896, 0.0563923679292202, 0.16267444193363201, -0.103307262063026, 0.177027583122253, 0.15235325694084201, -0.13730293512344399, -0.036718469113111503, -0.13380806148052199, -0.14056211709976199, 0.11525499820709199, 0.122316166758537, -0.211628392338753, -0.0109922774136066, 0.17250911891460399, -0.71328485012054399, -0.87364697456359897, -0.50431287288665805, -0.87368428707122803, -0.50450080633163497, 0.71341556310653698, -0.0728774294257164, -0.0137394573539495, -0.131415024399757, 0.120499663054943, -0.15048809349536901, -0.016238121315836899, 0.25341770052909901, 0.061544414609670597, -0.124150305986404, -0.023104058578610399, 0.161576017737389, -0.18417926132678999, -0.016373874619603199, -0.0301918238401413, 0.00962609611451626, -0.00358590018004179, -3.1569013572152501e-06, 0.00505110481753945, -1.33700987134944e-05, 0.0050756097771227403, 0.0036168387159705201, 0.076649472117423997, -0.0148532707244158, -0.15424914658069599, -0.031277053058147403, 0.20174449682235701, -0.21435502171516399, 0.043405968695879003, 0.0060502337291836704, 0.23922684788703899, 0.022777535021305102, 0.22072769701480899, 0.035028267651796299, -0.037091828882694203, -0.0024164030328393, 0.115568056702614, -0.0137155568227172, -0.00072690693195909305, 0.019026592373848, 0.00073597067967057196, 0.018235495314001999, 0.012611641548574, 0.14907942712307001, 0.10721461474895499, -0.205590710043907, 0.18899101018905601, 0.14405034482479101, -0.049517802894115399, -0.23817741870880099, -0.062822751700878102, -0.056222390383482, 0.079762905836105305, -0.057780988514423398, -0.208331778645515, -0.11229432374239, 0.030398890376091, 0.0136762224137783, -0.13207408785819999, -0.00012266315752640399, -0.18668732047080999, -0.000116608949610963, 0.18647037446498901, -0.13181127607822399, 0.17992316186428101, 0.0310163982212543, 0.194987177848816, -0.051282022148370701, 0.079243704676628099, -0.029616238549351699, -0.065854735672473894, -0.025143278762698201, 0.277732163667679, -0.117880158126354, -0.184251189231873, 0.0632317289710045, -0.16761179268360099, -0.0045813838951289697, -0.030651951208710702, -0.0068073021247982996, -0.0083365431055426598, 0.0048150913789868398, 0.0083073899149894697, -0.0047997133806347804, -0.0067770029418170504, 0.077614806592464405, 0.12953585386276201, -0.063416801393032102, 0.138088583946228, -0.10224375873804099, 0.164952263236046, 0.026345754042267799, 0.13718618452549, 0.084768116474151597, 0.096043966710567502, -0.054612904787063599, 0.138456135988235, -0.071488708257675199, 0.13371524214744601, 0.14154277741908999}; // WB3 - // double Slater_inv3_1[504] = {-0.056658742514349103, -9.5006825962797503, -18.307026635935799, -0.36744251865365501, 31.610841135834299, 39.084671241308698, -19.703711132730799, 18.666497646833299, 121.964198363159, -17.598444551917201, -2.9520245875548698, 24.935160344122199, 13.992695020707, 4.6612706754314903, -3.6234738869455199, -28.604054847833801, 9.5739197944338503, -62.128443913882499, -67.232459151277695, -11.803301377693099, -3.8508731471217099, 0.0, 0.0, 0.0, 0.069411805979426894, 10.8007994955779, 22.458394727678201, -0.89282708659453403, -39.476164388726097, -47.5420201141931, 24.536662733275399, -23.351558477080602, -146.60044409871099, 21.549928185153298, 3.32891560872004, -30.5549979706051, -17.384760133954, -5.4401084934617003, 4.3730845094487396, 35.2040348414587, -11.414817838980399, 74.926509290741393, 80.145978783950099, 14.6842509146363, 5.7893824160342398, 0.0, 0.0, 0.0, 0.041199702875412497, -6.4779318938824302, -13.2989719358296, 0.51508213587065199, 23.9434304832055, 27.923633944040301, -14.994539048994801, 13.545190256632999, 84.658750799602501, -12.440996315879, -1.6347815496642299, 17.4053340515119, 10.4563880132908, 3.2716511123291698, -2.32038524814726, -20.901080430435499, 6.5092932119827198, -43.310144838525801, -46.266317618221201, -9.0209731319320596, -3.3217327746699499, 0.0, 0.0, 0.0, -0.071364036152653701, 11.529909516191401, 22.9175425489932, 0.44722818276140403, -39.897585842875301, -48.876557451246697, 24.801523764393401, -23.690956189203401, -151.28132599138999, 21.549304148995901, 3.4094704881876998, -30.687597458642099, -17.659848105023201, -5.7069215817131997, 4.0886157921745996, 35.564950307785701, -12.1803912964186, 77.135406641174299, 83.318689013925706, 14.819424258558801, 4.7782939163062803, 0.0, 0.0, 0.0, -0.040051226770134098, -6.7134150132482402, -13.312257348225099, -0.26126985985289403, 22.204441530888801, 27.729627986407898, -13.7012421876807, 13.0503428483308, 85.297842345116607, -12.439369240025201, -1.60848061970372, 17.698309764178902, 10.1798985121263, 3.3110252774145601, -2.5466287558690199, -20.410023365852201, 6.7633439222022202, -43.4149505982517, -46.886928763683102, -7.88950712988734, -2.6927901019362199, 0.0, 0.0, 0.0, -0.058248999176268398, 9.0508747193022892, 18.587941141225699, -0.73447131422595202, -35.308936282117699, -39.940782969048001, 21.9119312895712, -20.076960036338601, -123.935102576568, 17.592669318251101, 3.0259816420954402, -24.782453059479, -15.379073099754899, -4.67601503080067, 3.33242427220405, 30.0344780145867, -9.0772191462285008, 63.391820359557002, 67.760837774760006, 13.3701295015636, 4.8413052345891403, 0.0, 0.0, 0.0, -0.00048534604109837199, -1.8238859168577699, 0.56645976558050504, -0.011652978445607001, 3.3511865791586, 2.0262681174419299, -2.14462816857628, 1.8811114733258301, 1.72516289469276, -0.0410444803602956, -0.17992011162600399, 4.6474809764852196, 0.32638302042170703, 1.28068103014527, 0.42381953652975901, -1.62158383882094, 1.84081037263479, -1.2636267813034701, -0.97726719185308597, -0.84319863660797401, 0.57245121780013697, 0.0, 0.0, 0.0, 0.00072965273109526496, -0.74868100456805098, 0.61375144696985096, -0.013670796650539699, -10.880212250529199, -2.2389072194253701, 6.8446360871752603, -3.8338819099152301, -0.83708262317409499, 0.055638693619984997, 0.16395892268443801, -6.4020540512225601, -0.87619791103918299, 0.67273193621704896, -0.96217527481654197, 3.5322304037025498, 0.74780382069687101, 0.457651060635482, 2.4127372990709501, 5.8207812126355103, 0.41153697505715597, 0.0, 0.0, 0.0, 0.00047300381075295099, -0.24273841428794099, 0.62931133864105804, -0.0075433586410305498, -3.8733549821913198, -2.7042122832831499, 2.4066006453807001, -1.90501007795962, -11.4961539239149, -0.025181201641384401, 0.20951155742128399, 4.41315756942062, -2.02827911285326, 0.53245648205106699, -0.57146100385840204, 1.6986603412216601, 0.20698230514139301, 5.5487259477006203, 4.3923373342920504, 2.6422104099671002, 0.12108516249854701, 0.0, 0.0, 0.0, 0.00082691786224778699, 0.113024111733347, 2.7966391201096901, -0.052696331353419397, -4.8718908471754601, -4.3479524721016301, 3.1326652654405498, -2.1520186098021998, -17.7293360378548, -0.043482158450766098, 0.29115918226676102, 7.9265874331542596, -4.4255647905147004, -1.3335239860704799, -1.2720331573702599, 2.2195046250833101, 0.037526349197067099, 8.8672908187991606, 8.6317273115312592, 1.83700699526623, 1.8931859854467199, 0.0, 0.0, 0.0, 0.000439374179950941, 1.8174276372186899, -0.095470042913778502, 0.0240432915091328, 0.33095163979973902, 0.419313643627721, -0.26508090252151401, 0.40758512406775099, 6.2032604963961004, 0.0299978360553445, -0.0350221248964512, -4.5247535085126103, 2.4252753636201798, -1.0443273705703999, -0.77183418222125399, -0.15673357470618601, -1.86654030909075, -2.3976989367798298, -1.56808861204302, 0.340202658594777, -1.0312623606052, 0.0, 0.0, 0.0, -0.00063346566713256398, -0.661487272350328, -0.31969668820761499, -0.0207136433303984, -9.5617277834137209, -0.76548087353469296, 6.1338905273463604, -3.6493438141085299, -1.93160595722129, -0.054328540468196101, 0.063300925950509901, 8.0421985164502203, -6.7317743058458301, 0.56920882928816896, 1.39543139815216, 5.8217064803946901, 0.664937044390989, 2.0166407848672301, 0.66314768899536403, 2.4978865189964501, 0.90776612934725198, 0.0, 0.0, 0.0, -0.00080526074137288, 0.866074714994297, -3.1810443538305599, 0.016712052067642799, 8.8525588583729107, 4.9029982933499703, -5.6387712154483003, 4.6377500718450797, 24.5361964752293, 0.036812637615073897, -0.307516025692601, -7.7158500239832, 6.5793196290456004, -0.90848412347546603, 1.2781649114678699, -4.0662241638244598, -0.85073071123983601, -12.848505169556301, -11.568586481641701, -3.9619743954566902, -0.100174674295188, 0.0, 0.0, 0.0, 0.00069201116604256595, -0.421899716446686, -0.59032673715943695, 0.00276476648616889, 5.2753594946225197, 3.1708842333983198, -3.5051204501630502, -1.5506563388697101, 13.474253171986501, 0.038327175723695497, -0.21097106418518499, -8.0266607832375794, 6.6217101288174902, 1.26803738570163, -1.6239859547120901, -5.0491300215678701, 0.316141906166655, -6.8977435746728997, -6.9768951380000299, 1.3337978430772699, 0.27199695684951902, 0.0, 0.0, 0.0, -0.00038359474997356102, 0.72100151176486804, -2.5365266414467098, 0.014980427848668199, 6.4663011480631196, 3.0354904137032901, -4.11275562441097, 3.6805173953314201, 18.1353313216757, 0.0085443837305102504, -0.16921638348780199, -3.85900106683119, 3.0428583654892001, -0.42146305418508101, 0.73140085261157395, -3.0095115595924198, -0.74724977432843798, -7.5689235578938199, -9.1654977643928905, -2.6018219553374502, -0.138580489522561, 0.0, 0.0, 0.0, 3.1034344981670402e-05, 0.57346844296584099, -3.2816001969233399, 0.0098861018626169896, 2.7223870822496599, 3.19376385336182, -1.6094836478010499, 3.2093742171519399, 7.7061355268378202, 0.00180174673425388, -0.239342015844032, -0.17647999921287399, 1.7270571869450699, 0.18584316968323999, -0.066662651903874603, -2.3139065344532099, -0.65593666316055899, -3.9145254849983999, -3.4618799405385898, -2.6291335069492199, -0.23750024714478199, 0.0, 0.0, 0.0, 0.00031371845096864198, -0.27014711720045598, -0.259122675110673, 0.0083797376871939597, 10.324015180961201, 0.62494833390683702, -6.5624316442850503, 3.9711776808922599, 2.31246521547006, 0.030498354639596902, -0.030734962225840101, -4.3487398562952402, 5.7898821592163596, 0.12407032656822101, -0.67808345005445703, -4.5636059941770499, 0.27242993392548098, -0.151105792955298, -2.1330095124199899, -4.5785158627476203, -0.23182086620430201, 0.0, 0.0, 0.0, 0.00056545552199213298, 0.069522397061161395, 2.96885317382849, -0.051806865055980901, -9.7375846906152006, -3.7168685914889101, 6.2375373511235503, -2.6577205028209501, -20.3171172054412, -0.021304232202155899, 0.23708001500731801, 6.1434851687025596, -6.0140190081509104, -1.2111808932828501, -1.0189029621818799, 4.9024564940572102, 0.071576063751164501, 10.0372849796479, 8.8217235588703602, 3.2002119174291299, 1.88033862253058, 0.0, 0.0, 0.0, -9.2381558436834005e-06, 0.209953576303675, 0.59897227695759403, 0.015408836716403701, 0.72667814261222297, 1.04253074219921, -0.36639952244782897, 2.1938545786385899, 10.5511658202853, -0.0060583673747924196, -0.040276481247202303, 0.19563265784432399, 0.695642528811383, 0.092195243295609006, -0.11700648378234201, -1.12128461392435, -0.24506719194217999, -5.08663676195245, -5.4127332500372898, -1.5233052074208899, -0.39207349407666497, 0.0, 0.0, 0.0, -6.8044267141740398e-05, 1.4457806883519999, 3.6350558224209202, -0.050692260884422198, 6.5385777171092396, -6.1735157165659498, -4.2016623917464404, 0.71692866600594696, -26.888355558432, 0.028941180562419198, 0.41559738160577497, -1.41973334424801, 2.2623160579408399, 0.052440836591797699, 0.30315007284467799, -2.1595166526410599, -1.58941085218909, 13.577357339870201, 12.5510397413387, -2.28593652323275, 1.6131542987429599, 0.0, 0.0, 0.0, 2.4964374967303e-05, 0.93824074473311303, -2.4541545673520901, 0.034536963170488502, 13.190305707504599, 4.9824580626416397, -8.2907707221262701, 7.2636404959165102, 24.581904470708601, -0.0158179845091273, -0.31398696530982101, -0.31358040502335599, 2.3904278510213701, 0.29019959630452602, -0.27262779401736098, -2.5076564852846102, -1.07562902654376, -12.0644593562773, -12.129759160663401, -8.6137752723124397, -0.85889008520979604, 0.0, 0.0, 0.0}; + double Slater_inv3_1[504] = {-0.056658742514349103, -9.5006825962797503, -18.307026635935799, -0.36744251865365501, 31.610841135834299, 39.084671241308698, -19.703711132730799, 18.666497646833299, 121.964198363159, -17.598444551917201, -2.9520245875548698, 24.935160344122199, 13.992695020707, 4.6612706754314903, -3.6234738869455199, -28.604054847833801, 9.5739197944338503, -62.128443913882499, -67.232459151277695, -11.803301377693099, -3.8508731471217099, 0.0, 0.0, 0.0, 0.069411805979426894, 10.8007994955779, 22.458394727678201, -0.89282708659453403, -39.476164388726097, -47.5420201141931, 24.536662733275399, -23.351558477080602, -146.60044409871099, 21.549928185153298, 3.32891560872004, -30.5549979706051, -17.384760133954, -5.4401084934617003, 4.3730845094487396, 35.2040348414587, -11.414817838980399, 74.926509290741393, 80.145978783950099, 14.6842509146363, 5.7893824160342398, 0.0, 0.0, 0.0, 0.041199702875412497, -6.4779318938824302, -13.2989719358296, 0.51508213587065199, 23.9434304832055, 27.923633944040301, -14.994539048994801, 13.545190256632999, 84.658750799602501, -12.440996315879, -1.6347815496642299, 17.4053340515119, 10.4563880132908, 3.2716511123291698, -2.32038524814726, -20.901080430435499, 6.5092932119827198, -43.310144838525801, -46.266317618221201, -9.0209731319320596, -3.3217327746699499, 0.0, 0.0, 0.0, -0.071364036152653701, 11.529909516191401, 22.9175425489932, 0.44722818276140403, -39.897585842875301, -48.876557451246697, 24.801523764393401, -23.690956189203401, -151.28132599138999, 21.549304148995901, 3.4094704881876998, -30.687597458642099, -17.659848105023201, -5.7069215817131997, 4.0886157921745996, 35.564950307785701, -12.1803912964186, 77.135406641174299, 83.318689013925706, 14.819424258558801, 4.7782939163062803, 0.0, 0.0, 0.0, -0.040051226770134098, -6.7134150132482402, -13.312257348225099, -0.26126985985289403, 22.204441530888801, 27.729627986407898, -13.7012421876807, 13.0503428483308, 85.297842345116607, -12.439369240025201, -1.60848061970372, 17.698309764178902, 10.1798985121263, 3.3110252774145601, -2.5466287558690199, -20.410023365852201, 6.7633439222022202, -43.4149505982517, -46.886928763683102, -7.88950712988734, -2.6927901019362199, 0.0, 0.0, 0.0, -0.058248999176268398, 9.0508747193022892, 18.587941141225699, -0.73447131422595202, -35.308936282117699, -39.940782969048001, 21.9119312895712, -20.076960036338601, -123.935102576568, 17.592669318251101, 3.0259816420954402, -24.782453059479, -15.379073099754899, -4.67601503080067, 3.33242427220405, 30.0344780145867, -9.0772191462285008, 63.391820359557002, 67.760837774760006, 13.3701295015636, 4.8413052345891403, 0.0, 0.0, 0.0, -0.00048534604109837199, -1.8238859168577699, 0.56645976558050504, -0.011652978445607001, 3.3511865791586, 2.0262681174419299, -2.14462816857628, 1.8811114733258301, 1.72516289469276, -0.0410444803602956, -0.17992011162600399, 4.6474809764852196, 0.32638302042170703, 1.28068103014527, 0.42381953652975901, -1.62158383882094, 1.84081037263479, -1.2636267813034701, -0.97726719185308597, -0.84319863660797401, 0.57245121780013697, 0.0, 0.0, 0.0, 0.00072965273109526496, -0.74868100456805098, 0.61375144696985096, -0.013670796650539699, -10.880212250529199, -2.2389072194253701, 6.8446360871752603, -3.8338819099152301, -0.83708262317409499, 0.055638693619984997, 0.16395892268443801, -6.4020540512225601, -0.87619791103918299, 0.67273193621704896, -0.96217527481654197, 3.5322304037025498, 0.74780382069687101, 0.457651060635482, 2.4127372990709501, 5.8207812126355103, 0.41153697505715597, 0.0, 0.0, 0.0, 0.00047300381075295099, -0.24273841428794099, 0.62931133864105804, -0.0075433586410305498, -3.8733549821913198, -2.7042122832831499, 2.4066006453807001, -1.90501007795962, -11.4961539239149, -0.025181201641384401, 0.20951155742128399, 4.41315756942062, -2.02827911285326, 0.53245648205106699, -0.57146100385840204, 1.6986603412216601, 0.20698230514139301, 5.5487259477006203, 4.3923373342920504, 2.6422104099671002, 0.12108516249854701, 0.0, 0.0, 0.0, 0.00082691786224778699, 0.113024111733347, 2.7966391201096901, -0.052696331353419397, -4.8718908471754601, -4.3479524721016301, 3.1326652654405498, -2.1520186098021998, -17.7293360378548, -0.043482158450766098, 0.29115918226676102, 7.9265874331542596, -4.4255647905147004, -1.3335239860704799, -1.2720331573702599, 2.2195046250833101, 0.037526349197067099, 8.8672908187991606, 8.6317273115312592, 1.83700699526623, 1.8931859854467199, 0.0, 0.0, 0.0, 0.000439374179950941, 1.8174276372186899, -0.095470042913778502, 0.0240432915091328, 0.33095163979973902, 0.419313643627721, -0.26508090252151401, 0.40758512406775099, 6.2032604963961004, 0.0299978360553445, -0.0350221248964512, -4.5247535085126103, 2.4252753636201798, -1.0443273705703999, -0.77183418222125399, -0.15673357470618601, -1.86654030909075, -2.3976989367798298, -1.56808861204302, 0.340202658594777, -1.0312623606052, 0.0, 0.0, 0.0, -0.00063346566713256398, -0.661487272350328, -0.31969668820761499, -0.0207136433303984, -9.5617277834137209, -0.76548087353469296, 6.1338905273463604, -3.6493438141085299, -1.93160595722129, -0.054328540468196101, 0.063300925950509901, 8.0421985164502203, -6.7317743058458301, 0.56920882928816896, 1.39543139815216, 5.8217064803946901, 0.664937044390989, 2.0166407848672301, 0.66314768899536403, 2.4978865189964501, 0.90776612934725198, 0.0, 0.0, 0.0, -0.00080526074137288, 0.866074714994297, -3.1810443538305599, 0.016712052067642799, 8.8525588583729107, 4.9029982933499703, -5.6387712154483003, 4.6377500718450797, 24.5361964752293, 0.036812637615073897, -0.307516025692601, -7.7158500239832, 6.5793196290456004, -0.90848412347546603, 1.2781649114678699, -4.0662241638244598, -0.85073071123983601, -12.848505169556301, -11.568586481641701, -3.9619743954566902, -0.100174674295188, 0.0, 0.0, 0.0, 0.00069201116604256595, -0.421899716446686, -0.59032673715943695, 0.00276476648616889, 5.2753594946225197, 3.1708842333983198, -3.5051204501630502, -1.5506563388697101, 13.474253171986501, 0.038327175723695497, -0.21097106418518499, -8.0266607832375794, 6.6217101288174902, 1.26803738570163, -1.6239859547120901, -5.0491300215678701, 0.316141906166655, -6.8977435746728997, -6.9768951380000299, 1.3337978430772699, 0.27199695684951902, 0.0, 0.0, 0.0, -0.00038359474997356102, 0.72100151176486804, -2.5365266414467098, 0.014980427848668199, 6.4663011480631196, 3.0354904137032901, -4.11275562441097, 3.6805173953314201, 18.1353313216757, 0.0085443837305102504, -0.16921638348780199, -3.85900106683119, 3.0428583654892001, -0.42146305418508101, 0.73140085261157395, -3.0095115595924198, -0.74724977432843798, -7.5689235578938199, -9.1654977643928905, -2.6018219553374502, -0.138580489522561, 0.0, 0.0, 0.0, 3.1034344981670402e-05, 0.57346844296584099, -3.2816001969233399, 0.0098861018626169896, 2.7223870822496599, 3.19376385336182, -1.6094836478010499, 3.2093742171519399, 7.7061355268378202, 0.00180174673425388, -0.239342015844032, -0.17647999921287399, 1.7270571869450699, 0.18584316968323999, -0.066662651903874603, -2.3139065344532099, -0.65593666316055899, -3.9145254849983999, -3.4618799405385898, -2.6291335069492199, -0.23750024714478199, 0.0, 0.0, 0.0, 0.00031371845096864198, -0.27014711720045598, -0.259122675110673, 0.0083797376871939597, 10.324015180961201, 0.62494833390683702, -6.5624316442850503, 3.9711776808922599, 2.31246521547006, 0.030498354639596902, -0.030734962225840101, -4.3487398562952402, 5.7898821592163596, 0.12407032656822101, -0.67808345005445703, -4.5636059941770499, 0.27242993392548098, -0.151105792955298, -2.1330095124199899, -4.5785158627476203, -0.23182086620430201, 0.0, 0.0, 0.0, 0.00056545552199213298, 0.069522397061161395, 2.96885317382849, -0.051806865055980901, -9.7375846906152006, -3.7168685914889101, 6.2375373511235503, -2.6577205028209501, -20.3171172054412, -0.021304232202155899, 0.23708001500731801, 6.1434851687025596, -6.0140190081509104, -1.2111808932828501, -1.0189029621818799, 4.9024564940572102, 0.071576063751164501, 10.0372849796479, 8.8217235588703602, 3.2002119174291299, 1.88033862253058, 0.0, 0.0, 0.0, -9.2381558436834005e-06, 0.209953576303675, 0.59897227695759403, 0.015408836716403701, 0.72667814261222297, 1.04253074219921, -0.36639952244782897, 2.1938545786385899, 10.5511658202853, -0.0060583673747924196, -0.040276481247202303, 0.19563265784432399, 0.695642528811383, 0.092195243295609006, -0.11700648378234201, -1.12128461392435, -0.24506719194217999, -5.08663676195245, -5.4127332500372898, -1.5233052074208899, -0.39207349407666497, 0.0, 0.0, 0.0, -6.8044267141740398e-05, 1.4457806883519999, 3.6350558224209202, -0.050692260884422198, 6.5385777171092396, -6.1735157165659498, -4.2016623917464404, 0.71692866600594696, -26.888355558432, 0.028941180562419198, 0.41559738160577497, -1.41973334424801, 2.2623160579408399, 0.052440836591797699, 0.30315007284467799, -2.1595166526410599, -1.58941085218909, 13.577357339870201, 12.5510397413387, -2.28593652323275, 1.6131542987429599, 0.0, 0.0, 0.0, 2.4964374967303e-05, 0.93824074473311303, -2.4541545673520901, 0.034536963170488502, 13.190305707504599, 4.9824580626416397, -8.2907707221262701, 7.2636404959165102, 24.581904470708601, -0.0158179845091273, -0.31398696530982101, -0.31358040502335599, 2.3904278510213701, 0.29019959630452602, -0.27262779401736098, -2.5076564852846102, -1.07562902654376, -12.0644593562773, -12.129759160663401, -8.6137752723124397, -0.85889008520979604, 0.0, 0.0, 0.0}; // SM+spl double Slater_inv3_2[504] = {-0.056658742514349103, -9.5006825962797503, -18.307026635935799, -0.36744251865365501, 31.610841135834299, 39.084671241308698, -19.703711132730799, 18.666497646833299, 121.964198363159, -17.598444551917201, -2.9520245875548698, 24.935160344122199, 13.992695020707, 4.6612706754314903, -3.6234738869455199, -28.604054847833801, 9.5739197944338503, -62.128443913882499, -67.232459151277695, -11.803301377693099, -3.8508731471217099, 0.0, 0.0, 0.0, 0.069411805979426894, 10.8007994955779, 22.458394727678201, -0.89282708659453403, -39.476164388726097, -47.5420201141931, 24.536662733275399, -23.351558477080602, -146.60044409871099, 21.549928185153298, 3.32891560872004, -30.5549979706051, -17.384760133954, -5.4401084934617003, 4.3730845094487396, 35.2040348414587, -11.414817838980399, 74.926509290741393, 80.145978783950099, 14.6842509146363, 5.7893824160342398, 0.0, 0.0, 0.0, 0.041199702875412497, -6.4779318938824302, -13.2989719358296, 0.51508213587065199, 23.9434304832055, 27.923633944040301, -14.994539048994801, 13.545190256632999, 84.658750799602501, -12.440996315879, -1.6347815496642299, 17.4053340515119, 10.4563880132908, 3.2716511123291698, -2.32038524814726, -20.901080430435499, 6.5092932119827198, -43.310144838525801, -46.266317618221201, -9.0209731319320596, -3.3217327746699499, 0.0, 0.0, 0.0, -0.071364036152653701, 11.529909516191401, 22.9175425489932, 0.44722818276140403, -39.897585842875301, -48.876557451246697, 24.801523764393401, -23.690956189203401, -151.28132599138999, 21.549304148995901, 3.4094704881876998, -30.687597458642099, -17.659848105023201, -5.7069215817131997, 4.0886157921745996, 35.564950307785701, -12.1803912964186, 77.135406641174299, 83.318689013925706, 14.819424258558801, 4.7782939163062803, 0.0, 0.0, 0.0, -0.040051226770134098, -6.7134150132482402, -13.312257348225099, -0.26126985985289403, 22.204441530888801, 27.729627986407898, -13.7012421876807, 13.0503428483308, 85.297842345116607, -12.439369240025201, -1.60848061970372, 17.698309764178902, 10.1798985121263, 3.3110252774145601, -2.5466287558690199, -20.410023365852201, 6.7633439222022202, -43.4149505982517, -46.886928763683102, -7.88950712988734, -2.6927901019362199, 0.0, 0.0, 0.0, -0.058248999176268398, 9.0508747193022892, 18.587941141225699, -0.73447131422595202, -35.308936282117699, -39.940782969048001, 21.9119312895712, -20.076960036338601, -123.935102576568, 17.592669318251101, 3.0259816420954402, -24.782453059479, -15.379073099754899, -4.67601503080067, 3.33242427220405, 30.0344780145867, -9.0772191462285008, 63.391820359557002, 67.760837774760006, 13.3701295015636, 4.8413052345891403, 0.0, 0.0, 0.0, -0.00048534604109837199, -1.8238859168577699, 0.56645976558050504, -0.011652978445607001, 3.3511865791586, 2.0262681174419299, -2.14462816857628, 1.8811114733258301, 1.72516289469276, -0.0410444803602956, -0.17992011162600399, 4.6474809764852196, 0.32638302042170703, 1.28068103014527, 0.42381953652975901, -1.62158383882094, 1.84081037263479, -1.2636267813034701, -0.97726719185308597, -0.84319863660797401, 0.57245121780013697, 0.0, 0.0, 0.0, 0.00072965273109526496, -0.74868100456805098, 0.61375144696985096, -0.013670796650539699, -10.880212250529199, -2.2389072194253701, 6.8446360871752603, -3.8338819099152301, -0.83708262317409499, 0.055638693619984997, 0.16395892268443801, -6.4020540512225601, -0.87619791103918299, 0.67273193621704896, -0.96217527481654197, 3.5322304037025498, 0.74780382069687101, 0.457651060635482, 2.4127372990709501, 5.8207812126355103, 0.41153697505715597, 0.0, 0.0, 0.0, 0.00047300381075295099, -0.24273841428794099, 0.62931133864105804, -0.0075433586410305498, -3.8733549821913198, -2.7042122832831499, 2.4066006453807001, -1.90501007795962, -11.4961539239149, -0.025181201641384401, 0.20951155742128399, 4.41315756942062, -2.02827911285326, 0.53245648205106699, -0.57146100385840204, 1.6986603412216601, 0.20698230514139301, 5.5487259477006203, 4.3923373342920504, 2.6422104099671002, 0.12108516249854701, 0.0, 0.0, 0.0, 0.00082691786224778699, 0.113024111733347, 2.7966391201096901, -0.052696331353419397, -4.8718908471754601, -4.3479524721016301, 3.1326652654405498, -2.1520186098021998, -17.7293360378548, -0.043482158450766098, 0.29115918226676102, 7.9265874331542596, -4.4255647905147004, -1.3335239860704799, -1.2720331573702599, 2.2195046250833101, 0.037526349197067099, 8.8672908187991606, 8.6317273115312592, 1.83700699526623, 1.8931859854467199, 0.0, 0.0, 0.0, 0.000439374179950941, 1.8174276372186899, -0.095470042913778502, 0.0240432915091328, 0.33095163979973902, 0.419313643627721, -0.26508090252151401, 0.40758512406775099, 6.2032604963961004, 0.0299978360553445, -0.0350221248964512, -4.5247535085126103, 2.4252753636201798, -1.0443273705703999, -0.77183418222125399, -0.15673357470618601, -1.86654030909075, -2.3976989367798298, -1.56808861204302, 0.340202658594777, -1.0312623606052, 0.0, 0.0, 0.0, -0.00063346566713256398, -0.661487272350328, -0.31969668820761499, -0.0207136433303984, -9.5617277834137209, -0.76548087353469296, 6.1338905273463604, -3.6493438141085299, -1.93160595722129, -0.054328540468196101, 0.063300925950509901, 8.0421985164502203, -6.7317743058458301, 0.56920882928816896, 1.39543139815216, 5.8217064803946901, 0.664937044390989, 2.0166407848672301, 0.66314768899536403, 2.4978865189964501, 0.90776612934725198, 0.0, 0.0, 0.0, -0.00080526074137288, 0.866074714994297, -3.1810443538305599, 0.016712052067642799, 8.8525588583729107, 4.9029982933499703, -5.6387712154483003, 4.6377500718450797, 24.5361964752293, 0.036812637615073897, -0.307516025692601, -7.7158500239832, 6.5793196290456004, -0.90848412347546603, 1.2781649114678699, -4.0662241638244598, -0.85073071123983601, -12.848505169556301, -11.568586481641701, -3.9619743954566902, -0.100174674295188, 0.0, 0.0, 0.0, 0.00069201116604256595, -0.421899716446686, -0.59032673715943695, 0.00276476648616889, 5.2753594946225197, 3.1708842333983198, -3.5051204501630502, -1.5506563388697101, 13.474253171986501, 0.038327175723695497, -0.21097106418518499, -8.0266607832375794, 6.6217101288174902, 1.26803738570163, -1.6239859547120901, -5.0491300215678701, 0.316141906166655, -6.8977435746728997, -6.9768951380000299, 1.3337978430772699, 0.27199695684951902, 0.0, 0.0, 0.0, -0.00038359474997356102, 0.72100151176486804, -2.5365266414467098, 0.014980427848668199, 6.4663011480631196, 3.0354904137032901, -4.11275562441097, 3.6805173953314201, 18.1353313216757, 0.0085443837305102504, -0.16921638348780199, -3.85900106683119, 3.0428583654892001, -0.42146305418508101, 0.73140085261157395, -3.0095115595924198, -0.74724977432843798, -7.5689235578938199, -9.1654977643928905, -2.6018219553374502, -0.138580489522561, 0.0, 0.0, 0.0, 3.1034344981670402e-05, 0.57346844296584099, -3.2816001969233399, 0.0098861018626169896, 2.7223870822496599, 3.19376385336182, -1.6094836478010499, 3.2093742171519399, 7.7061355268378202, 0.00180174673425388, -0.239342015844032, -0.17647999921287399, 1.7270571869450699, 0.18584316968323999, -0.066662651903874603, -2.3139065344532099, -0.65593666316055899, -3.9145254849983999, -3.4618799405385898, -2.6291335069492199, -0.23750024714478199, 0.0, 0.0, 0.0, 0.00031371845096864198, -0.27014711720045598, -0.259122675110673, 0.0083797376871939597, 10.324015180961201, 0.62494833390683702, -6.5624316442850503, 3.9711776808922599, 2.31246521547006, 0.030498354639596902, -0.030734962225840101, -4.3487398562952402, 5.7898821592163596, 0.12407032656822101, -0.67808345005445703, -4.5636059941770499, 0.27242993392548098, -0.151105792955298, -2.1330095124199899, -4.5785158627476203, -0.23182086620430201, 0.0, 0.0, 0.0, 0.00056545552199213298, 0.069522397061161395, 2.96885317382849, -0.051806865055980901, -9.7375846906152006, -3.7168685914889101, 6.2375373511235503, -2.6577205028209501, -20.3171172054412, -0.021304232202155899, 0.23708001500731801, 6.1434851687025596, -6.0140190081509104, -1.2111808932828501, -1.0189029621818799, 4.9024564940572102, 0.071576063751164501, 10.0372849796479, 8.8217235588703602, 3.2002119174291299, 1.88033862253058, 0.0, 0.0, 0.0, -9.2381558436834005e-06, 0.209953576303675, 0.59897227695759403, 0.015408836716403701, 0.72667814261222297, 1.04253074219921, -0.36639952244782897, 2.1938545786385899, 10.5511658202853, -0.0060583673747924196, -0.040276481247202303, 0.19563265784432399, 0.695642528811383, 0.092195243295609006, -0.11700648378234201, -1.12128461392435, -0.24506719194217999, -5.08663676195245, -5.4127332500372898, -1.5233052074208899, -0.39207349407666497, 0.0, 0.0, 0.0, -6.8044267141740398e-05, 1.4457806883519999, 3.6350558224209202, -0.050692260884422198, 6.5385777171092396, -6.1735157165659498, -4.2016623917464404, 0.71692866600594696, -26.888355558432, 0.028941180562419198, 0.41559738160577497, -1.41973334424801, 2.2623160579408399, 0.052440836591797699, 0.30315007284467799, -2.1595166526410599, -1.58941085218909, 13.577357339870201, 12.5510397413387, -2.28593652323275, 1.6131542987429599, 0.0, 0.0, 0.0, 2.4964374967303e-05, 0.93824074473311303, -2.4541545673520901, 0.034536963170488502, 13.190305707504599, 4.9824580626416397, -8.2907707221262701, 7.2636404959165102, 24.581904470708601, -0.0158179845091273, -0.31398696530982101, -0.31358040502335599, 2.3904278510213701, 0.29019959630452602, -0.27262779401736098, -2.5076564852846102, -1.07562902654376, -12.0644593562773, -12.129759160663401, -8.6137752723124397, -0.85889008520979604, 0.0, 0.0, 0.0}; @@ -41,7 +41,7 @@ const double Updates3[66] = {-0.32320992089807998, -0.1768221333622936, -0.044189138920046375, -0.0083658993244170032, -0.13345118239521958, -0.088903807103633908, -0.25946535170078289, 0.14435659933042233, -0.21090563386678701, 0.019084170460701003, 0.073579406365752206, -0.013528384268283893, 0.031103432178496981, -0.25866857916116798, 0.022464506328106093, 0.032419085502625011, -0.083496315404772786, -0.392626002430916, -0.057606873102486092, 0.1326765250414613, 0.034384071826935009, 0.0, 0.25532682985067379, -0.025051936507225009, 0.17769842967391061, 0.080573752522469011, 0.11870069429278349, 0.35069981217384349, 0.127604305744171, -0.081144510089870836, -0.04023376852273898, 0.0045312587171792984, 0.017237693071365301, 0.0386847481131554, -0.21935135498642899, 0.040930040180683996, -0.057743255048990395, -0.289656192064286, 0.26965582184493592, 0.257760990411043, -0.1886596158146856, -0.036238497123122194, -0.1386065091937782, 0.0, 0.0015524076297879202, -0.1212832294404507, 0.028310360386967659, -0.005844349274411801, 0.0046449899673459971, 0.044258039444684996, 0.0025386139750480999, 0.0354412645101548, 0.064816890284419101, 0.1017611473798752, -0.25162110477685901, -0.0285851191729307, -0.024413086473941803, -0.22420015186071351, 0.059393912553786996, 0.04153373837471, 0.01215143408626318, 0.203658737242222, -0.0020150262862444011, -0.037645858246833121, 0.0714646056294439, 0.0}; const double Slater3[441] = {-2.8945870399475102, 3.5455725193023699, 2.0470812320709202, -3.5464441776275599, -2.0474903583526598, -2.89596366882324, -0.61329728364944502, 0.70991641283035301, 0.45664468407630898, 0.59523195028305098, 0.26079276204109197, -0.35093706846237199, -0.095610238611698206, -0.130077064037323, 0.10946778208017301, 0.021800471469759899, 0.048480678349733401, -0.092234551906585693, -0.0160505045205355, -0.028107110410928698, 0.0080896317958831804, -0.78021097183227495, -0.95558542013168302, -0.55174458026885997, -0.95579683780670199, -0.55179446935653698, 0.78044348955154397, -0.115299895405769, -0.11754634231329, -0.0318448171019554, -0.00082233443390577999, 0.064001239836216001, -0.049412809312343597, -0.074464745819568606, 0.19851659238338501, -0.088878795504569993, 0.135610401630402, -0.13736967742443101, -0.101879440248013, 0.102390937507153, 0.174509197473526, -0.0599150508642197, -0.00527230883017182, 0.00029381641070358499, 0.0072919740341603799, -0.00026352208806201799, 0.0068838247098028703, 0.0047294595278799499, 0.11728889495134399, -0.062190085649490398, -0.15969239175319699, -0.10645916312933, 0.112943567335606, -0.045737843960523598, 0.13196058571338701, 0.038660705089569099, -0.050266433507204097, -0.13745591044426, -0.037740666419267703, 0.11781705915927899, 0.19417031109332999, 0.044309988617896999, 0.0096954777836799604, -0.30874741077423101, -0.37815779447555498, 0.218254208564758, 0.378139227628708, -0.21839827299118, -0.30879178643226601, 0.025539221242070202, 0.112043909728527, 0.037676706910133403, 0.025347150862216901, -0.19991625845432301, 0.13326919078826899, 0.213842943310738, 0.131471157073975, 0.14626120030879999, -0.0118067460134625, 0.093547157943248693, 0.22439678013324699, 0.0082425400614738499, -0.015649655833840401, -0.00653020711615682, -1.52881526947021, -1.9163775505148799e-05, -2.1623263359069802, -1.5540548702119799e-05, 2.16284847259521, -1.52953028678894, -0.26402890682220498, 0.024944067001342801, -0.37140902876853898, -0.044071510434150703, -0.29843890666961698, -0.177285701036453, -0.058585006743669503, -0.0183692276477814, -0.026075478643178902, -0.15623773634433699, -0.011319605633616401, 0.054057534784078598, -0.23151709139347099, -0.00089795450912788499, 0.10536465793848, -0.067333526909351293, 0.00043256155913695698, 0.095035225152969402, -0.00043632232700474598, 0.094624765217304202, 0.066768139600753798, 0.14448715746402699, -0.12090456485748299, -0.203432962298393, -0.21472349762916601, 0.154288679361343, -0.071518480777740506, 0.27918133139610302, 0.080454014241695404, -0.0361245274543762, 0.0566458702087402, -0.030157707631588, 0.25150132179260298, -0.082445412874221802, -0.0114687560126185, 0.027113301679492, -2.2779068946838401, -2.3393469746224599e-05, -3.2218937873840301, -1.7939200915861899e-05, 3.22278833389282, -2.2791447639465301, -0.47945570945739702, 0.045197278261184699, -0.64478874206543002, -0.080234304070472703, -0.47389149665832497, -0.23455648124218001, -0.10695217549800901, -0.033054649829864502, -0.195749551057816, -0.040076982229948002, 0.094596333801746396, 0.098401188850402804, -0.059563819319009802, -0.000334969052346423, 0.030707944184541699, -0.0025739683769643298, -0.0020174346864223502, -0.0024467820767313199, -0.00204527890309691, 0.00013988610589876801, 0.00073755031917244196, 0.17339251935482, 0.099962860345840496, 0.14622049033641801, -0.088966980576515198, 0.040044382214546197, -1.5416861060657501e-05, -0.081159926950931494, -0.11909016221761699, 0.170753449201584, 0.031124599277973199, -0.052109345793724102, 0.121445283293724, 0.0289684906601906, 0.020809086039662399, 0.0544226132333279, -0.0043673445470631097, -0.00014539182302542001, 0.0061219600029289696, 0.000189467871678062, 0.0060523007996380303, 0.00425094133242965, 0.0905451029539108, 0.058540407568216303, -0.15191346406936601, 0.11511342227459, 0.15016922354698201, -0.11066282540559801, -0.15089659392833699, -0.021995550021529201, 0.10021472722291901, 0.019932290539145501, 0.070281185209751101, -0.120184391736984, -0.030551897361874601, 0.0072047915309667596, 0.041792899370193502, -0.0097634727135300602, 0.0119331693276763, -0.0068263513967394803, 0.011701960116624799, -0.0068089049309492103, 0.0095072658732533507, 0.133816182613373, -0.15090283751487699, 0.070243604481220204, 0.077758952975273105, -0.071993313729763003, -0.033549431711435297, -0.029018172994255999, 0.10475520789623299, 0.047332767397165298, 0.17077720165252699, 0.057527918368577999, -0.043988067656755399, 0.11077278107404701, -0.21170908212661699, 0.043612048029899597, -0.71565270423889205, 2.80283820757177e-05, 1.0121610164642301, -2.41986454057042e-05, 1.0123220682144201, 0.71586799621581998, -0.045286595821380601, -0.0269623268395662, 0.0683262273669243, -0.047560662031173699, -0.062597043812274905, 0.045772761106491103, 0.063010454177856404, 0.0197743345052004, -0.025724532082676901, -0.20542661845684099, -0.0248414911329746, 0.058127623051405002, 0.30385830998420699, 0.00210775528103113, -0.12754787504673001, -0.00073456991231069001, 0.000104061764432117, -0.0010063005611300501, 0.00014142321015242501, 0.00095045292982831597, -0.00064003589795902404, 0.056538689881563201, -0.038196403533220298, 0.095246985554695102, 0.077704243361949907, 0.089713566005229894, 0.058404259383678402, 0.097089007496833801, -1.8242251826450202e-05, -0.070699930191039997, 0.0231548044830561, 0.036239527165889698, -0.064700096845626803, 0.035663921386003501, -0.012914831750094899, -0.0478814952075481, -0.0285779368132353, 2.2119384368579599e-07, -0.0404084548354149, 4.62594880445977e-06, 0.040473498404025997, -0.028664523735642398, 0.0818745791912079, -0.0072916029021143896, 0.171691119670868, 0.0142411412671208, 0.227563425898552, 0.23875248432159399, 0.019401129335165, 0.0041248365305364097, -0.273390233516693, 0.031942136585712398, 0.24207504093647, -0.016599044203758202, 0.0499182641506195, -0.00059447408420965097, -0.092382267117500305, -0.083720728754997295, -0.102523192763329, -0.059237916022539097, -0.10253403335809699, -0.0591498985886574, 0.083691440522670704, 0.093738317489623996, 0.118414394557476, 0.119053602218628, -0.19025875627994501, -0.017257452011108398, -0.14737996459007299, -0.106449924409389, 0.119639433920383, -0.0358475148677826, 0.16083629429340399, -0.135845571756363, -0.045223556458950001, 0.129632458090782, 0.204596728086472, -0.089926846325397505, -0.0016409500967711199, 0.0020083498675376199, 0.0011536112288013101, -0.0019761291332542901, -0.0011378186754882301, -0.0015965295024216199, 0.062009602785110501, -0.085591755807399694, -0.073869466781616197, -0.129948750138283, -0.025633471086621298, 0.11476875841617599, 0.0570255033671856, -0.098354063928127303, 0.048130486160516697, -0.075562968850135803, -0.087558984756469699, -0.061446368694305399, 0.073952160775661496, 0.096327632665634197, -0.10392674803733799, -0.086937576532363905, -5.2227896958356703e-05, -0.12295132130384399, -5.67086790397298e-05, 0.122932203114033, -0.086922481656074496, 0.092386581003665896, 0.0563923679292202, 0.16267444193363201, -0.103307262063026, 0.177027583122253, 0.15235325694084201, -0.13730293512344399, -0.036718469113111503, -0.13380806148052199, -0.14056211709976199, 0.11525499820709199, 0.122316166758537, -0.211628392338753, -0.0109922774136066, 0.17250911891460399, -0.71328485012054399, -0.87364697456359897, -0.50431287288665805, -0.87368428707122803, -0.50450080633163497, 0.71341556310653698, -0.0728774294257164, -0.0137394573539495, -0.131415024399757, 0.120499663054943, -0.15048809349536901, -0.016238121315836899, 0.25341770052909901, 0.061544414609670597, -0.124150305986404, -0.023104058578610399, 0.161576017737389, -0.18417926132678999, -0.016373874619603199, -0.0301918238401413, 0.00962609611451626, -0.00358590018004179, -3.1569013572152501e-06, 0.00505110481753945, -1.33700987134944e-05, 0.0050756097771227403, 0.0036168387159705201, 0.076649472117423997, -0.0148532707244158, -0.15424914658069599, -0.031277053058147403, 0.20174449682235701, -0.21435502171516399, 0.043405968695879003, 0.0060502337291836704, 0.23922684788703899, 0.022777535021305102, 0.22072769701480899, 0.035028267651796299, -0.037091828882694203, -0.0024164030328393, 0.115568056702614, -0.0137155568227172, -0.00072690693195909305, 0.019026592373848, 0.00073597067967057196, 0.018235495314001999, 0.012611641548574, 0.14907942712307001, 0.10721461474895499, -0.205590710043907, 0.18899101018905601, 0.14405034482479101, -0.049517802894115399, -0.23817741870880099, -0.062822751700878102, -0.056222390383482, 0.079762905836105305, -0.057780988514423398, -0.208331778645515, -0.11229432374239, 0.030398890376091, 0.0136762224137783, -0.13207408785819999, -0.00012266315752640399, -0.18668732047080999, -0.000116608949610963, 0.18647037446498901, -0.13181127607822399, 0.17992316186428101, 0.0310163982212543, 0.194987177848816, -0.051282022148370701, 0.079243704676628099, -0.029616238549351699, -0.065854735672473894, -0.025143278762698201, 0.277732163667679, -0.117880158126354, -0.184251189231873, 0.0632317289710045, -0.16761179268360099, -0.0045813838951289697, -0.030651951208710702, -0.0068073021247982996, -0.0083365431055426598, 0.0048150913789868398, 0.0083073899149894697, -0.0047997133806347804, -0.0067770029418170504, 0.077614806592464405, 0.12953585386276201, -0.063416801393032102, 0.138088583946228, -0.10224375873804099, 0.164952263236046, 0.026345754042267799, 0.13718618452549, 0.084768116474151597, 0.096043966710567502, -0.054612904787063599, 0.138456135988235, -0.071488708257675199, 0.13371524214744601, 0.14154277741908999}; // WB3 - // double Slater_inv3_1[462] = {-0.056658742514349103, -9.5006825962797503, -18.307026635935799, -0.36744251865365501, 31.610841135834299, 39.084671241308698, -19.703711132730799, 18.666497646833299, 121.964198363159, -17.598444551917201, -2.9520245875548698, 24.935160344122199, 13.992695020707, 4.6612706754314903, -3.6234738869455199, -28.604054847833801, 9.5739197944338503, -62.128443913882499, -67.232459151277695, -11.803301377693099, -3.8508731471217099, 0.0, 0.069411805979426894, 10.8007994955779, 22.458394727678201, -0.89282708659453403, -39.476164388726097, -47.5420201141931, 24.536662733275399, -23.351558477080602, -146.60044409871099, 21.549928185153298, 3.32891560872004, -30.5549979706051, -17.384760133954, -5.4401084934617003, 4.3730845094487396, 35.2040348414587, -11.414817838980399, 74.926509290741393, 80.145978783950099, 14.6842509146363, 5.7893824160342398, 0.0, 0.041199702875412497, -6.4779318938824302, -13.2989719358296, 0.51508213587065199, 23.9434304832055, 27.923633944040301, -14.994539048994801, 13.545190256632999, 84.658750799602501, -12.440996315879, -1.6347815496642299, 17.4053340515119, 10.4563880132908, 3.2716511123291698, -2.32038524814726, -20.901080430435499, 6.5092932119827198, -43.310144838525801, -46.266317618221201, -9.0209731319320596, -3.3217327746699499, 0.0, -0.071364036152653701, 11.529909516191401, 22.9175425489932, 0.44722818276140403, -39.897585842875301, -48.876557451246697, 24.801523764393401, -23.690956189203401, -151.28132599138999, 21.549304148995901, 3.4094704881876998, -30.687597458642099, -17.659848105023201, -5.7069215817131997, 4.0886157921745996, 35.564950307785701, -12.1803912964186, 77.135406641174299, 83.318689013925706, 14.819424258558801, 4.7782939163062803, 0.0, -0.040051226770134098, -6.7134150132482402, -13.312257348225099, -0.26126985985289403, 22.204441530888801, 27.729627986407898, -13.7012421876807, 13.0503428483308, 85.297842345116607, -12.439369240025201, -1.60848061970372, 17.698309764178902, 10.1798985121263, 3.3110252774145601, -2.5466287558690199, -20.410023365852201, 6.7633439222022202, -43.4149505982517, -46.886928763683102, -7.88950712988734, -2.6927901019362199, 0.0, -0.058248999176268398, 9.0508747193022892, 18.587941141225699, -0.73447131422595202, -35.308936282117699, -39.940782969048001, 21.9119312895712, -20.076960036338601, -123.935102576568, 17.592669318251101, 3.0259816420954402, -24.782453059479, -15.379073099754899, -4.67601503080067, 3.33242427220405, 30.0344780145867, -9.0772191462285008, 63.391820359557002, 67.760837774760006, 13.3701295015636, 4.8413052345891403, 0.0, -0.00048534604109837199, -1.8238859168577699, 0.56645976558050504, -0.011652978445607001, 3.3511865791586, 2.0262681174419299, -2.14462816857628, 1.8811114733258301, 1.72516289469276, -0.0410444803602956, -0.17992011162600399, 4.6474809764852196, 0.32638302042170703, 1.28068103014527, 0.42381953652975901, -1.62158383882094, 1.84081037263479, -1.2636267813034701, -0.97726719185308597, -0.84319863660797401, 0.57245121780013697, 0.0, 0.00072965273109526496, -0.74868100456805098, 0.61375144696985096, -0.013670796650539699, -10.880212250529199, -2.2389072194253701, 6.8446360871752603, -3.8338819099152301, -0.83708262317409499, 0.055638693619984997, 0.16395892268443801, -6.4020540512225601, -0.87619791103918299, 0.67273193621704896, -0.96217527481654197, 3.5322304037025498, 0.74780382069687101, 0.457651060635482, 2.4127372990709501, 5.8207812126355103, 0.41153697505715597, 0.0, 0.00047300381075295099, -0.24273841428794099, 0.62931133864105804, -0.0075433586410305498, -3.8733549821913198, -2.7042122832831499, 2.4066006453807001, -1.90501007795962, -11.4961539239149, -0.025181201641384401, 0.20951155742128399, 4.41315756942062, -2.02827911285326, 0.53245648205106699, -0.57146100385840204, 1.6986603412216601, 0.20698230514139301, 5.5487259477006203, 4.3923373342920504, 2.6422104099671002, 0.12108516249854701, 0.0, 0.00082691786224778699, 0.113024111733347, 2.7966391201096901, -0.052696331353419397, -4.8718908471754601, -4.3479524721016301, 3.1326652654405498, -2.1520186098021998, -17.7293360378548, -0.043482158450766098, 0.29115918226676102, 7.9265874331542596, -4.4255647905147004, -1.3335239860704799, -1.2720331573702599, 2.2195046250833101, 0.037526349197067099, 8.8672908187991606, 8.6317273115312592, 1.83700699526623, 1.8931859854467199, 0.0, 0.000439374179950941, 1.8174276372186899, -0.095470042913778502, 0.0240432915091328, 0.33095163979973902, 0.419313643627721, -0.26508090252151401, 0.40758512406775099, 6.2032604963961004, 0.0299978360553445, -0.0350221248964512, -4.5247535085126103, 2.4252753636201798, -1.0443273705703999, -0.77183418222125399, -0.15673357470618601, -1.86654030909075, -2.3976989367798298, -1.56808861204302, 0.340202658594777, -1.0312623606052, 0.0, -0.00063346566713256398, -0.661487272350328, -0.31969668820761499, -0.0207136433303984, -9.5617277834137209, -0.76548087353469296, 6.1338905273463604, -3.6493438141085299, -1.93160595722129, -0.054328540468196101, 0.063300925950509901, 8.0421985164502203, -6.7317743058458301, 0.56920882928816896, 1.39543139815216, 5.8217064803946901, 0.664937044390989, 2.0166407848672301, 0.66314768899536403, 2.4978865189964501, 0.90776612934725198, 0.0, -0.00080526074137288, 0.866074714994297, -3.1810443538305599, 0.016712052067642799, 8.8525588583729107, 4.9029982933499703, -5.6387712154483003, 4.6377500718450797, 24.5361964752293, 0.036812637615073897, -0.307516025692601, -7.7158500239832, 6.5793196290456004, -0.90848412347546603, 1.2781649114678699, -4.0662241638244598, -0.85073071123983601, -12.848505169556301, -11.568586481641701, -3.9619743954566902, -0.100174674295188, 0.0, 0.00069201116604256595, -0.421899716446686, -0.59032673715943695, 0.00276476648616889, 5.2753594946225197, 3.1708842333983198, -3.5051204501630502, -1.5506563388697101, 13.474253171986501, 0.038327175723695497, -0.21097106418518499, -8.0266607832375794, 6.6217101288174902, 1.26803738570163, -1.6239859547120901, -5.0491300215678701, 0.316141906166655, -6.8977435746728997, -6.9768951380000299, 1.3337978430772699, 0.27199695684951902, 0.0, -0.00038359474997356102, 0.72100151176486804, -2.5365266414467098, 0.014980427848668199, 6.4663011480631196, 3.0354904137032901, -4.11275562441097, 3.6805173953314201, 18.1353313216757, 0.0085443837305102504, -0.16921638348780199, -3.85900106683119, 3.0428583654892001, -0.42146305418508101, 0.73140085261157395, -3.0095115595924198, -0.74724977432843798, -7.5689235578938199, -9.1654977643928905, -2.6018219553374502, -0.138580489522561, 0.0, 3.1034344981670402e-05, 0.57346844296584099, -3.2816001969233399, 0.0098861018626169896, 2.7223870822496599, 3.19376385336182, -1.6094836478010499, 3.2093742171519399, 7.7061355268378202, 0.00180174673425388, -0.239342015844032, -0.17647999921287399, 1.7270571869450699, 0.18584316968323999, -0.066662651903874603, -2.3139065344532099, -0.65593666316055899, -3.9145254849983999, -3.4618799405385898, -2.6291335069492199, -0.23750024714478199, 0.0, 0.00031371845096864198, -0.27014711720045598, -0.259122675110673, 0.0083797376871939597, 10.324015180961201, 0.62494833390683702, -6.5624316442850503, 3.9711776808922599, 2.31246521547006, 0.030498354639596902, -0.030734962225840101, -4.3487398562952402, 5.7898821592163596, 0.12407032656822101, -0.67808345005445703, -4.5636059941770499, 0.27242993392548098, -0.151105792955298, -2.1330095124199899, -4.5785158627476203, -0.23182086620430201, 0.0, 0.00056545552199213298, 0.069522397061161395, 2.96885317382849, -0.051806865055980901, -9.7375846906152006, -3.7168685914889101, 6.2375373511235503, -2.6577205028209501, -20.3171172054412, -0.021304232202155899, 0.23708001500731801, 6.1434851687025596, -6.0140190081509104, -1.2111808932828501, -1.0189029621818799, 4.9024564940572102, 0.071576063751164501, 10.0372849796479, 8.8217235588703602, 3.2002119174291299, 1.88033862253058, 0.0, -9.2381558436834005e-06, 0.209953576303675, 0.59897227695759403, 0.015408836716403701, 0.72667814261222297, 1.04253074219921, -0.36639952244782897, 2.1938545786385899, 10.5511658202853, -0.0060583673747924196, -0.040276481247202303, 0.19563265784432399, 0.695642528811383, 0.092195243295609006, -0.11700648378234201, -1.12128461392435, -0.24506719194217999, -5.08663676195245, -5.4127332500372898, -1.5233052074208899, -0.39207349407666497, 0.0, -6.8044267141740398e-05, 1.4457806883519999, 3.6350558224209202, -0.050692260884422198, 6.5385777171092396, -6.1735157165659498, -4.2016623917464404, 0.71692866600594696, -26.888355558432, 0.028941180562419198, 0.41559738160577497, -1.41973334424801, 2.2623160579408399, 0.052440836591797699, 0.30315007284467799, -2.1595166526410599, -1.58941085218909, 13.577357339870201, 12.5510397413387, -2.28593652323275, 1.6131542987429599, 0.0, 2.4964374967303e-05, 0.93824074473311303, -2.4541545673520901, 0.034536963170488502, 13.190305707504599, 4.9824580626416397, -8.2907707221262701, 7.2636404959165102, 24.581904470708601, -0.0158179845091273, -0.31398696530982101, -0.31358040502335599, 2.3904278510213701, 0.29019959630452602, -0.27262779401736098, -2.5076564852846102, -1.07562902654376, -12.0644593562773, -12.129759160663401, -8.6137752723124397, -0.85889008520979604, 0.0}; + double Slater_inv3_1[462] = {-0.056658742514349103, -9.5006825962797503, -18.307026635935799, -0.36744251865365501, 31.610841135834299, 39.084671241308698, -19.703711132730799, 18.666497646833299, 121.964198363159, -17.598444551917201, -2.9520245875548698, 24.935160344122199, 13.992695020707, 4.6612706754314903, -3.6234738869455199, -28.604054847833801, 9.5739197944338503, -62.128443913882499, -67.232459151277695, -11.803301377693099, -3.8508731471217099, 0.0, 0.069411805979426894, 10.8007994955779, 22.458394727678201, -0.89282708659453403, -39.476164388726097, -47.5420201141931, 24.536662733275399, -23.351558477080602, -146.60044409871099, 21.549928185153298, 3.32891560872004, -30.5549979706051, -17.384760133954, -5.4401084934617003, 4.3730845094487396, 35.2040348414587, -11.414817838980399, 74.926509290741393, 80.145978783950099, 14.6842509146363, 5.7893824160342398, 0.0, 0.041199702875412497, -6.4779318938824302, -13.2989719358296, 0.51508213587065199, 23.9434304832055, 27.923633944040301, -14.994539048994801, 13.545190256632999, 84.658750799602501, -12.440996315879, -1.6347815496642299, 17.4053340515119, 10.4563880132908, 3.2716511123291698, -2.32038524814726, -20.901080430435499, 6.5092932119827198, -43.310144838525801, -46.266317618221201, -9.0209731319320596, -3.3217327746699499, 0.0, -0.071364036152653701, 11.529909516191401, 22.9175425489932, 0.44722818276140403, -39.897585842875301, -48.876557451246697, 24.801523764393401, -23.690956189203401, -151.28132599138999, 21.549304148995901, 3.4094704881876998, -30.687597458642099, -17.659848105023201, -5.7069215817131997, 4.0886157921745996, 35.564950307785701, -12.1803912964186, 77.135406641174299, 83.318689013925706, 14.819424258558801, 4.7782939163062803, 0.0, -0.040051226770134098, -6.7134150132482402, -13.312257348225099, -0.26126985985289403, 22.204441530888801, 27.729627986407898, -13.7012421876807, 13.0503428483308, 85.297842345116607, -12.439369240025201, -1.60848061970372, 17.698309764178902, 10.1798985121263, 3.3110252774145601, -2.5466287558690199, -20.410023365852201, 6.7633439222022202, -43.4149505982517, -46.886928763683102, -7.88950712988734, -2.6927901019362199, 0.0, -0.058248999176268398, 9.0508747193022892, 18.587941141225699, -0.73447131422595202, -35.308936282117699, -39.940782969048001, 21.9119312895712, -20.076960036338601, -123.935102576568, 17.592669318251101, 3.0259816420954402, -24.782453059479, -15.379073099754899, -4.67601503080067, 3.33242427220405, 30.0344780145867, -9.0772191462285008, 63.391820359557002, 67.760837774760006, 13.3701295015636, 4.8413052345891403, 0.0, -0.00048534604109837199, -1.8238859168577699, 0.56645976558050504, -0.011652978445607001, 3.3511865791586, 2.0262681174419299, -2.14462816857628, 1.8811114733258301, 1.72516289469276, -0.0410444803602956, -0.17992011162600399, 4.6474809764852196, 0.32638302042170703, 1.28068103014527, 0.42381953652975901, -1.62158383882094, 1.84081037263479, -1.2636267813034701, -0.97726719185308597, -0.84319863660797401, 0.57245121780013697, 0.0, 0.00072965273109526496, -0.74868100456805098, 0.61375144696985096, -0.013670796650539699, -10.880212250529199, -2.2389072194253701, 6.8446360871752603, -3.8338819099152301, -0.83708262317409499, 0.055638693619984997, 0.16395892268443801, -6.4020540512225601, -0.87619791103918299, 0.67273193621704896, -0.96217527481654197, 3.5322304037025498, 0.74780382069687101, 0.457651060635482, 2.4127372990709501, 5.8207812126355103, 0.41153697505715597, 0.0, 0.00047300381075295099, -0.24273841428794099, 0.62931133864105804, -0.0075433586410305498, -3.8733549821913198, -2.7042122832831499, 2.4066006453807001, -1.90501007795962, -11.4961539239149, -0.025181201641384401, 0.20951155742128399, 4.41315756942062, -2.02827911285326, 0.53245648205106699, -0.57146100385840204, 1.6986603412216601, 0.20698230514139301, 5.5487259477006203, 4.3923373342920504, 2.6422104099671002, 0.12108516249854701, 0.0, 0.00082691786224778699, 0.113024111733347, 2.7966391201096901, -0.052696331353419397, -4.8718908471754601, -4.3479524721016301, 3.1326652654405498, -2.1520186098021998, -17.7293360378548, -0.043482158450766098, 0.29115918226676102, 7.9265874331542596, -4.4255647905147004, -1.3335239860704799, -1.2720331573702599, 2.2195046250833101, 0.037526349197067099, 8.8672908187991606, 8.6317273115312592, 1.83700699526623, 1.8931859854467199, 0.0, 0.000439374179950941, 1.8174276372186899, -0.095470042913778502, 0.0240432915091328, 0.33095163979973902, 0.419313643627721, -0.26508090252151401, 0.40758512406775099, 6.2032604963961004, 0.0299978360553445, -0.0350221248964512, -4.5247535085126103, 2.4252753636201798, -1.0443273705703999, -0.77183418222125399, -0.15673357470618601, -1.86654030909075, -2.3976989367798298, -1.56808861204302, 0.340202658594777, -1.0312623606052, 0.0, -0.00063346566713256398, -0.661487272350328, -0.31969668820761499, -0.0207136433303984, -9.5617277834137209, -0.76548087353469296, 6.1338905273463604, -3.6493438141085299, -1.93160595722129, -0.054328540468196101, 0.063300925950509901, 8.0421985164502203, -6.7317743058458301, 0.56920882928816896, 1.39543139815216, 5.8217064803946901, 0.664937044390989, 2.0166407848672301, 0.66314768899536403, 2.4978865189964501, 0.90776612934725198, 0.0, -0.00080526074137288, 0.866074714994297, -3.1810443538305599, 0.016712052067642799, 8.8525588583729107, 4.9029982933499703, -5.6387712154483003, 4.6377500718450797, 24.5361964752293, 0.036812637615073897, -0.307516025692601, -7.7158500239832, 6.5793196290456004, -0.90848412347546603, 1.2781649114678699, -4.0662241638244598, -0.85073071123983601, -12.848505169556301, -11.568586481641701, -3.9619743954566902, -0.100174674295188, 0.0, 0.00069201116604256595, -0.421899716446686, -0.59032673715943695, 0.00276476648616889, 5.2753594946225197, 3.1708842333983198, -3.5051204501630502, -1.5506563388697101, 13.474253171986501, 0.038327175723695497, -0.21097106418518499, -8.0266607832375794, 6.6217101288174902, 1.26803738570163, -1.6239859547120901, -5.0491300215678701, 0.316141906166655, -6.8977435746728997, -6.9768951380000299, 1.3337978430772699, 0.27199695684951902, 0.0, -0.00038359474997356102, 0.72100151176486804, -2.5365266414467098, 0.014980427848668199, 6.4663011480631196, 3.0354904137032901, -4.11275562441097, 3.6805173953314201, 18.1353313216757, 0.0085443837305102504, -0.16921638348780199, -3.85900106683119, 3.0428583654892001, -0.42146305418508101, 0.73140085261157395, -3.0095115595924198, -0.74724977432843798, -7.5689235578938199, -9.1654977643928905, -2.6018219553374502, -0.138580489522561, 0.0, 3.1034344981670402e-05, 0.57346844296584099, -3.2816001969233399, 0.0098861018626169896, 2.7223870822496599, 3.19376385336182, -1.6094836478010499, 3.2093742171519399, 7.7061355268378202, 0.00180174673425388, -0.239342015844032, -0.17647999921287399, 1.7270571869450699, 0.18584316968323999, -0.066662651903874603, -2.3139065344532099, -0.65593666316055899, -3.9145254849983999, -3.4618799405385898, -2.6291335069492199, -0.23750024714478199, 0.0, 0.00031371845096864198, -0.27014711720045598, -0.259122675110673, 0.0083797376871939597, 10.324015180961201, 0.62494833390683702, -6.5624316442850503, 3.9711776808922599, 2.31246521547006, 0.030498354639596902, -0.030734962225840101, -4.3487398562952402, 5.7898821592163596, 0.12407032656822101, -0.67808345005445703, -4.5636059941770499, 0.27242993392548098, -0.151105792955298, -2.1330095124199899, -4.5785158627476203, -0.23182086620430201, 0.0, 0.00056545552199213298, 0.069522397061161395, 2.96885317382849, -0.051806865055980901, -9.7375846906152006, -3.7168685914889101, 6.2375373511235503, -2.6577205028209501, -20.3171172054412, -0.021304232202155899, 0.23708001500731801, 6.1434851687025596, -6.0140190081509104, -1.2111808932828501, -1.0189029621818799, 4.9024564940572102, 0.071576063751164501, 10.0372849796479, 8.8217235588703602, 3.2002119174291299, 1.88033862253058, 0.0, -9.2381558436834005e-06, 0.209953576303675, 0.59897227695759403, 0.015408836716403701, 0.72667814261222297, 1.04253074219921, -0.36639952244782897, 2.1938545786385899, 10.5511658202853, -0.0060583673747924196, -0.040276481247202303, 0.19563265784432399, 0.695642528811383, 0.092195243295609006, -0.11700648378234201, -1.12128461392435, -0.24506719194217999, -5.08663676195245, -5.4127332500372898, -1.5233052074208899, -0.39207349407666497, 0.0, -6.8044267141740398e-05, 1.4457806883519999, 3.6350558224209202, -0.050692260884422198, 6.5385777171092396, -6.1735157165659498, -4.2016623917464404, 0.71692866600594696, -26.888355558432, 0.028941180562419198, 0.41559738160577497, -1.41973334424801, 2.2623160579408399, 0.052440836591797699, 0.30315007284467799, -2.1595166526410599, -1.58941085218909, 13.577357339870201, 12.5510397413387, -2.28593652323275, 1.6131542987429599, 0.0, 2.4964374967303e-05, 0.93824074473311303, -2.4541545673520901, 0.034536963170488502, 13.190305707504599, 4.9824580626416397, -8.2907707221262701, 7.2636404959165102, 24.581904470708601, -0.0158179845091273, -0.31398696530982101, -0.31358040502335599, 2.3904278510213701, 0.29019959630452602, -0.27262779401736098, -2.5076564852846102, -1.07562902654376, -12.0644593562773, -12.129759160663401, -8.6137752723124397, -0.85889008520979604, 0.0}; // SM+spl double Slater_inv3_2[462] = {-0.056658742514349103, -9.5006825962797503, -18.307026635935799, -0.36744251865365501, 31.610841135834299, 39.084671241308698, -19.703711132730799, 18.666497646833299, 121.964198363159, -17.598444551917201, -2.9520245875548698, 24.935160344122199, 13.992695020707, 4.6612706754314903, -3.6234738869455199, -28.604054847833801, 9.5739197944338503, -62.128443913882499, -67.232459151277695, -11.803301377693099, -3.8508731471217099, 0.0, 0.069411805979426894, 10.8007994955779, 22.458394727678201, -0.89282708659453403, -39.476164388726097, -47.5420201141931, 24.536662733275399, -23.351558477080602, -146.60044409871099, 21.549928185153298, 3.32891560872004, -30.5549979706051, -17.384760133954, -5.4401084934617003, 4.3730845094487396, 35.2040348414587, -11.414817838980399, 74.926509290741393, 80.145978783950099, 14.6842509146363, 5.7893824160342398, 0.0, 0.041199702875412497, -6.4779318938824302, -13.2989719358296, 0.51508213587065199, 23.9434304832055, 27.923633944040301, -14.994539048994801, 13.545190256632999, 84.658750799602501, -12.440996315879, -1.6347815496642299, 17.4053340515119, 10.4563880132908, 3.2716511123291698, -2.32038524814726, -20.901080430435499, 6.5092932119827198, -43.310144838525801, -46.266317618221201, -9.0209731319320596, -3.3217327746699499, 0.0, -0.071364036152653701, 11.529909516191401, 22.9175425489932, 0.44722818276140403, -39.897585842875301, -48.876557451246697, 24.801523764393401, -23.690956189203401, -151.28132599138999, 21.549304148995901, 3.4094704881876998, -30.687597458642099, -17.659848105023201, -5.7069215817131997, 4.0886157921745996, 35.564950307785701, -12.1803912964186, 77.135406641174299, 83.318689013925706, 14.819424258558801, 4.7782939163062803, 0.0, -0.040051226770134098, -6.7134150132482402, -13.312257348225099, -0.26126985985289403, 22.204441530888801, 27.729627986407898, -13.7012421876807, 13.0503428483308, 85.297842345116607, -12.439369240025201, -1.60848061970372, 17.698309764178902, 10.1798985121263, 3.3110252774145601, -2.5466287558690199, -20.410023365852201, 6.7633439222022202, -43.4149505982517, -46.886928763683102, -7.88950712988734, -2.6927901019362199, 0.0, -0.058248999176268398, 9.0508747193022892, 18.587941141225699, -0.73447131422595202, -35.308936282117699, -39.940782969048001, 21.9119312895712, -20.076960036338601, -123.935102576568, 17.592669318251101, 3.0259816420954402, -24.782453059479, -15.379073099754899, -4.67601503080067, 3.33242427220405, 30.0344780145867, -9.0772191462285008, 63.391820359557002, 67.760837774760006, 13.3701295015636, 4.8413052345891403, 0.0, -0.00048534604109837199, -1.8238859168577699, 0.56645976558050504, -0.011652978445607001, 3.3511865791586, 2.0262681174419299, -2.14462816857628, 1.8811114733258301, 1.72516289469276, -0.0410444803602956, -0.17992011162600399, 4.6474809764852196, 0.32638302042170703, 1.28068103014527, 0.42381953652975901, -1.62158383882094, 1.84081037263479, -1.2636267813034701, -0.97726719185308597, -0.84319863660797401, 0.57245121780013697, 0.0, 0.00072965273109526496, -0.74868100456805098, 0.61375144696985096, -0.013670796650539699, -10.880212250529199, -2.2389072194253701, 6.8446360871752603, -3.8338819099152301, -0.83708262317409499, 0.055638693619984997, 0.16395892268443801, -6.4020540512225601, -0.87619791103918299, 0.67273193621704896, -0.96217527481654197, 3.5322304037025498, 0.74780382069687101, 0.457651060635482, 2.4127372990709501, 5.8207812126355103, 0.41153697505715597, 0.0, 0.00047300381075295099, -0.24273841428794099, 0.62931133864105804, -0.0075433586410305498, -3.8733549821913198, -2.7042122832831499, 2.4066006453807001, -1.90501007795962, -11.4961539239149, -0.025181201641384401, 0.20951155742128399, 4.41315756942062, -2.02827911285326, 0.53245648205106699, -0.57146100385840204, 1.6986603412216601, 0.20698230514139301, 5.5487259477006203, 4.3923373342920504, 2.6422104099671002, 0.12108516249854701, 0.0, 0.00082691786224778699, 0.113024111733347, 2.7966391201096901, -0.052696331353419397, -4.8718908471754601, -4.3479524721016301, 3.1326652654405498, -2.1520186098021998, -17.7293360378548, -0.043482158450766098, 0.29115918226676102, 7.9265874331542596, -4.4255647905147004, -1.3335239860704799, -1.2720331573702599, 2.2195046250833101, 0.037526349197067099, 8.8672908187991606, 8.6317273115312592, 1.83700699526623, 1.8931859854467199, 0.0, 0.000439374179950941, 1.8174276372186899, -0.095470042913778502, 0.0240432915091328, 0.33095163979973902, 0.419313643627721, -0.26508090252151401, 0.40758512406775099, 6.2032604963961004, 0.0299978360553445, -0.0350221248964512, -4.5247535085126103, 2.4252753636201798, -1.0443273705703999, -0.77183418222125399, -0.15673357470618601, -1.86654030909075, -2.3976989367798298, -1.56808861204302, 0.340202658594777, -1.0312623606052, 0.0, -0.00063346566713256398, -0.661487272350328, -0.31969668820761499, -0.0207136433303984, -9.5617277834137209, -0.76548087353469296, 6.1338905273463604, -3.6493438141085299, -1.93160595722129, -0.054328540468196101, 0.063300925950509901, 8.0421985164502203, -6.7317743058458301, 0.56920882928816896, 1.39543139815216, 5.8217064803946901, 0.664937044390989, 2.0166407848672301, 0.66314768899536403, 2.4978865189964501, 0.90776612934725198, 0.0, -0.00080526074137288, 0.866074714994297, -3.1810443538305599, 0.016712052067642799, 8.8525588583729107, 4.9029982933499703, -5.6387712154483003, 4.6377500718450797, 24.5361964752293, 0.036812637615073897, -0.307516025692601, -7.7158500239832, 6.5793196290456004, -0.90848412347546603, 1.2781649114678699, -4.0662241638244598, -0.85073071123983601, -12.848505169556301, -11.568586481641701, -3.9619743954566902, -0.100174674295188, 0.0, 0.00069201116604256595, -0.421899716446686, -0.59032673715943695, 0.00276476648616889, 5.2753594946225197, 3.1708842333983198, -3.5051204501630502, -1.5506563388697101, 13.474253171986501, 0.038327175723695497, -0.21097106418518499, -8.0266607832375794, 6.6217101288174902, 1.26803738570163, -1.6239859547120901, -5.0491300215678701, 0.316141906166655, -6.8977435746728997, -6.9768951380000299, 1.3337978430772699, 0.27199695684951902, 0.0, -0.00038359474997356102, 0.72100151176486804, -2.5365266414467098, 0.014980427848668199, 6.4663011480631196, 3.0354904137032901, -4.11275562441097, 3.6805173953314201, 18.1353313216757, 0.0085443837305102504, -0.16921638348780199, -3.85900106683119, 3.0428583654892001, -0.42146305418508101, 0.73140085261157395, -3.0095115595924198, -0.74724977432843798, -7.5689235578938199, -9.1654977643928905, -2.6018219553374502, -0.138580489522561, 0.0, 3.1034344981670402e-05, 0.57346844296584099, -3.2816001969233399, 0.0098861018626169896, 2.7223870822496599, 3.19376385336182, -1.6094836478010499, 3.2093742171519399, 7.7061355268378202, 0.00180174673425388, -0.239342015844032, -0.17647999921287399, 1.7270571869450699, 0.18584316968323999, -0.066662651903874603, -2.3139065344532099, -0.65593666316055899, -3.9145254849983999, -3.4618799405385898, -2.6291335069492199, -0.23750024714478199, 0.0, 0.00031371845096864198, -0.27014711720045598, -0.259122675110673, 0.0083797376871939597, 10.324015180961201, 0.62494833390683702, -6.5624316442850503, 3.9711776808922599, 2.31246521547006, 0.030498354639596902, -0.030734962225840101, -4.3487398562952402, 5.7898821592163596, 0.12407032656822101, -0.67808345005445703, -4.5636059941770499, 0.27242993392548098, -0.151105792955298, -2.1330095124199899, -4.5785158627476203, -0.23182086620430201, 0.0, 0.00056545552199213298, 0.069522397061161395, 2.96885317382849, -0.051806865055980901, -9.7375846906152006, -3.7168685914889101, 6.2375373511235503, -2.6577205028209501, -20.3171172054412, -0.021304232202155899, 0.23708001500731801, 6.1434851687025596, -6.0140190081509104, -1.2111808932828501, -1.0189029621818799, 4.9024564940572102, 0.071576063751164501, 10.0372849796479, 8.8217235588703602, 3.2002119174291299, 1.88033862253058, 0.0, -9.2381558436834005e-06, 0.209953576303675, 0.59897227695759403, 0.015408836716403701, 0.72667814261222297, 1.04253074219921, -0.36639952244782897, 2.1938545786385899, 10.5511658202853, -0.0060583673747924196, -0.040276481247202303, 0.19563265784432399, 0.695642528811383, 0.092195243295609006, -0.11700648378234201, -1.12128461392435, -0.24506719194217999, -5.08663676195245, -5.4127332500372898, -1.5233052074208899, -0.39207349407666497, 0.0, -6.8044267141740398e-05, 1.4457806883519999, 3.6350558224209202, -0.050692260884422198, 6.5385777171092396, -6.1735157165659498, -4.2016623917464404, 0.71692866600594696, -26.888355558432, 0.028941180562419198, 0.41559738160577497, -1.41973334424801, 2.2623160579408399, 0.052440836591797699, 0.30315007284467799, -2.1595166526410599, -1.58941085218909, 13.577357339870201, 12.5510397413387, -2.28593652323275, 1.6131542987429599, 0.0, 2.4964374967303e-05, 0.93824074473311303, -2.4541545673520901, 0.034536963170488502, 13.190305707504599, 4.9824580626416397, -8.2907707221262701, 7.2636404959165102, 24.581904470708601, -0.0158179845091273, -0.31398696530982101, -0.31358040502335599, 2.3904278510213701, 0.29019959630452602, -0.27262779401736098, -2.5076564852846102, -1.07562902654376, -12.0644593562773, -12.129759160663401, -8.6137752723124397, -0.85889008520979604, 0.0}; @@ -67,7 +67,7 @@ const double Updates3[63] = {-0.32320992089807998, -0.1768221333622936, -0.044189138920046375, -0.0083658993244170032, -0.13345118239521958, -0.088903807103633908, -0.25946535170078289, 0.14435659933042233, -0.21090563386678701, 0.019084170460701003, 0.073579406365752206, -0.013528384268283893, 0.031103432178496981, -0.25866857916116798, 0.022464506328106093, 0.032419085502625011, -0.083496315404772786, -0.392626002430916, -0.057606873102486092, 0.1326765250414613, 0.034384071826935009, 0.25532682985067379, -0.025051936507225009, 0.17769842967391061, 0.080573752522469011, 0.11870069429278349, 0.35069981217384349, 0.127604305744171, -0.081144510089870836, -0.04023376852273898, 0.0045312587171792984, 0.017237693071365301, 0.0386847481131554, -0.21935135498642899, 0.040930040180683996, -0.057743255048990395, -0.289656192064286, 0.26965582184493592, 0.257760990411043, -0.1886596158146856, -0.036238497123122194, -0.1386065091937782, 0.0015524076297879202, -0.1212832294404507, 0.028310360386967659, -0.005844349274411801, 0.0046449899673459971, 0.044258039444684996, 0.0025386139750480999, 0.0354412645101548, 0.064816890284419101, 0.1017611473798752, -0.25162110477685901, -0.0285851191729307, -0.024413086473941803, -0.22420015186071351, 0.059393912553786996, 0.04153373837471, 0.01215143408626318, 0.203658737242222, -0.0020150262862444011, -0.037645858246833121, 0.0714646056294439}; const double Slater3[441] = {-2.8945870399475102, 3.5455725193023699, 2.0470812320709202, -3.5464441776275599, -2.0474903583526598, -2.89596366882324, -0.61329728364944502, 0.70991641283035301, 0.45664468407630898, 0.59523195028305098, 0.26079276204109197, -0.35093706846237199, -0.095610238611698206, -0.130077064037323, 0.10946778208017301, 0.021800471469759899, 0.048480678349733401, -0.092234551906585693, -0.0160505045205355, -0.028107110410928698, 0.0080896317958831804, -0.78021097183227495, -0.95558542013168302, -0.55174458026885997, -0.95579683780670199, -0.55179446935653698, 0.78044348955154397, -0.115299895405769, -0.11754634231329, -0.0318448171019554, -0.00082233443390577999, 0.064001239836216001, -0.049412809312343597, -0.074464745819568606, 0.19851659238338501, -0.088878795504569993, 0.135610401630402, -0.13736967742443101, -0.101879440248013, 0.102390937507153, 0.174509197473526, -0.0599150508642197, -0.00527230883017182, 0.00029381641070358499, 0.0072919740341603799, -0.00026352208806201799, 0.0068838247098028703, 0.0047294595278799499, 0.11728889495134399, -0.062190085649490398, -0.15969239175319699, -0.10645916312933, 0.112943567335606, -0.045737843960523598, 0.13196058571338701, 0.038660705089569099, -0.050266433507204097, -0.13745591044426, -0.037740666419267703, 0.11781705915927899, 0.19417031109332999, 0.044309988617896999, 0.0096954777836799604, -0.30874741077423101, -0.37815779447555498, 0.218254208564758, 0.378139227628708, -0.21839827299118, -0.30879178643226601, 0.025539221242070202, 0.112043909728527, 0.037676706910133403, 0.025347150862216901, -0.19991625845432301, 0.13326919078826899, 0.213842943310738, 0.131471157073975, 0.14626120030879999, -0.0118067460134625, 0.093547157943248693, 0.22439678013324699, 0.0082425400614738499, -0.015649655833840401, -0.00653020711615682, -1.52881526947021, -1.9163775505148799e-05, -2.1623263359069802, -1.5540548702119799e-05, 2.16284847259521, -1.52953028678894, -0.26402890682220498, 0.024944067001342801, -0.37140902876853898, -0.044071510434150703, -0.29843890666961698, -0.177285701036453, -0.058585006743669503, -0.0183692276477814, -0.026075478643178902, -0.15623773634433699, -0.011319605633616401, 0.054057534784078598, -0.23151709139347099, -0.00089795450912788499, 0.10536465793848, -0.067333526909351293, 0.00043256155913695698, 0.095035225152969402, -0.00043632232700474598, 0.094624765217304202, 0.066768139600753798, 0.14448715746402699, -0.12090456485748299, -0.203432962298393, -0.21472349762916601, 0.154288679361343, -0.071518480777740506, 0.27918133139610302, 0.080454014241695404, -0.0361245274543762, 0.0566458702087402, -0.030157707631588, 0.25150132179260298, -0.082445412874221802, -0.0114687560126185, 0.027113301679492, -2.2779068946838401, -2.3393469746224599e-05, -3.2218937873840301, -1.7939200915861899e-05, 3.22278833389282, -2.2791447639465301, -0.47945570945739702, 0.045197278261184699, -0.64478874206543002, -0.080234304070472703, -0.47389149665832497, -0.23455648124218001, -0.10695217549800901, -0.033054649829864502, -0.195749551057816, -0.040076982229948002, 0.094596333801746396, 0.098401188850402804, -0.059563819319009802, -0.000334969052346423, 0.030707944184541699, -0.0025739683769643298, -0.0020174346864223502, -0.0024467820767313199, -0.00204527890309691, 0.00013988610589876801, 0.00073755031917244196, 0.17339251935482, 0.099962860345840496, 0.14622049033641801, -0.088966980576515198, 0.040044382214546197, -1.5416861060657501e-05, -0.081159926950931494, -0.11909016221761699, 0.170753449201584, 0.031124599277973199, -0.052109345793724102, 0.121445283293724, 0.0289684906601906, 0.020809086039662399, 0.0544226132333279, -0.0043673445470631097, -0.00014539182302542001, 0.0061219600029289696, 0.000189467871678062, 0.0060523007996380303, 0.00425094133242965, 0.0905451029539108, 0.058540407568216303, -0.15191346406936601, 0.11511342227459, 0.15016922354698201, -0.11066282540559801, -0.15089659392833699, -0.021995550021529201, 0.10021472722291901, 0.019932290539145501, 0.070281185209751101, -0.120184391736984, -0.030551897361874601, 0.0072047915309667596, 0.041792899370193502, -0.0097634727135300602, 0.0119331693276763, -0.0068263513967394803, 0.011701960116624799, -0.0068089049309492103, 0.0095072658732533507, 0.133816182613373, -0.15090283751487699, 0.070243604481220204, 0.077758952975273105, -0.071993313729763003, -0.033549431711435297, -0.029018172994255999, 0.10475520789623299, 0.047332767397165298, 0.17077720165252699, 0.057527918368577999, -0.043988067656755399, 0.11077278107404701, -0.21170908212661699, 0.043612048029899597, -0.71565270423889205, 2.80283820757177e-05, 1.0121610164642301, -2.41986454057042e-05, 1.0123220682144201, 0.71586799621581998, -0.045286595821380601, -0.0269623268395662, 0.0683262273669243, -0.047560662031173699, -0.062597043812274905, 0.045772761106491103, 0.063010454177856404, 0.0197743345052004, -0.025724532082676901, -0.20542661845684099, -0.0248414911329746, 0.058127623051405002, 0.30385830998420699, 0.00210775528103113, -0.12754787504673001, -0.00073456991231069001, 0.000104061764432117, -0.0010063005611300501, 0.00014142321015242501, 0.00095045292982831597, -0.00064003589795902404, 0.056538689881563201, -0.038196403533220298, 0.095246985554695102, 0.077704243361949907, 0.089713566005229894, 0.058404259383678402, 0.097089007496833801, -1.8242251826450202e-05, -0.070699930191039997, 0.0231548044830561, 0.036239527165889698, -0.064700096845626803, 0.035663921386003501, -0.012914831750094899, -0.0478814952075481, -0.0285779368132353, 2.2119384368579599e-07, -0.0404084548354149, 4.62594880445977e-06, 0.040473498404025997, -0.028664523735642398, 0.0818745791912079, -0.0072916029021143896, 0.171691119670868, 0.0142411412671208, 0.227563425898552, 0.23875248432159399, 0.019401129335165, 0.0041248365305364097, -0.273390233516693, 0.031942136585712398, 0.24207504093647, -0.016599044203758202, 0.0499182641506195, -0.00059447408420965097, -0.092382267117500305, -0.083720728754997295, -0.102523192763329, -0.059237916022539097, -0.10253403335809699, -0.0591498985886574, 0.083691440522670704, 0.093738317489623996, 0.118414394557476, 0.119053602218628, -0.19025875627994501, -0.017257452011108398, -0.14737996459007299, -0.106449924409389, 0.119639433920383, -0.0358475148677826, 0.16083629429340399, -0.135845571756363, -0.045223556458950001, 0.129632458090782, 0.204596728086472, -0.089926846325397505, -0.0016409500967711199, 0.0020083498675376199, 0.0011536112288013101, -0.0019761291332542901, -0.0011378186754882301, -0.0015965295024216199, 0.062009602785110501, -0.085591755807399694, -0.073869466781616197, -0.129948750138283, -0.025633471086621298, 0.11476875841617599, 0.0570255033671856, -0.098354063928127303, 0.048130486160516697, -0.075562968850135803, -0.087558984756469699, -0.061446368694305399, 0.073952160775661496, 0.096327632665634197, -0.10392674803733799, -0.086937576532363905, -5.2227896958356703e-05, -0.12295132130384399, -5.67086790397298e-05, 0.122932203114033, -0.086922481656074496, 0.092386581003665896, 0.0563923679292202, 0.16267444193363201, -0.103307262063026, 0.177027583122253, 0.15235325694084201, -0.13730293512344399, -0.036718469113111503, -0.13380806148052199, -0.14056211709976199, 0.11525499820709199, 0.122316166758537, -0.211628392338753, -0.0109922774136066, 0.17250911891460399, -0.71328485012054399, -0.87364697456359897, -0.50431287288665805, -0.87368428707122803, -0.50450080633163497, 0.71341556310653698, -0.0728774294257164, -0.0137394573539495, -0.131415024399757, 0.120499663054943, -0.15048809349536901, -0.016238121315836899, 0.25341770052909901, 0.061544414609670597, -0.124150305986404, -0.023104058578610399, 0.161576017737389, -0.18417926132678999, -0.016373874619603199, -0.0301918238401413, 0.00962609611451626, -0.00358590018004179, -3.1569013572152501e-06, 0.00505110481753945, -1.33700987134944e-05, 0.0050756097771227403, 0.0036168387159705201, 0.076649472117423997, -0.0148532707244158, -0.15424914658069599, -0.031277053058147403, 0.20174449682235701, -0.21435502171516399, 0.043405968695879003, 0.0060502337291836704, 0.23922684788703899, 0.022777535021305102, 0.22072769701480899, 0.035028267651796299, -0.037091828882694203, -0.0024164030328393, 0.115568056702614, -0.0137155568227172, -0.00072690693195909305, 0.019026592373848, 0.00073597067967057196, 0.018235495314001999, 0.012611641548574, 0.14907942712307001, 0.10721461474895499, -0.205590710043907, 0.18899101018905601, 0.14405034482479101, -0.049517802894115399, -0.23817741870880099, -0.062822751700878102, -0.056222390383482, 0.079762905836105305, -0.057780988514423398, -0.208331778645515, -0.11229432374239, 0.030398890376091, 0.0136762224137783, -0.13207408785819999, -0.00012266315752640399, -0.18668732047080999, -0.000116608949610963, 0.18647037446498901, -0.13181127607822399, 0.17992316186428101, 0.0310163982212543, 0.194987177848816, -0.051282022148370701, 0.079243704676628099, -0.029616238549351699, -0.065854735672473894, -0.025143278762698201, 0.277732163667679, -0.117880158126354, -0.184251189231873, 0.0632317289710045, -0.16761179268360099, -0.0045813838951289697, -0.030651951208710702, -0.0068073021247982996, -0.0083365431055426598, 0.0048150913789868398, 0.0083073899149894697, -0.0047997133806347804, -0.0067770029418170504, 0.077614806592464405, 0.12953585386276201, -0.063416801393032102, 0.138088583946228, -0.10224375873804099, 0.164952263236046, 0.026345754042267799, 0.13718618452549, 0.084768116474151597, 0.096043966710567502, -0.054612904787063599, 0.138456135988235, -0.071488708257675199, 0.13371524214744601, 0.14154277741908999}; // WB3 - // double Slater_inv3_1[441] = {-0.056658742514349103, -9.5006825962797503, -18.307026635935799, -0.36744251865365501, 31.610841135834299, 39.084671241308698, -19.703711132730799, 18.666497646833299, 121.964198363159, -17.598444551917201, -2.9520245875548698, 24.935160344122199, 13.992695020707, 4.6612706754314903, -3.6234738869455199, -28.604054847833801, 9.5739197944338503, -62.128443913882499, -67.232459151277695, -11.803301377693099, -3.8508731471217099, 0.069411805979426894, 10.8007994955779, 22.458394727678201, -0.89282708659453403, -39.476164388726097, -47.5420201141931, 24.536662733275399, -23.351558477080602, -146.60044409871099, 21.549928185153298, 3.32891560872004, -30.5549979706051, -17.384760133954, -5.4401084934617003, 4.3730845094487396, 35.2040348414587, -11.414817838980399, 74.926509290741393, 80.145978783950099, 14.6842509146363, 5.7893824160342398, 0.041199702875412497, -6.4779318938824302, -13.2989719358296, 0.51508213587065199, 23.9434304832055, 27.923633944040301, -14.994539048994801, 13.545190256632999, 84.658750799602501, -12.440996315879, -1.6347815496642299, 17.4053340515119, 10.4563880132908, 3.2716511123291698, -2.32038524814726, -20.901080430435499, 6.5092932119827198, -43.310144838525801, -46.266317618221201, -9.0209731319320596, -3.3217327746699499, -0.071364036152653701, 11.529909516191401, 22.9175425489932, 0.44722818276140403, -39.897585842875301, -48.876557451246697, 24.801523764393401, -23.690956189203401, -151.28132599138999, 21.549304148995901, 3.4094704881876998, -30.687597458642099, -17.659848105023201, -5.7069215817131997, 4.0886157921745996, 35.564950307785701, -12.1803912964186, 77.135406641174299, 83.318689013925706, 14.819424258558801, 4.7782939163062803, -0.040051226770134098, -6.7134150132482402, -13.312257348225099, -0.26126985985289403, 22.204441530888801, 27.729627986407898, -13.7012421876807, 13.0503428483308, 85.297842345116607, -12.439369240025201, -1.60848061970372, 17.698309764178902, 10.1798985121263, 3.3110252774145601, -2.5466287558690199, -20.410023365852201, 6.7633439222022202, -43.4149505982517, -46.886928763683102, -7.88950712988734, -2.6927901019362199, -0.058248999176268398, 9.0508747193022892, 18.587941141225699, -0.73447131422595202, -35.308936282117699, -39.940782969048001, 21.9119312895712, -20.076960036338601, -123.935102576568, 17.592669318251101, 3.0259816420954402, -24.782453059479, -15.379073099754899, -4.67601503080067, 3.33242427220405, 30.0344780145867, -9.0772191462285008, 63.391820359557002, 67.760837774760006, 13.3701295015636, 4.8413052345891403, -0.00048534604109837199, -1.8238859168577699, 0.56645976558050504, -0.011652978445607001, 3.3511865791586, 2.0262681174419299, -2.14462816857628, 1.8811114733258301, 1.72516289469276, -0.0410444803602956, -0.17992011162600399, 4.6474809764852196, 0.32638302042170703, 1.28068103014527, 0.42381953652975901, -1.62158383882094, 1.84081037263479, -1.2636267813034701, -0.97726719185308597, -0.84319863660797401, 0.57245121780013697, 0.00072965273109526496, -0.74868100456805098, 0.61375144696985096, -0.013670796650539699, -10.880212250529199, -2.2389072194253701, 6.8446360871752603, -3.8338819099152301, -0.83708262317409499, 0.055638693619984997, 0.16395892268443801, -6.4020540512225601, -0.87619791103918299, 0.67273193621704896, -0.96217527481654197, 3.5322304037025498, 0.74780382069687101, 0.457651060635482, 2.4127372990709501, 5.8207812126355103, 0.41153697505715597, 0.00047300381075295099, -0.24273841428794099, 0.62931133864105804, -0.0075433586410305498, -3.8733549821913198, -2.7042122832831499, 2.4066006453807001, -1.90501007795962, -11.4961539239149, -0.025181201641384401, 0.20951155742128399, 4.41315756942062, -2.02827911285326, 0.53245648205106699, -0.57146100385840204, 1.6986603412216601, 0.20698230514139301, 5.5487259477006203, 4.3923373342920504, 2.6422104099671002, 0.12108516249854701, 0.00082691786224778699, 0.113024111733347, 2.7966391201096901, -0.052696331353419397, -4.8718908471754601, -4.3479524721016301, 3.1326652654405498, -2.1520186098021998, -17.7293360378548, -0.043482158450766098, 0.29115918226676102, 7.9265874331542596, -4.4255647905147004, -1.3335239860704799, -1.2720331573702599, 2.2195046250833101, 0.037526349197067099, 8.8672908187991606, 8.6317273115312592, 1.83700699526623, 1.8931859854467199, 0.000439374179950941, 1.8174276372186899, -0.095470042913778502, 0.0240432915091328, 0.33095163979973902, 0.419313643627721, -0.26508090252151401, 0.40758512406775099, 6.2032604963961004, 0.0299978360553445, -0.0350221248964512, -4.5247535085126103, 2.4252753636201798, -1.0443273705703999, -0.77183418222125399, -0.15673357470618601, -1.86654030909075, -2.3976989367798298, -1.56808861204302, 0.340202658594777, -1.0312623606052, -0.00063346566713256398, -0.661487272350328, -0.31969668820761499, -0.0207136433303984, -9.5617277834137209, -0.76548087353469296, 6.1338905273463604, -3.6493438141085299, -1.93160595722129, -0.054328540468196101, 0.063300925950509901, 8.0421985164502203, -6.7317743058458301, 0.56920882928816896, 1.39543139815216, 5.8217064803946901, 0.664937044390989, 2.0166407848672301, 0.66314768899536403, 2.4978865189964501, 0.90776612934725198, -0.00080526074137288, 0.866074714994297, -3.1810443538305599, 0.016712052067642799, 8.8525588583729107, 4.9029982933499703, -5.6387712154483003, 4.6377500718450797, 24.5361964752293, 0.036812637615073897, -0.307516025692601, -7.7158500239832, 6.5793196290456004, -0.90848412347546603, 1.2781649114678699, -4.0662241638244598, -0.85073071123983601, -12.848505169556301, -11.568586481641701, -3.9619743954566902, -0.100174674295188, 0.00069201116604256595, -0.421899716446686, -0.59032673715943695, 0.00276476648616889, 5.2753594946225197, 3.1708842333983198, -3.5051204501630502, -1.5506563388697101, 13.474253171986501, 0.038327175723695497, -0.21097106418518499, -8.0266607832375794, 6.6217101288174902, 1.26803738570163, -1.6239859547120901, -5.0491300215678701, 0.316141906166655, -6.8977435746728997, -6.9768951380000299, 1.3337978430772699, 0.27199695684951902, -0.00038359474997356102, 0.72100151176486804, -2.5365266414467098, 0.014980427848668199, 6.4663011480631196, 3.0354904137032901, -4.11275562441097, 3.6805173953314201, 18.1353313216757, 0.0085443837305102504, -0.16921638348780199, -3.85900106683119, 3.0428583654892001, -0.42146305418508101, 0.73140085261157395, -3.0095115595924198, -0.74724977432843798, -7.5689235578938199, -9.1654977643928905, -2.6018219553374502, -0.138580489522561, 3.1034344981670402e-05, 0.57346844296584099, -3.2816001969233399, 0.0098861018626169896, 2.7223870822496599, 3.19376385336182, -1.6094836478010499, 3.2093742171519399, 7.7061355268378202, 0.00180174673425388, -0.239342015844032, -0.17647999921287399, 1.7270571869450699, 0.18584316968323999, -0.066662651903874603, -2.3139065344532099, -0.65593666316055899, -3.9145254849983999, -3.4618799405385898, -2.6291335069492199, -0.23750024714478199, 0.00031371845096864198, -0.27014711720045598, -0.259122675110673, 0.0083797376871939597, 10.324015180961201, 0.62494833390683702, -6.5624316442850503, 3.9711776808922599, 2.31246521547006, 0.030498354639596902, -0.030734962225840101, -4.3487398562952402, 5.7898821592163596, 0.12407032656822101, -0.67808345005445703, -4.5636059941770499, 0.27242993392548098, -0.151105792955298, -2.1330095124199899, -4.5785158627476203, -0.23182086620430201, 0.00056545552199213298, 0.069522397061161395, 2.96885317382849, -0.051806865055980901, -9.7375846906152006, -3.7168685914889101, 6.2375373511235503, -2.6577205028209501, -20.3171172054412, -0.021304232202155899, 0.23708001500731801, 6.1434851687025596, -6.0140190081509104, -1.2111808932828501, -1.0189029621818799, 4.9024564940572102, 0.071576063751164501, 10.0372849796479, 8.8217235588703602, 3.2002119174291299, 1.88033862253058, -9.2381558436834005e-06, 0.209953576303675, 0.59897227695759403, 0.015408836716403701, 0.72667814261222297, 1.04253074219921, -0.36639952244782897, 2.1938545786385899, 10.5511658202853, -0.0060583673747924196, -0.040276481247202303, 0.19563265784432399, 0.695642528811383, 0.092195243295609006, -0.11700648378234201, -1.12128461392435, -0.24506719194217999, -5.08663676195245, -5.4127332500372898, -1.5233052074208899, -0.39207349407666497, -6.8044267141740398e-05, 1.4457806883519999, 3.6350558224209202, -0.050692260884422198, 6.5385777171092396, -6.1735157165659498, -4.2016623917464404, 0.71692866600594696, -26.888355558432, 0.028941180562419198, 0.41559738160577497, -1.41973334424801, 2.2623160579408399, 0.052440836591797699, 0.30315007284467799, -2.1595166526410599, -1.58941085218909, 13.577357339870201, 12.5510397413387, -2.28593652323275, 1.6131542987429599, 2.4964374967303e-05, 0.93824074473311303, -2.4541545673520901, 0.034536963170488502, 13.190305707504599, 4.9824580626416397, -8.2907707221262701, 7.2636404959165102, 24.581904470708601, -0.0158179845091273, -0.31398696530982101, -0.31358040502335599, 2.3904278510213701, 0.29019959630452602, -0.27262779401736098, -2.5076564852846102, -1.07562902654376, -12.0644593562773, -12.129759160663401, -8.6137752723124397, -0.85889008520979604}; + double Slater_inv3_1[441] = {-0.056658742514349103, -9.5006825962797503, -18.307026635935799, -0.36744251865365501, 31.610841135834299, 39.084671241308698, -19.703711132730799, 18.666497646833299, 121.964198363159, -17.598444551917201, -2.9520245875548698, 24.935160344122199, 13.992695020707, 4.6612706754314903, -3.6234738869455199, -28.604054847833801, 9.5739197944338503, -62.128443913882499, -67.232459151277695, -11.803301377693099, -3.8508731471217099, 0.069411805979426894, 10.8007994955779, 22.458394727678201, -0.89282708659453403, -39.476164388726097, -47.5420201141931, 24.536662733275399, -23.351558477080602, -146.60044409871099, 21.549928185153298, 3.32891560872004, -30.5549979706051, -17.384760133954, -5.4401084934617003, 4.3730845094487396, 35.2040348414587, -11.414817838980399, 74.926509290741393, 80.145978783950099, 14.6842509146363, 5.7893824160342398, 0.041199702875412497, -6.4779318938824302, -13.2989719358296, 0.51508213587065199, 23.9434304832055, 27.923633944040301, -14.994539048994801, 13.545190256632999, 84.658750799602501, -12.440996315879, -1.6347815496642299, 17.4053340515119, 10.4563880132908, 3.2716511123291698, -2.32038524814726, -20.901080430435499, 6.5092932119827198, -43.310144838525801, -46.266317618221201, -9.0209731319320596, -3.3217327746699499, -0.071364036152653701, 11.529909516191401, 22.9175425489932, 0.44722818276140403, -39.897585842875301, -48.876557451246697, 24.801523764393401, -23.690956189203401, -151.28132599138999, 21.549304148995901, 3.4094704881876998, -30.687597458642099, -17.659848105023201, -5.7069215817131997, 4.0886157921745996, 35.564950307785701, -12.1803912964186, 77.135406641174299, 83.318689013925706, 14.819424258558801, 4.7782939163062803, -0.040051226770134098, -6.7134150132482402, -13.312257348225099, -0.26126985985289403, 22.204441530888801, 27.729627986407898, -13.7012421876807, 13.0503428483308, 85.297842345116607, -12.439369240025201, -1.60848061970372, 17.698309764178902, 10.1798985121263, 3.3110252774145601, -2.5466287558690199, -20.410023365852201, 6.7633439222022202, -43.4149505982517, -46.886928763683102, -7.88950712988734, -2.6927901019362199, -0.058248999176268398, 9.0508747193022892, 18.587941141225699, -0.73447131422595202, -35.308936282117699, -39.940782969048001, 21.9119312895712, -20.076960036338601, -123.935102576568, 17.592669318251101, 3.0259816420954402, -24.782453059479, -15.379073099754899, -4.67601503080067, 3.33242427220405, 30.0344780145867, -9.0772191462285008, 63.391820359557002, 67.760837774760006, 13.3701295015636, 4.8413052345891403, -0.00048534604109837199, -1.8238859168577699, 0.56645976558050504, -0.011652978445607001, 3.3511865791586, 2.0262681174419299, -2.14462816857628, 1.8811114733258301, 1.72516289469276, -0.0410444803602956, -0.17992011162600399, 4.6474809764852196, 0.32638302042170703, 1.28068103014527, 0.42381953652975901, -1.62158383882094, 1.84081037263479, -1.2636267813034701, -0.97726719185308597, -0.84319863660797401, 0.57245121780013697, 0.00072965273109526496, -0.74868100456805098, 0.61375144696985096, -0.013670796650539699, -10.880212250529199, -2.2389072194253701, 6.8446360871752603, -3.8338819099152301, -0.83708262317409499, 0.055638693619984997, 0.16395892268443801, -6.4020540512225601, -0.87619791103918299, 0.67273193621704896, -0.96217527481654197, 3.5322304037025498, 0.74780382069687101, 0.457651060635482, 2.4127372990709501, 5.8207812126355103, 0.41153697505715597, 0.00047300381075295099, -0.24273841428794099, 0.62931133864105804, -0.0075433586410305498, -3.8733549821913198, -2.7042122832831499, 2.4066006453807001, -1.90501007795962, -11.4961539239149, -0.025181201641384401, 0.20951155742128399, 4.41315756942062, -2.02827911285326, 0.53245648205106699, -0.57146100385840204, 1.6986603412216601, 0.20698230514139301, 5.5487259477006203, 4.3923373342920504, 2.6422104099671002, 0.12108516249854701, 0.00082691786224778699, 0.113024111733347, 2.7966391201096901, -0.052696331353419397, -4.8718908471754601, -4.3479524721016301, 3.1326652654405498, -2.1520186098021998, -17.7293360378548, -0.043482158450766098, 0.29115918226676102, 7.9265874331542596, -4.4255647905147004, -1.3335239860704799, -1.2720331573702599, 2.2195046250833101, 0.037526349197067099, 8.8672908187991606, 8.6317273115312592, 1.83700699526623, 1.8931859854467199, 0.000439374179950941, 1.8174276372186899, -0.095470042913778502, 0.0240432915091328, 0.33095163979973902, 0.419313643627721, -0.26508090252151401, 0.40758512406775099, 6.2032604963961004, 0.0299978360553445, -0.0350221248964512, -4.5247535085126103, 2.4252753636201798, -1.0443273705703999, -0.77183418222125399, -0.15673357470618601, -1.86654030909075, -2.3976989367798298, -1.56808861204302, 0.340202658594777, -1.0312623606052, -0.00063346566713256398, -0.661487272350328, -0.31969668820761499, -0.0207136433303984, -9.5617277834137209, -0.76548087353469296, 6.1338905273463604, -3.6493438141085299, -1.93160595722129, -0.054328540468196101, 0.063300925950509901, 8.0421985164502203, -6.7317743058458301, 0.56920882928816896, 1.39543139815216, 5.8217064803946901, 0.664937044390989, 2.0166407848672301, 0.66314768899536403, 2.4978865189964501, 0.90776612934725198, -0.00080526074137288, 0.866074714994297, -3.1810443538305599, 0.016712052067642799, 8.8525588583729107, 4.9029982933499703, -5.6387712154483003, 4.6377500718450797, 24.5361964752293, 0.036812637615073897, -0.307516025692601, -7.7158500239832, 6.5793196290456004, -0.90848412347546603, 1.2781649114678699, -4.0662241638244598, -0.85073071123983601, -12.848505169556301, -11.568586481641701, -3.9619743954566902, -0.100174674295188, 0.00069201116604256595, -0.421899716446686, -0.59032673715943695, 0.00276476648616889, 5.2753594946225197, 3.1708842333983198, -3.5051204501630502, -1.5506563388697101, 13.474253171986501, 0.038327175723695497, -0.21097106418518499, -8.0266607832375794, 6.6217101288174902, 1.26803738570163, -1.6239859547120901, -5.0491300215678701, 0.316141906166655, -6.8977435746728997, -6.9768951380000299, 1.3337978430772699, 0.27199695684951902, -0.00038359474997356102, 0.72100151176486804, -2.5365266414467098, 0.014980427848668199, 6.4663011480631196, 3.0354904137032901, -4.11275562441097, 3.6805173953314201, 18.1353313216757, 0.0085443837305102504, -0.16921638348780199, -3.85900106683119, 3.0428583654892001, -0.42146305418508101, 0.73140085261157395, -3.0095115595924198, -0.74724977432843798, -7.5689235578938199, -9.1654977643928905, -2.6018219553374502, -0.138580489522561, 3.1034344981670402e-05, 0.57346844296584099, -3.2816001969233399, 0.0098861018626169896, 2.7223870822496599, 3.19376385336182, -1.6094836478010499, 3.2093742171519399, 7.7061355268378202, 0.00180174673425388, -0.239342015844032, -0.17647999921287399, 1.7270571869450699, 0.18584316968323999, -0.066662651903874603, -2.3139065344532099, -0.65593666316055899, -3.9145254849983999, -3.4618799405385898, -2.6291335069492199, -0.23750024714478199, 0.00031371845096864198, -0.27014711720045598, -0.259122675110673, 0.0083797376871939597, 10.324015180961201, 0.62494833390683702, -6.5624316442850503, 3.9711776808922599, 2.31246521547006, 0.030498354639596902, -0.030734962225840101, -4.3487398562952402, 5.7898821592163596, 0.12407032656822101, -0.67808345005445703, -4.5636059941770499, 0.27242993392548098, -0.151105792955298, -2.1330095124199899, -4.5785158627476203, -0.23182086620430201, 0.00056545552199213298, 0.069522397061161395, 2.96885317382849, -0.051806865055980901, -9.7375846906152006, -3.7168685914889101, 6.2375373511235503, -2.6577205028209501, -20.3171172054412, -0.021304232202155899, 0.23708001500731801, 6.1434851687025596, -6.0140190081509104, -1.2111808932828501, -1.0189029621818799, 4.9024564940572102, 0.071576063751164501, 10.0372849796479, 8.8217235588703602, 3.2002119174291299, 1.88033862253058, -9.2381558436834005e-06, 0.209953576303675, 0.59897227695759403, 0.015408836716403701, 0.72667814261222297, 1.04253074219921, -0.36639952244782897, 2.1938545786385899, 10.5511658202853, -0.0060583673747924196, -0.040276481247202303, 0.19563265784432399, 0.695642528811383, 0.092195243295609006, -0.11700648378234201, -1.12128461392435, -0.24506719194217999, -5.08663676195245, -5.4127332500372898, -1.5233052074208899, -0.39207349407666497, -6.8044267141740398e-05, 1.4457806883519999, 3.6350558224209202, -0.050692260884422198, 6.5385777171092396, -6.1735157165659498, -4.2016623917464404, 0.71692866600594696, -26.888355558432, 0.028941180562419198, 0.41559738160577497, -1.41973334424801, 2.2623160579408399, 0.052440836591797699, 0.30315007284467799, -2.1595166526410599, -1.58941085218909, 13.577357339870201, 12.5510397413387, -2.28593652323275, 1.6131542987429599, 2.4964374967303e-05, 0.93824074473311303, -2.4541545673520901, 0.034536963170488502, 13.190305707504599, 4.9824580626416397, -8.2907707221262701, 7.2636404959165102, 24.581904470708601, -0.0158179845091273, -0.31398696530982101, -0.31358040502335599, 2.3904278510213701, 0.29019959630452602, -0.27262779401736098, -2.5076564852846102, -1.07562902654376, -12.0644593562773, -12.129759160663401, -8.6137752723124397, -0.85889008520979604}; // SM+spl double Slater_inv3_2[441] = {-0.056658742514349103, -9.5006825962797503, -18.307026635935799, -0.36744251865365501, 31.610841135834299, 39.084671241308698, -19.703711132730799, 18.666497646833299, 121.964198363159, -17.598444551917201, -2.9520245875548698, 24.935160344122199, 13.992695020707, 4.6612706754314903, -3.6234738869455199, -28.604054847833801, 9.5739197944338503, -62.128443913882499, -67.232459151277695, -11.803301377693099, -3.8508731471217099, 0.069411805979426894, 10.8007994955779, 22.458394727678201, -0.89282708659453403, -39.476164388726097, -47.5420201141931, 24.536662733275399, -23.351558477080602, -146.60044409871099, 21.549928185153298, 3.32891560872004, -30.5549979706051, -17.384760133954, -5.4401084934617003, 4.3730845094487396, 35.2040348414587, -11.414817838980399, 74.926509290741393, 80.145978783950099, 14.6842509146363, 5.7893824160342398, 0.041199702875412497, -6.4779318938824302, -13.2989719358296, 0.51508213587065199, 23.9434304832055, 27.923633944040301, -14.994539048994801, 13.545190256632999, 84.658750799602501, -12.440996315879, -1.6347815496642299, 17.4053340515119, 10.4563880132908, 3.2716511123291698, -2.32038524814726, -20.901080430435499, 6.5092932119827198, -43.310144838525801, -46.266317618221201, -9.0209731319320596, -3.3217327746699499, -0.071364036152653701, 11.529909516191401, 22.9175425489932, 0.44722818276140403, -39.897585842875301, -48.876557451246697, 24.801523764393401, -23.690956189203401, -151.28132599138999, 21.549304148995901, 3.4094704881876998, -30.687597458642099, -17.659848105023201, -5.7069215817131997, 4.0886157921745996, 35.564950307785701, -12.1803912964186, 77.135406641174299, 83.318689013925706, 14.819424258558801, 4.7782939163062803, -0.040051226770134098, -6.7134150132482402, -13.312257348225099, -0.26126985985289403, 22.204441530888801, 27.729627986407898, -13.7012421876807, 13.0503428483308, 85.297842345116607, -12.439369240025201, -1.60848061970372, 17.698309764178902, 10.1798985121263, 3.3110252774145601, -2.5466287558690199, -20.410023365852201, 6.7633439222022202, -43.4149505982517, -46.886928763683102, -7.88950712988734, -2.6927901019362199, -0.058248999176268398, 9.0508747193022892, 18.587941141225699, -0.73447131422595202, -35.308936282117699, -39.940782969048001, 21.9119312895712, -20.076960036338601, -123.935102576568, 17.592669318251101, 3.0259816420954402, -24.782453059479, -15.379073099754899, -4.67601503080067, 3.33242427220405, 30.0344780145867, -9.0772191462285008, 63.391820359557002, 67.760837774760006, 13.3701295015636, 4.8413052345891403, -0.00048534604109837199, -1.8238859168577699, 0.56645976558050504, -0.011652978445607001, 3.3511865791586, 2.0262681174419299, -2.14462816857628, 1.8811114733258301, 1.72516289469276, -0.0410444803602956, -0.17992011162600399, 4.6474809764852196, 0.32638302042170703, 1.28068103014527, 0.42381953652975901, -1.62158383882094, 1.84081037263479, -1.2636267813034701, -0.97726719185308597, -0.84319863660797401, 0.57245121780013697, 0.00072965273109526496, -0.74868100456805098, 0.61375144696985096, -0.013670796650539699, -10.880212250529199, -2.2389072194253701, 6.8446360871752603, -3.8338819099152301, -0.83708262317409499, 0.055638693619984997, 0.16395892268443801, -6.4020540512225601, -0.87619791103918299, 0.67273193621704896, -0.96217527481654197, 3.5322304037025498, 0.74780382069687101, 0.457651060635482, 2.4127372990709501, 5.8207812126355103, 0.41153697505715597, 0.00047300381075295099, -0.24273841428794099, 0.62931133864105804, -0.0075433586410305498, -3.8733549821913198, -2.7042122832831499, 2.4066006453807001, -1.90501007795962, -11.4961539239149, -0.025181201641384401, 0.20951155742128399, 4.41315756942062, -2.02827911285326, 0.53245648205106699, -0.57146100385840204, 1.6986603412216601, 0.20698230514139301, 5.5487259477006203, 4.3923373342920504, 2.6422104099671002, 0.12108516249854701, 0.00082691786224778699, 0.113024111733347, 2.7966391201096901, -0.052696331353419397, -4.8718908471754601, -4.3479524721016301, 3.1326652654405498, -2.1520186098021998, -17.7293360378548, -0.043482158450766098, 0.29115918226676102, 7.9265874331542596, -4.4255647905147004, -1.3335239860704799, -1.2720331573702599, 2.2195046250833101, 0.037526349197067099, 8.8672908187991606, 8.6317273115312592, 1.83700699526623, 1.8931859854467199, 0.000439374179950941, 1.8174276372186899, -0.095470042913778502, 0.0240432915091328, 0.33095163979973902, 0.419313643627721, -0.26508090252151401, 0.40758512406775099, 6.2032604963961004, 0.0299978360553445, -0.0350221248964512, -4.5247535085126103, 2.4252753636201798, -1.0443273705703999, -0.77183418222125399, -0.15673357470618601, -1.86654030909075, -2.3976989367798298, -1.56808861204302, 0.340202658594777, -1.0312623606052, -0.00063346566713256398, -0.661487272350328, -0.31969668820761499, -0.0207136433303984, -9.5617277834137209, -0.76548087353469296, 6.1338905273463604, -3.6493438141085299, -1.93160595722129, -0.054328540468196101, 0.063300925950509901, 8.0421985164502203, -6.7317743058458301, 0.56920882928816896, 1.39543139815216, 5.8217064803946901, 0.664937044390989, 2.0166407848672301, 0.66314768899536403, 2.4978865189964501, 0.90776612934725198, -0.00080526074137288, 0.866074714994297, -3.1810443538305599, 0.016712052067642799, 8.8525588583729107, 4.9029982933499703, -5.6387712154483003, 4.6377500718450797, 24.5361964752293, 0.036812637615073897, -0.307516025692601, -7.7158500239832, 6.5793196290456004, -0.90848412347546603, 1.2781649114678699, -4.0662241638244598, -0.85073071123983601, -12.848505169556301, -11.568586481641701, -3.9619743954566902, -0.100174674295188, 0.00069201116604256595, -0.421899716446686, -0.59032673715943695, 0.00276476648616889, 5.2753594946225197, 3.1708842333983198, -3.5051204501630502, -1.5506563388697101, 13.474253171986501, 0.038327175723695497, -0.21097106418518499, -8.0266607832375794, 6.6217101288174902, 1.26803738570163, -1.6239859547120901, -5.0491300215678701, 0.316141906166655, -6.8977435746728997, -6.9768951380000299, 1.3337978430772699, 0.27199695684951902, -0.00038359474997356102, 0.72100151176486804, -2.5365266414467098, 0.014980427848668199, 6.4663011480631196, 3.0354904137032901, -4.11275562441097, 3.6805173953314201, 18.1353313216757, 0.0085443837305102504, -0.16921638348780199, -3.85900106683119, 3.0428583654892001, -0.42146305418508101, 0.73140085261157395, -3.0095115595924198, -0.74724977432843798, -7.5689235578938199, -9.1654977643928905, -2.6018219553374502, -0.138580489522561, 3.1034344981670402e-05, 0.57346844296584099, -3.2816001969233399, 0.0098861018626169896, 2.7223870822496599, 3.19376385336182, -1.6094836478010499, 3.2093742171519399, 7.7061355268378202, 0.00180174673425388, -0.239342015844032, -0.17647999921287399, 1.7270571869450699, 0.18584316968323999, -0.066662651903874603, -2.3139065344532099, -0.65593666316055899, -3.9145254849983999, -3.4618799405385898, -2.6291335069492199, -0.23750024714478199, 0.00031371845096864198, -0.27014711720045598, -0.259122675110673, 0.0083797376871939597, 10.324015180961201, 0.62494833390683702, -6.5624316442850503, 3.9711776808922599, 2.31246521547006, 0.030498354639596902, -0.030734962225840101, -4.3487398562952402, 5.7898821592163596, 0.12407032656822101, -0.67808345005445703, -4.5636059941770499, 0.27242993392548098, -0.151105792955298, -2.1330095124199899, -4.5785158627476203, -0.23182086620430201, 0.00056545552199213298, 0.069522397061161395, 2.96885317382849, -0.051806865055980901, -9.7375846906152006, -3.7168685914889101, 6.2375373511235503, -2.6577205028209501, -20.3171172054412, -0.021304232202155899, 0.23708001500731801, 6.1434851687025596, -6.0140190081509104, -1.2111808932828501, -1.0189029621818799, 4.9024564940572102, 0.071576063751164501, 10.0372849796479, 8.8217235588703602, 3.2002119174291299, 1.88033862253058, -9.2381558436834005e-06, 0.209953576303675, 0.59897227695759403, 0.015408836716403701, 0.72667814261222297, 1.04253074219921, -0.36639952244782897, 2.1938545786385899, 10.5511658202853, -0.0060583673747924196, -0.040276481247202303, 0.19563265784432399, 0.695642528811383, 0.092195243295609006, -0.11700648378234201, -1.12128461392435, -0.24506719194217999, -5.08663676195245, -5.4127332500372898, -1.5233052074208899, -0.39207349407666497, -6.8044267141740398e-05, 1.4457806883519999, 3.6350558224209202, -0.050692260884422198, 6.5385777171092396, -6.1735157165659498, -4.2016623917464404, 0.71692866600594696, -26.888355558432, 0.028941180562419198, 0.41559738160577497, -1.41973334424801, 2.2623160579408399, 0.052440836591797699, 0.30315007284467799, -2.1595166526410599, -1.58941085218909, 13.577357339870201, 12.5510397413387, -2.28593652323275, 1.6131542987429599, 2.4964374967303e-05, 0.93824074473311303, -2.4541545673520901, 0.034536963170488502, 13.190305707504599, 4.9824580626416397, -8.2907707221262701, 7.2636404959165102, 24.581904470708601, -0.0158179845091273, -0.31398696530982101, -0.31358040502335599, 2.3904278510213701, 0.29019959630452602, -0.27262779401736098, -2.5076564852846102, -1.07562902654376, -12.0644593562773, -12.129759160663401, -8.6137752723124397, -0.85889008520979604};