mirror of
https://github.com/TREX-CoE/qmckl.git
synced 2024-11-03 20:54:09 +01:00
Deploying to gh-pages from @ TREX-CoE/qmckl@8535e3c0b5 🚀
This commit is contained in:
parent
0b28cbaabf
commit
3b9a57bd0d
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-10-06 Wed 21:45 -->
|
||||
<!-- 2021-10-10 Sun 14:25 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>QMCkl source code documentation</title>
|
||||
@ -356,7 +356,7 @@ and bug reports should be submitted at
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-10-06 Wed 21:45</p>
|
||||
<p class="date">Created: 2021-10-10 Sun 14:25</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
102
qmckl.html
102
qmckl.html
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-10-06 Wed 21:45 -->
|
||||
<!-- 2021-10-10 Sun 14:26 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Introduction</title>
|
||||
@ -333,30 +333,30 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#orga586751">1. Using QMCkl</a></li>
|
||||
<li><a href="#orgd1aed11">2. Developing in QMCkl</a>
|
||||
<li><a href="#org8b94095">1. Using QMCkl</a></li>
|
||||
<li><a href="#orgcc3cfee">2. Developing in QMCkl</a>
|
||||
<ul>
|
||||
<li><a href="#org26e1cfd">2.1. Literate programming</a></li>
|
||||
<li><a href="#org2f2cf8f">2.2. Source code editing</a></li>
|
||||
<li><a href="#org72f20dc">2.3. Choice of the programming language</a></li>
|
||||
<li><a href="#org36f2b04">2.4. Coding rules</a></li>
|
||||
<li><a href="#org971c038">2.5. Design of the library</a></li>
|
||||
<li><a href="#org2c7197f">2.6. Naming conventions</a></li>
|
||||
<li><a href="#org06d2e04">2.7. Application programming interface</a></li>
|
||||
<li><a href="#org51ab4a8">2.8. Global state</a></li>
|
||||
<li><a href="#org5d4b23a">2.9. Headers</a></li>
|
||||
<li><a href="#org2a5a7b8">2.10. Low-level functions</a></li>
|
||||
<li><a href="#orge950939">2.11. High-level functions</a></li>
|
||||
<li><a href="#orga09f438">2.12. Numerical precision</a></li>
|
||||
<li><a href="#org73b214a">2.13. Algorithms</a></li>
|
||||
<li><a href="#org928cf94">2.1. Literate programming</a></li>
|
||||
<li><a href="#org4d847e9">2.2. Source code editing</a></li>
|
||||
<li><a href="#org5c75c53">2.3. Choice of the programming language</a></li>
|
||||
<li><a href="#orgdb481b2">2.4. Coding rules</a></li>
|
||||
<li><a href="#org41b402f">2.5. Design of the library</a></li>
|
||||
<li><a href="#org1b94749">2.6. Naming conventions</a></li>
|
||||
<li><a href="#org79a6bc2">2.7. Application programming interface</a></li>
|
||||
<li><a href="#org07a0b45">2.8. Global state</a></li>
|
||||
<li><a href="#org793615c">2.9. Headers</a></li>
|
||||
<li><a href="#org71565b1">2.10. Low-level functions</a></li>
|
||||
<li><a href="#org3465d19">2.11. High-level functions</a></li>
|
||||
<li><a href="#org786d745">2.12. Numerical precision</a></li>
|
||||
<li><a href="#org007f089">2.13. Algorithms</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga586751" class="outline-2">
|
||||
<h2 id="orga586751"><span class="section-number-2">1</span> Using QMCkl</h2>
|
||||
<div id="outline-container-org8b94095" class="outline-2">
|
||||
<h2 id="org8b94095"><span class="section-number-2">1</span> Using QMCkl</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
The <code>qmckl.h</code> header file installed in the <code>${prefix}/include</code> directory
|
||||
@ -385,12 +385,12 @@ Both files are located in the <code>include/</code> directory.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd1aed11" class="outline-2">
|
||||
<h2 id="orgd1aed11"><span class="section-number-2">2</span> Developing in QMCkl</h2>
|
||||
<div id="outline-container-orgcc3cfee" class="outline-2">
|
||||
<h2 id="orgcc3cfee"><span class="section-number-2">2</span> Developing in QMCkl</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-org26e1cfd" class="outline-3">
|
||||
<h3 id="org26e1cfd"><span class="section-number-3">2.1</span> Literate programming</h3>
|
||||
<div id="outline-container-org928cf94" class="outline-3">
|
||||
<h3 id="org928cf94"><span class="section-number-3">2.1</span> Literate programming</h3>
|
||||
<div class="outline-text-3" id="text-2-1">
|
||||
<p>
|
||||
In a traditional source code, most of the lines of source files of a program
|
||||
@ -435,8 +435,8 @@ interactively, in the same spirit as Jupyter notebooks.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2f2cf8f" class="outline-3">
|
||||
<h3 id="org2f2cf8f"><span class="section-number-3">2.2</span> Source code editing</h3>
|
||||
<div id="outline-container-org4d847e9" class="outline-3">
|
||||
<h3 id="org4d847e9"><span class="section-number-3">2.2</span> Source code editing</h3>
|
||||
<div class="outline-text-3" id="text-2-2">
|
||||
<p>
|
||||
For a tutorial on literate programming with org-mode, follow <a href="http://www.howardism.org/Technical/Emacs/literate-programming-tutorial.html">this link</a>.
|
||||
@ -467,8 +467,8 @@ org-mode.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org72f20dc" class="outline-3">
|
||||
<h3 id="org72f20dc"><span class="section-number-3">2.3</span> Choice of the programming language</h3>
|
||||
<div id="outline-container-org5c75c53" class="outline-3">
|
||||
<h3 id="org5c75c53"><span class="section-number-3">2.3</span> Choice of the programming language</h3>
|
||||
<div class="outline-text-3" id="text-2-3">
|
||||
<p>
|
||||
Most of the codes of the <a href="https://trex-coe.eu">TREX CoE</a> are written in Fortran with some scripts in
|
||||
@ -516,8 +516,8 @@ For more guidelines on using Fortran to generate a C interface, see
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org36f2b04" class="outline-3">
|
||||
<h3 id="org36f2b04"><span class="section-number-3">2.4</span> Coding rules</h3>
|
||||
<div id="outline-container-orgdb481b2" class="outline-3">
|
||||
<h3 id="orgdb481b2"><span class="section-number-3">2.4</span> Coding rules</h3>
|
||||
<div class="outline-text-3" id="text-2-4">
|
||||
<p>
|
||||
The authors should follow the recommendations of the C99
|
||||
@ -535,8 +535,8 @@ Compliance can be checked with <code>cppcheck</code> as:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org971c038" class="outline-3">
|
||||
<h3 id="org971c038"><span class="section-number-3">2.5</span> Design of the library</h3>
|
||||
<div id="outline-container-org41b402f" class="outline-3">
|
||||
<h3 id="org41b402f"><span class="section-number-3">2.5</span> Design of the library</h3>
|
||||
<div class="outline-text-3" id="text-2-5">
|
||||
<p>
|
||||
The proposed API should allow the library to: deal with memory transfers
|
||||
@ -547,8 +547,8 @@ functions (see below).
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2c7197f" class="outline-3">
|
||||
<h3 id="org2c7197f"><span class="section-number-3">2.6</span> Naming conventions</h3>
|
||||
<div id="outline-container-org1b94749" class="outline-3">
|
||||
<h3 id="org1b94749"><span class="section-number-3">2.6</span> Naming conventions</h3>
|
||||
<div class="outline-text-3" id="text-2-6">
|
||||
<p>
|
||||
To avoid namespace collisions, we use <code>qmckl_</code> as a prefix for all exported
|
||||
@ -573,8 +573,8 @@ form is allowed.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org06d2e04" class="outline-3">
|
||||
<h3 id="org06d2e04"><span class="section-number-3">2.7</span> Application programming interface</h3>
|
||||
<div id="outline-container-org79a6bc2" class="outline-3">
|
||||
<h3 id="org79a6bc2"><span class="section-number-3">2.7</span> Application programming interface</h3>
|
||||
<div class="outline-text-3" id="text-2-7">
|
||||
<p>
|
||||
In the C language, the number of bits used by the integer types can change
|
||||
@ -606,15 +606,15 @@ bindings in other languages in other repositories.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org51ab4a8" class="outline-3">
|
||||
<h3 id="org51ab4a8"><span class="section-number-3">2.8</span> Global state</h3>
|
||||
<div id="outline-container-org07a0b45" class="outline-3">
|
||||
<h3 id="org07a0b45"><span class="section-number-3">2.8</span> Global state</h3>
|
||||
<div class="outline-text-3" id="text-2-8">
|
||||
<p>
|
||||
Global variables should be avoided in the library, because it is
|
||||
possible that one single program needs to use multiple instances
|
||||
of the library. To solve this problem we propose to use a pointer
|
||||
to a <a href="./qmckl_context.html"><code>context</code></a> variable, built by the library with the
|
||||
<code>qmckl_context_create</code> function. The <a id="org57e235c">=context=</a> contains the global
|
||||
<code>qmckl_context_create</code> function. The <a id="org3373dbd">=context=</a> contains the global
|
||||
state of the library, and is used as the first argument of many
|
||||
QMCkl functions.
|
||||
</p>
|
||||
@ -628,8 +628,8 @@ the state is done by setters and getters, prefixed by
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5d4b23a" class="outline-3">
|
||||
<h3 id="org5d4b23a"><span class="section-number-3">2.9</span> Headers</h3>
|
||||
<div id="outline-container-org793615c" class="outline-3">
|
||||
<h3 id="org793615c"><span class="section-number-3">2.9</span> Headers</h3>
|
||||
<div class="outline-text-3" id="text-2-9">
|
||||
<p>
|
||||
A single <code>qmckl.h</code> header to be distributed by the library
|
||||
@ -717,8 +717,8 @@ and the types definitions should be written in the <code>*fh_type.f90</code> fil
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2a5a7b8" class="outline-3">
|
||||
<h3 id="org2a5a7b8"><span class="section-number-3">2.10</span> Low-level functions</h3>
|
||||
<div id="outline-container-org71565b1" class="outline-3">
|
||||
<h3 id="org71565b1"><span class="section-number-3">2.10</span> Low-level functions</h3>
|
||||
<div class="outline-text-3" id="text-2-10">
|
||||
<p>
|
||||
Low-level functions are very simple functions which are leaves of
|
||||
@ -727,14 +727,14 @@ the function call tree (they don't call any other QMCkl function).
|
||||
|
||||
<p>
|
||||
These functions are <i>pure</i>, and unaware of the QMCkl
|
||||
<a href="#org57e235c"><code>context</code></a>. They are not allowed to allocate/deallocate memory, and
|
||||
<a href="#org3373dbd"><code>context</code></a>. They are not allowed to allocate/deallocate memory, and
|
||||
if they need temporary memory it should be provided in input.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge950939" class="outline-3">
|
||||
<h3 id="orge950939"><span class="section-number-3">2.11</span> High-level functions</h3>
|
||||
<div id="outline-container-org3465d19" class="outline-3">
|
||||
<h3 id="org3465d19"><span class="section-number-3">2.11</span> High-level functions</h3>
|
||||
<div class="outline-text-3" id="text-2-11">
|
||||
<p>
|
||||
High-level functions are at the top of the function call tree.
|
||||
@ -747,27 +747,27 @@ temporary storage, to simplify the use of accelerators.
|
||||
<p>
|
||||
The high-level functions should be pure, unless the introduction
|
||||
of non-purity is justified. All the side effects should be made in
|
||||
the <a href="#org57e235c"><code>context</code></a> variable.
|
||||
the <a href="#org3373dbd"><code>context</code></a> variable.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga09f438" class="outline-3">
|
||||
<h3 id="orga09f438"><span class="section-number-3">2.12</span> Numerical precision</h3>
|
||||
<div id="outline-container-org786d745" class="outline-3">
|
||||
<h3 id="org786d745"><span class="section-number-3">2.12</span> Numerical precision</h3>
|
||||
<div class="outline-text-3" id="text-2-12">
|
||||
<p>
|
||||
The number of bits of precision required for a function should be
|
||||
given as an input of low-level computational functions. This input
|
||||
will be used to define the values of the different thresholds that
|
||||
might be used to avoid computing unnecessary noise. High-level
|
||||
functions will use the precision specified in the <a href="#org57e235c"><code>context</code></a>
|
||||
functions will use the precision specified in the <a href="#org3373dbd"><code>context</code></a>
|
||||
variable.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org73b214a" class="outline-3">
|
||||
<h3 id="org73b214a"><span class="section-number-3">2.13</span> Algorithms</h3>
|
||||
<div id="outline-container-org007f089" class="outline-3">
|
||||
<h3 id="org007f089"><span class="section-number-3">2.13</span> Algorithms</h3>
|
||||
<div class="outline-text-3" id="text-2-13">
|
||||
<p>
|
||||
Reducing the scaling of an algorithm usually implies also reducing
|
||||
@ -783,7 +783,7 @@ implemented adapted to different problem sizes.
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-10-06 Wed 21:45</p>
|
||||
<p class="date">Created: 2021-10-10 Sun 14:26</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
260
qmckl_ao.html
260
qmckl_ao.html
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-10-06 Wed 21:45 -->
|
||||
<!-- 2021-10-10 Sun 14:26 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Atomic Orbitals</title>
|
||||
@ -333,71 +333,71 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#org08c6807">1. Context</a>
|
||||
<li><a href="#org78ad26d">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#org36dcbde">1.1. Data structure</a></li>
|
||||
<li><a href="#orge047790">1.2. Access functions</a></li>
|
||||
<li><a href="#org85a2108">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org52e4712">1.4. Fortran interfaces</a></li>
|
||||
<li><a href="#org09160ee">1.1. Data structure</a></li>
|
||||
<li><a href="#org620dadc">1.2. Access functions</a></li>
|
||||
<li><a href="#org2b478ac">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org7ea07bd">1.4. Fortran interfaces</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org9deb2f5">2. Radial part</a>
|
||||
<li><a href="#org0d90c35">2. Radial part</a>
|
||||
<ul>
|
||||
<li><a href="#org45ccb18">2.1. <span class="todo TODO">TODO</span> Helper functions to accelerate calculations</a></li>
|
||||
<li><a href="#orgdc55dd6">2.2. General functions for Gaussian basis functions</a></li>
|
||||
<li><a href="#orgb8f849b">2.3. <span class="todo TODO">TODO</span> General functions for Slater basis functions</a></li>
|
||||
<li><a href="#org36160ee">2.4. <span class="todo TODO">TODO</span> General functions for Radial functions on a grid</a></li>
|
||||
<li><a href="#orgd347ab0">2.5. Computation of primitives</a>
|
||||
<li><a href="#org0421da6">2.1. <span class="todo TODO">TODO</span> Helper functions to accelerate calculations</a></li>
|
||||
<li><a href="#org9c3b066">2.2. General functions for Gaussian basis functions</a></li>
|
||||
<li><a href="#org5efb955">2.3. <span class="todo TODO">TODO</span> General functions for Slater basis functions</a></li>
|
||||
<li><a href="#orgc2b48ed">2.4. <span class="todo TODO">TODO</span> General functions for Radial functions on a grid</a></li>
|
||||
<li><a href="#org71e29b8">2.5. Computation of primitives</a>
|
||||
<ul>
|
||||
<li><a href="#orgaf36310">2.5.1. Get</a></li>
|
||||
<li><a href="#org2f56326">2.5.2. Provide</a></li>
|
||||
<li><a href="#orgc673c99">2.5.3. Compute</a></li>
|
||||
<li><a href="#org5a1ba00">2.5.4. Test</a></li>
|
||||
<li><a href="#org903261f">2.5.5. Ideas for improvement</a></li>
|
||||
<li><a href="#org2f90f75">2.5.1. Get</a></li>
|
||||
<li><a href="#orgdb321a1">2.5.2. Provide</a></li>
|
||||
<li><a href="#orge37208f">2.5.3. Compute</a></li>
|
||||
<li><a href="#orgb3fc9b4">2.5.4. Test</a></li>
|
||||
<li><a href="#org749d10c">2.5.5. Ideas for improvement</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org9fe8e30">2.6. Computation of shells</a>
|
||||
<li><a href="#org535f051">2.6. Computation of shells</a>
|
||||
<ul>
|
||||
<li><a href="#orgd1f0dcd">2.6.1. Get</a></li>
|
||||
<li><a href="#org3d25675">2.6.2. Provide</a></li>
|
||||
<li><a href="#org688c2bd">2.6.3. Compute</a></li>
|
||||
<li><a href="#orgad8cd5b">2.6.4. Test</a></li>
|
||||
<li><a href="#org43503a4">2.6.1. Get</a></li>
|
||||
<li><a href="#orgf6b4cab">2.6.2. Provide</a></li>
|
||||
<li><a href="#orgbbf6485">2.6.3. Compute</a></li>
|
||||
<li><a href="#org621f71a">2.6.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org6721c89">3. Polynomial part</a>
|
||||
<li><a href="#org162f308">3. Polynomial part</a>
|
||||
<ul>
|
||||
<li><a href="#org119f143">3.1. General functions for Powers of \(x-X_i\)</a>
|
||||
<li><a href="#org9855bf3">3.1. General functions for Powers of \(x-X_i\)</a>
|
||||
<ul>
|
||||
<li><a href="#org0176459">3.1.1. Requirements</a></li>
|
||||
<li><a href="#org978b6b9">3.1.2. C Header</a></li>
|
||||
<li><a href="#org25a301f">3.1.3. Source</a></li>
|
||||
<li><a href="#orgf0cc1d1">3.1.4. C interface</a></li>
|
||||
<li><a href="#orgdd9d365">3.1.5. Fortran interface</a></li>
|
||||
<li><a href="#orgd4aaca3">3.1.6. Test</a></li>
|
||||
<li><a href="#org4948a8d">3.1.1. Requirements</a></li>
|
||||
<li><a href="#orgf5d69ef">3.1.2. C Header</a></li>
|
||||
<li><a href="#org95b5d28">3.1.3. Source</a></li>
|
||||
<li><a href="#orgfd54260">3.1.4. C interface</a></li>
|
||||
<li><a href="#org303ebff">3.1.5. Fortran interface</a></li>
|
||||
<li><a href="#org18e0ccb">3.1.6. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org7a30c63">3.2. General functions for Value, Gradient and Laplacian of a polynomial</a>
|
||||
<li><a href="#org4ed2706">3.2. General functions for Value, Gradient and Laplacian of a polynomial</a>
|
||||
<ul>
|
||||
<li><a href="#orgd322b32">3.2.1. Requirements</a></li>
|
||||
<li><a href="#org3411942">3.2.2. C Header</a></li>
|
||||
<li><a href="#org5bfb27b">3.2.3. Source</a></li>
|
||||
<li><a href="#org0be8fc9">3.2.4. C interface</a></li>
|
||||
<li><a href="#org9baf771">3.2.5. Fortran interface</a></li>
|
||||
<li><a href="#org162c54a">3.2.6. Test</a></li>
|
||||
<li><a href="#orgc42e22e">3.2.1. Requirements</a></li>
|
||||
<li><a href="#org4d7213c">3.2.2. C Header</a></li>
|
||||
<li><a href="#org3e98c0e">3.2.3. Source</a></li>
|
||||
<li><a href="#orge69a3b7">3.2.4. C interface</a></li>
|
||||
<li><a href="#orgdea4578">3.2.5. Fortran interface</a></li>
|
||||
<li><a href="#orgabd525d">3.2.6. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgb48f0ec">4. Combining radial and polynomial parts</a>
|
||||
<li><a href="#org4f00936">4. Combining radial and polynomial parts</a>
|
||||
<ul>
|
||||
<li>
|
||||
<ul>
|
||||
<li><a href="#org51d861f">4.0.1. Get</a></li>
|
||||
<li><a href="#org377a494">4.0.2. Provide</a></li>
|
||||
<li><a href="#org6c216f1">4.0.3. Compute</a></li>
|
||||
<li><a href="#orgbabd836">4.0.4. Test</a></li>
|
||||
<li><a href="#org450ccff">4.0.1. Get</a></li>
|
||||
<li><a href="#org0a9db9d">4.0.2. Provide</a></li>
|
||||
<li><a href="#org035ca80">4.0.3. Compute</a></li>
|
||||
<li><a href="#org014f382">4.0.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@ -406,8 +406,8 @@ for the JavaScript code in this tag.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org08c6807" class="outline-2">
|
||||
<h2 id="org08c6807"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-org78ad26d" class="outline-2">
|
||||
<h2 id="org78ad26d"><span class="section-number-2">1</span> Context</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
The following arrays are stored in the context:
|
||||
@ -679,8 +679,8 @@ prim_factor = [ 1.0006253235944540e+01, 2.4169531573445120e+00, 7.96109248497664
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org36dcbde" class="outline-3">
|
||||
<h3 id="org36dcbde"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-org09160ee" class="outline-3">
|
||||
<h3 id="org09160ee"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #a020f0;">typedef</span> <span style="color: #a020f0;">struct</span> <span style="color: #228b22;">qmckl_ao_basis_struct</span> {
|
||||
@ -753,8 +753,8 @@ this mechanism.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge047790" class="outline-3">
|
||||
<h3 id="orge047790"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div id="outline-container-org620dadc" class="outline-3">
|
||||
<h3 id="org620dadc"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div class="outline-text-3" id="text-1-2">
|
||||
<p>
|
||||
When all the data for the AOs have been provided, the following
|
||||
@ -768,8 +768,8 @@ function returns <code>true</code>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org85a2108" class="outline-3">
|
||||
<h3 id="org85a2108"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-org2b478ac" class="outline-3">
|
||||
<h3 id="org2b478ac"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div class="outline-text-3" id="text-1-3">
|
||||
<p>
|
||||
To set the basis set, all the following functions need to be
|
||||
@ -807,20 +807,20 @@ the context.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org52e4712" class="outline-3">
|
||||
<h3 id="org52e4712"><span class="section-number-3">1.4</span> Fortran interfaces</h3>
|
||||
<div id="outline-container-org7ea07bd" class="outline-3">
|
||||
<h3 id="org7ea07bd"><span class="section-number-3">1.4</span> Fortran interfaces</h3>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9deb2f5" class="outline-2">
|
||||
<h2 id="org9deb2f5"><span class="section-number-2">2</span> Radial part</h2>
|
||||
<div id="outline-container-org0d90c35" class="outline-2">
|
||||
<h2 id="org0d90c35"><span class="section-number-2">2</span> Radial part</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-org45ccb18" class="outline-3">
|
||||
<h3 id="org45ccb18"><span class="section-number-3">2.1</span> <span class="todo TODO">TODO</span> Helper functions to accelerate calculations</h3>
|
||||
<div id="outline-container-org0421da6" class="outline-3">
|
||||
<h3 id="org0421da6"><span class="section-number-3">2.1</span> <span class="todo TODO">TODO</span> Helper functions to accelerate calculations</h3>
|
||||
</div>
|
||||
<div id="outline-container-orgdc55dd6" class="outline-3">
|
||||
<h3 id="orgdc55dd6"><span class="section-number-3">2.2</span> General functions for Gaussian basis functions</h3>
|
||||
<div id="outline-container-org9c3b066" class="outline-3">
|
||||
<h3 id="org9c3b066"><span class="section-number-3">2.2</span> General functions for Gaussian basis functions</h3>
|
||||
<div class="outline-text-3" id="text-2-2">
|
||||
<p>
|
||||
<code>qmckl_ao_gaussian_vgl</code> computes the values, gradients and
|
||||
@ -1052,18 +1052,18 @@ Requirements
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb8f849b" class="outline-3">
|
||||
<h3 id="orgb8f849b"><span class="section-number-3">2.3</span> <span class="todo TODO">TODO</span> General functions for Slater basis functions</h3>
|
||||
<div id="outline-container-org5efb955" class="outline-3">
|
||||
<h3 id="org5efb955"><span class="section-number-3">2.3</span> <span class="todo TODO">TODO</span> General functions for Slater basis functions</h3>
|
||||
</div>
|
||||
<div id="outline-container-org36160ee" class="outline-3">
|
||||
<h3 id="org36160ee"><span class="section-number-3">2.4</span> <span class="todo TODO">TODO</span> General functions for Radial functions on a grid</h3>
|
||||
<div id="outline-container-orgc2b48ed" class="outline-3">
|
||||
<h3 id="orgc2b48ed"><span class="section-number-3">2.4</span> <span class="todo TODO">TODO</span> General functions for Radial functions on a grid</h3>
|
||||
</div>
|
||||
<div id="outline-container-orgd347ab0" class="outline-3">
|
||||
<h3 id="orgd347ab0"><span class="section-number-3">2.5</span> Computation of primitives</h3>
|
||||
<div id="outline-container-org71e29b8" class="outline-3">
|
||||
<h3 id="org71e29b8"><span class="section-number-3">2.5</span> Computation of primitives</h3>
|
||||
<div class="outline-text-3" id="text-2-5">
|
||||
</div>
|
||||
<div id="outline-container-orgaf36310" class="outline-4">
|
||||
<h4 id="orgaf36310"><span class="section-number-4">2.5.1</span> Get</h4>
|
||||
<div id="outline-container-org2f90f75" class="outline-4">
|
||||
<h4 id="org2f90f75"><span class="section-number-4">2.5.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-5-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_ao_basis_primitive_vgl</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">primitive_vgl</span>);
|
||||
@ -1072,14 +1072,14 @@ Requirements
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2f56326" class="outline-4">
|
||||
<h4 id="org2f56326"><span class="section-number-4">2.5.2</span> Provide</h4>
|
||||
<div id="outline-container-orgdb321a1" class="outline-4">
|
||||
<h4 id="orgdb321a1"><span class="section-number-4">2.5.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc673c99" class="outline-4">
|
||||
<h4 id="orgc673c99"><span class="section-number-4">2.5.3</span> Compute</h4>
|
||||
<div id="outline-container-orge37208f" class="outline-4">
|
||||
<h4 id="orge37208f"><span class="section-number-4">2.5.3</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-5-3">
|
||||
<table id="org1cc0951" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org10bd97c" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1213,12 +1213,12 @@ Requirements
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5a1ba00" class="outline-4">
|
||||
<h4 id="org5a1ba00"><span class="section-number-4">2.5.4</span> Test</h4>
|
||||
<div id="outline-container-orgb3fc9b4" class="outline-4">
|
||||
<h4 id="orgb3fc9b4"><span class="section-number-4">2.5.4</span> Test</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org903261f" class="outline-4">
|
||||
<h4 id="org903261f"><span class="section-number-4">2.5.5</span> Ideas for improvement</h4>
|
||||
<div id="outline-container-org749d10c" class="outline-4">
|
||||
<h4 id="org749d10c"><span class="section-number-4">2.5.5</span> Ideas for improvement</h4>
|
||||
<div class="outline-text-4" id="text-2-5-5">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">// <span style="color: #b22222;">j : electrons</span>
|
||||
@ -1252,12 +1252,12 @@ k=0;
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9fe8e30" class="outline-3">
|
||||
<h3 id="org9fe8e30"><span class="section-number-3">2.6</span> Computation of shells</h3>
|
||||
<div id="outline-container-org535f051" class="outline-3">
|
||||
<h3 id="org535f051"><span class="section-number-3">2.6</span> Computation of shells</h3>
|
||||
<div class="outline-text-3" id="text-2-6">
|
||||
</div>
|
||||
<div id="outline-container-orgd1f0dcd" class="outline-4">
|
||||
<h4 id="orgd1f0dcd"><span class="section-number-4">2.6.1</span> Get</h4>
|
||||
<div id="outline-container-org43503a4" class="outline-4">
|
||||
<h4 id="org43503a4"><span class="section-number-4">2.6.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-6-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_ao_basis_shell_vgl</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">shell_vgl</span>);
|
||||
@ -1266,14 +1266,14 @@ k=0;
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3d25675" class="outline-4">
|
||||
<h4 id="org3d25675"><span class="section-number-4">2.6.2</span> Provide</h4>
|
||||
<div id="outline-container-orgf6b4cab" class="outline-4">
|
||||
<h4 id="orgf6b4cab"><span class="section-number-4">2.6.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org688c2bd" class="outline-4">
|
||||
<h4 id="org688c2bd"><span class="section-number-4">2.6.3</span> Compute</h4>
|
||||
<div id="outline-container-orgbbf6485" class="outline-4">
|
||||
<h4 id="orgbbf6485"><span class="section-number-4">2.6.3</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-6-3">
|
||||
<table id="orge106504" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgb19ad73" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1494,14 +1494,14 @@ k=0;
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgad8cd5b" class="outline-4">
|
||||
<h4 id="orgad8cd5b"><span class="section-number-4">2.6.4</span> Test</h4>
|
||||
<div id="outline-container-org621f71a" class="outline-4">
|
||||
<h4 id="org621f71a"><span class="section-number-4">2.6.4</span> Test</h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6721c89" class="outline-2">
|
||||
<h2 id="org6721c89"><span class="section-number-2">3</span> Polynomial part</h2>
|
||||
<div id="outline-container-org162f308" class="outline-2">
|
||||
<h2 id="org162f308"><span class="section-number-2">3</span> Polynomial part</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
<p>
|
||||
Going from the atomic basis set to AOs implies a systematic
|
||||
@ -1521,8 +1521,8 @@ f & : & f_{xxx}, f_{xxy}, f_{xxz}, f_{xyy}, f_{xyz}, f_{xzz}, f_{yyy}, f_{yyz},
|
||||
\end{eqnarray}
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org119f143" class="outline-3">
|
||||
<h3 id="org119f143"><span class="section-number-3">3.1</span> General functions for Powers of \(x-X_i\)</h3>
|
||||
<div id="outline-container-org9855bf3" class="outline-3">
|
||||
<h3 id="org9855bf3"><span class="section-number-3">3.1</span> General functions for Powers of \(x-X_i\)</h3>
|
||||
<div class="outline-text-3" id="text-3-1">
|
||||
<p>
|
||||
The <code>qmckl_ao_power</code> function computes all the powers of the <code>n</code>
|
||||
@ -1534,7 +1534,7 @@ the \(n\) points:
|
||||
\[ P_{ik} = X_i^k \]
|
||||
</p>
|
||||
|
||||
<table id="org36a8de2" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org60a4f75" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1592,8 +1592,8 @@ the \(n\) points:
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0176459" class="outline-4">
|
||||
<h4 id="org0176459"><span class="section-number-4">3.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org4948a8d" class="outline-4">
|
||||
<h4 id="org4948a8d"><span class="section-number-4">3.1.1</span> Requirements</h4>
|
||||
<div class="outline-text-4" id="text-3-1-1">
|
||||
<ul class="org-ul">
|
||||
<li><code>context</code> is not <code>QMCKL_NULL_CONTEXT</code></li>
|
||||
@ -1606,8 +1606,8 @@ the \(n\) points:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org978b6b9" class="outline-4">
|
||||
<h4 id="org978b6b9"><span class="section-number-4">3.1.2</span> C Header</h4>
|
||||
<div id="outline-container-orgf5d69ef" class="outline-4">
|
||||
<h4 id="orgf5d69ef"><span class="section-number-4">3.1.2</span> C Header</h4>
|
||||
<div class="outline-text-4" id="text-3-1-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_ao_power</span> (
|
||||
@ -1622,8 +1622,8 @@ the \(n\) points:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org25a301f" class="outline-4">
|
||||
<h4 id="org25a301f"><span class="section-number-4">3.1.3</span> Source</h4>
|
||||
<div id="outline-container-org95b5d28" class="outline-4">
|
||||
<h4 id="org95b5d28"><span class="section-number-4">3.1.3</span> Source</h4>
|
||||
<div class="outline-text-4" id="text-3-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #228b22;">integer </span><span style="color: #a020f0;">function</span><span style="color: #a0522d;"> </span><span style="color: #0000ff;">qmckl_ao_power_f</span><span style="color: #000000; background-color: #ffffff;">(context, n, X, LMAX, P, ldp) result(info)</span>
|
||||
@ -1674,15 +1674,15 @@ the \(n\) points:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf0cc1d1" class="outline-4">
|
||||
<h4 id="orgf0cc1d1"><span class="section-number-4">3.1.4</span> C interface</h4>
|
||||
<div id="outline-container-orgfd54260" class="outline-4">
|
||||
<h4 id="orgfd54260"><span class="section-number-4">3.1.4</span> C interface</h4>
|
||||
</div>
|
||||
<div id="outline-container-orgdd9d365" class="outline-4">
|
||||
<h4 id="orgdd9d365"><span class="section-number-4">3.1.5</span> Fortran interface</h4>
|
||||
<div id="outline-container-org303ebff" class="outline-4">
|
||||
<h4 id="org303ebff"><span class="section-number-4">3.1.5</span> Fortran interface</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd4aaca3" class="outline-4">
|
||||
<h4 id="orgd4aaca3"><span class="section-number-4">3.1.6</span> Test</h4>
|
||||
<div id="outline-container-org18e0ccb" class="outline-4">
|
||||
<h4 id="org18e0ccb"><span class="section-number-4">3.1.6</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-3-1-6">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #228b22;">integer</span>(<span style="color: #008b8b;">c_int32_t</span>) <span style="color: #a020f0;">function</span> <span style="color: #0000ff;">test_qmckl_ao_power</span>(context) <span style="color: #a020f0;">bind</span>(C)
|
||||
@ -1733,8 +1733,8 @@ the \(n\) points:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7a30c63" class="outline-3">
|
||||
<h3 id="org7a30c63"><span class="section-number-3">3.2</span> General functions for Value, Gradient and Laplacian of a polynomial</h3>
|
||||
<div id="outline-container-org4ed2706" class="outline-3">
|
||||
<h3 id="org4ed2706"><span class="section-number-3">3.2</span> General functions for Value, Gradient and Laplacian of a polynomial</h3>
|
||||
<div class="outline-text-3" id="text-3-2">
|
||||
<p>
|
||||
A polynomial is centered on a nucleus \(\mathbf{R}_i\)
|
||||
@ -1779,7 +1779,7 @@ Laplacians at a given point in space, of all polynomials with an
|
||||
angular momentum up to <code>lmax</code>.
|
||||
</p>
|
||||
|
||||
<table id="orgb357170" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orga26384c" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1858,8 +1858,8 @@ angular momentum up to <code>lmax</code>.
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd322b32" class="outline-4">
|
||||
<h4 id="orgd322b32"><span class="section-number-4">3.2.1</span> Requirements</h4>
|
||||
<div id="outline-container-orgc42e22e" class="outline-4">
|
||||
<h4 id="orgc42e22e"><span class="section-number-4">3.2.1</span> Requirements</h4>
|
||||
<div class="outline-text-4" id="text-3-2-1">
|
||||
<ul class="org-ul">
|
||||
<li><code>context</code> is not <code>QMCKL_NULL_CONTEXT</code></li>
|
||||
@ -1884,8 +1884,8 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3411942" class="outline-4">
|
||||
<h4 id="org3411942"><span class="section-number-4">3.2.2</span> C Header</h4>
|
||||
<div id="outline-container-org4d7213c" class="outline-4">
|
||||
<h4 id="org4d7213c"><span class="section-number-4">3.2.2</span> C Header</h4>
|
||||
<div class="outline-text-4" id="text-3-2-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_ao_polynomial_vgl</span> (
|
||||
@ -1903,8 +1903,8 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5bfb27b" class="outline-4">
|
||||
<h4 id="org5bfb27b"><span class="section-number-4">3.2.3</span> Source</h4>
|
||||
<div id="outline-container-org3e98c0e" class="outline-4">
|
||||
<h4 id="org3e98c0e"><span class="section-number-4">3.2.3</span> Source</h4>
|
||||
<div class="outline-text-4" id="text-3-2-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #228b22;">integer </span><span style="color: #a020f0;">function</span><span style="color: #a0522d;"> </span><span style="color: #0000ff;">qmckl_ao_polynomial_vgl_f</span><span style="color: #000000; background-color: #ffffff;">(context, X, R, lmax, n, L, ldl, VGL, ldv) result(info)</span>
|
||||
@ -2038,16 +2038,16 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0be8fc9" class="outline-4">
|
||||
<h4 id="org0be8fc9"><span class="section-number-4">3.2.4</span> C interface</h4>
|
||||
<div id="outline-container-orge69a3b7" class="outline-4">
|
||||
<h4 id="orge69a3b7"><span class="section-number-4">3.2.4</span> C interface</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9baf771" class="outline-4">
|
||||
<h4 id="org9baf771"><span class="section-number-4">3.2.5</span> Fortran interface</h4>
|
||||
<div id="outline-container-orgdea4578" class="outline-4">
|
||||
<h4 id="orgdea4578"><span class="section-number-4">3.2.5</span> Fortran interface</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org162c54a" class="outline-4">
|
||||
<h4 id="org162c54a"><span class="section-number-4">3.2.6</span> Test</h4>
|
||||
<div id="outline-container-orgabd525d" class="outline-4">
|
||||
<h4 id="orgabd525d"><span class="section-number-4">3.2.6</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-3-2-6">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #228b22;">integer</span>(<span style="color: #008b8b;">c_int32_t</span>) <span style="color: #a020f0;">function</span> <span style="color: #0000ff;">test_qmckl_ao_polynomial_vgl</span>(context) <span style="color: #a020f0;">bind</span>(C)
|
||||
@ -2152,12 +2152,12 @@ assert(0 == test_qmckl_ao_polynomial_vgl(context));
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb48f0ec" class="outline-2">
|
||||
<h2 id="orgb48f0ec"><span class="section-number-2">4</span> Combining radial and polynomial parts</h2>
|
||||
<div id="outline-container-org4f00936" class="outline-2">
|
||||
<h2 id="org4f00936"><span class="section-number-2">4</span> Combining radial and polynomial parts</h2>
|
||||
<div class="outline-text-2" id="text-4">
|
||||
</div>
|
||||
<div id="outline-container-org51d861f" class="outline-4">
|
||||
<h4 id="org51d861f"><span class="section-number-4">4.0.1</span> Get</h4>
|
||||
<div id="outline-container-org450ccff" class="outline-4">
|
||||
<h4 id="org450ccff"><span class="section-number-4">4.0.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-4-0-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_ao_vgl</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">ao_vgl</span>);
|
||||
@ -2166,14 +2166,14 @@ assert(0 == test_qmckl_ao_polynomial_vgl(context));
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org377a494" class="outline-4">
|
||||
<h4 id="org377a494"><span class="section-number-4">4.0.2</span> Provide</h4>
|
||||
<div id="outline-container-org0a9db9d" class="outline-4">
|
||||
<h4 id="org0a9db9d"><span class="section-number-4">4.0.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6c216f1" class="outline-4">
|
||||
<h4 id="org6c216f1"><span class="section-number-4">4.0.3</span> Compute</h4>
|
||||
<div id="outline-container-org035ca80" class="outline-4">
|
||||
<h4 id="org035ca80"><span class="section-number-4">4.0.3</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-4-0-3">
|
||||
<table id="org765db9d" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org45e0715" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2438,14 +2438,14 @@ assert(0 == test_qmckl_ao_polynomial_vgl(context));
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgbabd836" class="outline-4">
|
||||
<h4 id="orgbabd836"><span class="section-number-4">4.0.4</span> Test</h4>
|
||||
<div id="outline-container-org014f382" class="outline-4">
|
||||
<h4 id="org014f382"><span class="section-number-4">4.0.4</span> Test</h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-10-06 Wed 21:45</p>
|
||||
<p class="date">Created: 2021-10-10 Sun 14:26</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-10-06 Wed 21:45 -->
|
||||
<!-- 2021-10-10 Sun 14:26 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>BLAS functions</title>
|
||||
@ -333,13 +333,13 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#org640f578">1. Matrix operations</a>
|
||||
<li><a href="#org50d3342">1. Matrix operations</a>
|
||||
<ul>
|
||||
<li><a href="#org5afd1ac">1.1. <code>qmckl_dgemm</code></a>
|
||||
<li><a href="#org9e5570b">1.1. <code>qmckl_dgemm</code></a>
|
||||
<ul>
|
||||
<li><a href="#orgfb4d132">1.1.1. Requirements</a></li>
|
||||
<li><a href="#org8e44113">1.1.2. C header</a></li>
|
||||
<li><a href="#org45fe578">1.1.3. Source</a></li>
|
||||
<li><a href="#org22f671f">1.1.1. Requirements</a></li>
|
||||
<li><a href="#org76f6cc5">1.1.2. C header</a></li>
|
||||
<li><a href="#org37cc812">1.1.3. Source</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@ -348,19 +348,19 @@ for the JavaScript code in this tag.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org640f578" class="outline-2">
|
||||
<h2 id="org640f578"><span class="section-number-2">1</span> Matrix operations</h2>
|
||||
<div id="outline-container-org50d3342" class="outline-2">
|
||||
<h2 id="org50d3342"><span class="section-number-2">1</span> Matrix operations</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
</div>
|
||||
<div id="outline-container-org5afd1ac" class="outline-3">
|
||||
<h3 id="org5afd1ac"><span class="section-number-3">1.1</span> <code>qmckl_dgemm</code></h3>
|
||||
<div id="outline-container-org9e5570b" class="outline-3">
|
||||
<h3 id="org9e5570b"><span class="section-number-3">1.1</span> <code>qmckl_dgemm</code></h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<p>
|
||||
Matrix multiply l\(C_{ij} = \beta C_{ij} + \alpha \sum_{k} A_{ik} \cdot B_{kj}\) using Fortran <code>matmul</code> function.
|
||||
TODO: Add description about the external library dependence.
|
||||
</p>
|
||||
|
||||
<table id="org2536b10" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org2aa63cb" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -474,8 +474,8 @@ TODO: Add description about the external library dependence.
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgfb4d132" class="outline-4">
|
||||
<h4 id="orgfb4d132"><span class="section-number-4">1.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org22f671f" class="outline-4">
|
||||
<h4 id="org22f671f"><span class="section-number-4">1.1.1</span> Requirements</h4>
|
||||
<div class="outline-text-4" id="text-1-1-1">
|
||||
<ul class="org-ul">
|
||||
<li><code>context</code> is not <code>QMCKL_NULL_CONTEXT</code></li>
|
||||
@ -492,8 +492,8 @@ TODO: Add description about the external library dependence.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8e44113" class="outline-4">
|
||||
<h4 id="org8e44113"><span class="section-number-4">1.1.2</span> C header</h4>
|
||||
<div id="outline-container-org76f6cc5" class="outline-4">
|
||||
<h4 id="org76f6cc5"><span class="section-number-4">1.1.2</span> C header</h4>
|
||||
<div class="outline-text-4" id="text-1-1-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_dgemm</span> (
|
||||
@ -517,8 +517,8 @@ TODO: Add description about the external library dependence.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org45fe578" class="outline-4">
|
||||
<h4 id="org45fe578"><span class="section-number-4">1.1.3</span> Source</h4>
|
||||
<div id="outline-container-org37cc812" class="outline-4">
|
||||
<h4 id="org37cc812"><span class="section-number-4">1.1.3</span> Source</h4>
|
||||
<div class="outline-text-4" id="text-1-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #228b22;">integer </span><span style="color: #a020f0;">function</span><span style="color: #a0522d;"> </span><span style="color: #0000ff;">qmckl_dgemm_f</span><span style="color: #000000; background-color: #ffffff;">(context, TransA, TransB, m, n, k, alpha, A, LDA, B, LDB, beta, C, LDC)</span><span style="color: #a0522d;"> </span><span style="color: #a020f0;">&</span>
|
||||
@ -617,7 +617,7 @@ TODO: Add description about the external library dependence.
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-10-06 Wed 21:45</p>
|
||||
<p class="date">Created: 2021-10-10 Sun 14:26</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-10-06 Wed 21:45 -->
|
||||
<!-- 2021-10-10 Sun 14:26 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Context</title>
|
||||
@ -311,21 +311,21 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#org51bc271">1. Context handling</a>
|
||||
<li><a href="#orgc765740">1. Context handling</a>
|
||||
<ul>
|
||||
<li><a href="#orgdab2e71">1.1. Data structure</a></li>
|
||||
<li><a href="#orgb25ad1a">1.2. Creation</a></li>
|
||||
<li><a href="#org0926ffa">1.3. Locking</a></li>
|
||||
<li><a href="#org273fdbd">1.4. <span class="todo TODO">TODO</span> Copy</a></li>
|
||||
<li><a href="#orgdbf04a6">1.5. Destroy</a></li>
|
||||
<li><a href="#org5392ed6">1.1. Data structure</a></li>
|
||||
<li><a href="#org1fdfad3">1.2. Creation</a></li>
|
||||
<li><a href="#orgc0beef3">1.3. Locking</a></li>
|
||||
<li><a href="#org700e598">1.4. <span class="todo TODO">TODO</span> Copy</a></li>
|
||||
<li><a href="#org88d54b1">1.5. Destroy</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org51bc271" class="outline-2">
|
||||
<h2 id="org51bc271"><span class="section-number-2">1</span> Context handling</h2>
|
||||
<div id="outline-container-orgc765740" class="outline-2">
|
||||
<h2 id="orgc765740"><span class="section-number-2">1</span> Context handling</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
The context variable is a handle for the state of the library,
|
||||
@ -338,7 +338,7 @@ A value of <code>QMCKL_NULL_CONTEXT</code> for the context is equivalent to a
|
||||
</p>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c" id="org7529491"><span style="color: #a020f0;">typedef</span> <span style="color: #228b22;">int64_t</span> <span style="color: #228b22;">qmckl_context</span> ;
|
||||
<pre class="src src-c" id="org9ab243e"><span style="color: #a020f0;">typedef</span> <span style="color: #228b22;">int64_t</span> <span style="color: #228b22;">qmckl_context</span> ;
|
||||
<span style="color: #483d8b;">#define</span> <span style="color: #a0522d;">QMCKL_NULL_CONTEXT</span> (qmckl_context) 0
|
||||
</pre>
|
||||
</div>
|
||||
@ -356,8 +356,8 @@ and <code>ctx</code> is a <code>qmckl_context_struct*</code> pointer.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgdab2e71" class="outline-3">
|
||||
<h3 id="orgdab2e71"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-org5392ed6" class="outline-3">
|
||||
<h3 id="org5392ed6"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<p>
|
||||
The context keeps a ``date'' that allows to check which data needs
|
||||
@ -367,7 +367,7 @@ coordinates are updated.
|
||||
|
||||
<p>
|
||||
When a new element is added to the context, the functions
|
||||
<a href="#orgb25ad1a">qmckl<sub>context</sub><sub>create</sub></a>, <a href="#orgdbf04a6">qmckl<sub>context</sub><sub>destroy</sub></a> and <a href="#org273fdbd">qmckl<sub>context</sub><sub>copy</sub></a>
|
||||
<a href="#org1fdfad3">qmckl<sub>context</sub><sub>create</sub></a>, <a href="#org88d54b1">qmckl<sub>context</sub><sub>destroy</sub></a> and <a href="#org700e598">qmckl<sub>context</sub><sub>copy</sub></a>
|
||||
should be updated inorder to make deep copies.
|
||||
</p>
|
||||
|
||||
@ -416,8 +416,8 @@ if the context is valid, <code>QMCKL_NULL_CONTEXT</code> otherwise.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb25ad1a" class="outline-3">
|
||||
<h3 id="orgb25ad1a"><span class="section-number-3">1.2</span> Creation</h3>
|
||||
<div id="outline-container-org1fdfad3" class="outline-3">
|
||||
<h3 id="org1fdfad3"><span class="section-number-3">1.2</span> Creation</h3>
|
||||
<div class="outline-text-3" id="text-1-2">
|
||||
<p>
|
||||
To create a new context, <code>qmckl_context_create()</code> should be used.
|
||||
@ -502,8 +502,8 @@ To create a new context, <code>qmckl_context_create()</code> should be used.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org0926ffa" class="outline-3">
|
||||
<h3 id="org0926ffa"><span class="section-number-3">1.3</span> Locking</h3>
|
||||
<div id="outline-container-orgc0beef3" class="outline-3">
|
||||
<h3 id="orgc0beef3"><span class="section-number-3">1.3</span> Locking</h3>
|
||||
<div class="outline-text-3" id="text-1-3">
|
||||
<p>
|
||||
For thread safety, the context may be locked/unlocked. The lock is
|
||||
@ -548,8 +548,8 @@ number of times the thread has locked it is saved in the
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org273fdbd" class="outline-3">
|
||||
<h3 id="org273fdbd"><span class="section-number-3">1.4</span> <span class="todo TODO">TODO</span> Copy</h3>
|
||||
<div id="outline-container-org700e598" class="outline-3">
|
||||
<h3 id="org700e598"><span class="section-number-3">1.4</span> <span class="todo TODO">TODO</span> Copy</h3>
|
||||
<div class="outline-text-3" id="text-1-4">
|
||||
<p>
|
||||
<code>qmckl_context_copy</code> makes a deep copy of a context. It returns
|
||||
@ -597,8 +597,8 @@ number of times the thread has locked it is saved in the
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgdbf04a6" class="outline-3">
|
||||
<h3 id="orgdbf04a6"><span class="section-number-3">1.5</span> Destroy</h3>
|
||||
<div id="outline-container-org88d54b1" class="outline-3">
|
||||
<h3 id="org88d54b1"><span class="section-number-3">1.5</span> Destroy</h3>
|
||||
<div class="outline-text-3" id="text-1-5">
|
||||
<p>
|
||||
The context is destroyed with <code>qmckl_context_destroy</code>, leaving the ancestors untouched.
|
||||
@ -652,7 +652,7 @@ It frees the context, and returns the previous context.
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-10-06 Wed 21:45</p>
|
||||
<p class="date">Created: 2021-10-10 Sun 14:26</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-10-06 Wed 21:45 -->
|
||||
<!-- 2021-10-10 Sun 14:26 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Inter-particle distances</title>
|
||||
@ -333,50 +333,50 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#orgd585090">1. Squared distance</a>
|
||||
<li><a href="#org5d0e3cb">1. Squared distance</a>
|
||||
<ul>
|
||||
<li><a href="#org4ecdcee">1.1. <code>qmckl_distance_sq</code></a>
|
||||
<li><a href="#orgbd410e3">1.1. <code>qmckl_distance_sq</code></a>
|
||||
<ul>
|
||||
<li><a href="#org5e9e13a">1.1.1. Requirements</a></li>
|
||||
<li><a href="#org7cf6dbc">1.1.2. C header</a></li>
|
||||
<li><a href="#org3f307db">1.1.3. Source</a></li>
|
||||
<li><a href="#orgca3ac03">1.1.4. Performance</a></li>
|
||||
<li><a href="#orgad2f9e3">1.1.1. Requirements</a></li>
|
||||
<li><a href="#org0deaecb">1.1.2. C header</a></li>
|
||||
<li><a href="#org9ae6cd8">1.1.3. Source</a></li>
|
||||
<li><a href="#org9f3e3b9">1.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org5fff6d1">2. Distance</a>
|
||||
<li><a href="#orgfbdab1c">2. Distance</a>
|
||||
<ul>
|
||||
<li><a href="#orgb1ae22e">2.1. <code>qmckl_distance</code></a>
|
||||
<li><a href="#org5dd2ecc">2.1. <code>qmckl_distance</code></a>
|
||||
<ul>
|
||||
<li><a href="#org6cd893a">2.1.1. Requirements</a></li>
|
||||
<li><a href="#org2b76ccd">2.1.2. C header</a></li>
|
||||
<li><a href="#org32d3bfb">2.1.3. Source</a></li>
|
||||
<li><a href="#org466fca2">2.1.4. Performance</a></li>
|
||||
<li><a href="#org3b1b8e2">2.1.1. Requirements</a></li>
|
||||
<li><a href="#org2355c53">2.1.2. C header</a></li>
|
||||
<li><a href="#org8bcff5c">2.1.3. Source</a></li>
|
||||
<li><a href="#org87483ea">2.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org29a565f">3. Rescaled Distance</a>
|
||||
<li><a href="#org25e0afb">3. Rescaled Distance</a>
|
||||
<ul>
|
||||
<li><a href="#org9b33209">3.1. <code>qmckl_distance_rescaled</code></a>
|
||||
<li><a href="#org3349214">3.1. <code>qmckl_distance_rescaled</code></a>
|
||||
<ul>
|
||||
<li><a href="#org24e88fc">3.1.1. Requirements</a></li>
|
||||
<li><a href="#org47ed0ca">3.1.2. C header</a></li>
|
||||
<li><a href="#org0f5e31c">3.1.3. Source</a></li>
|
||||
<li><a href="#orgd49de8c">3.1.4. Performance</a></li>
|
||||
<li><a href="#org68f26d3">3.1.1. Requirements</a></li>
|
||||
<li><a href="#org306de7c">3.1.2. C header</a></li>
|
||||
<li><a href="#org836af17">3.1.3. Source</a></li>
|
||||
<li><a href="#orgb21b885">3.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org403837c">4. Rescaled Distance Derivatives</a>
|
||||
<li><a href="#org48315ae">4. Rescaled Distance Derivatives</a>
|
||||
<ul>
|
||||
<li><a href="#org3c2828d">4.1. <code>qmckl_distance_rescaled_deriv_e</code></a>
|
||||
<li><a href="#org5dec4ed">4.1. <code>qmckl_distance_rescaled_deriv_e</code></a>
|
||||
<ul>
|
||||
<li><a href="#orgbc9a2f8">4.1.1. Requirements</a></li>
|
||||
<li><a href="#orgc7b30df">4.1.2. C header</a></li>
|
||||
<li><a href="#orgea88e53">4.1.3. Source</a></li>
|
||||
<li><a href="#org757da62">4.1.4. Performance</a></li>
|
||||
<li><a href="#org70a3d24">4.1.1. Requirements</a></li>
|
||||
<li><a href="#orgfc18350">4.1.2. C header</a></li>
|
||||
<li><a href="#org54d43fe">4.1.3. Source</a></li>
|
||||
<li><a href="#org8c8de9d">4.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@ -385,12 +385,12 @@ for the JavaScript code in this tag.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd585090" class="outline-2">
|
||||
<h2 id="orgd585090"><span class="section-number-2">1</span> Squared distance</h2>
|
||||
<div id="outline-container-org5d0e3cb" class="outline-2">
|
||||
<h2 id="org5d0e3cb"><span class="section-number-2">1</span> Squared distance</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
</div>
|
||||
<div id="outline-container-org4ecdcee" class="outline-3">
|
||||
<h3 id="org4ecdcee"><span class="section-number-3">1.1</span> <code>qmckl_distance_sq</code></h3>
|
||||
<div id="outline-container-orgbd410e3" class="outline-3">
|
||||
<h3 id="orgbd410e3"><span class="section-number-3">1.1</span> <code>qmckl_distance_sq</code></h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<p>
|
||||
<code>qmckl_distance_sq</code> computes the matrix of the squared distances
|
||||
@ -403,7 +403,7 @@ between all pairs of points in two sets, one point within each set:
|
||||
\]
|
||||
</p>
|
||||
|
||||
<table id="org94e516a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org32ded16" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -496,8 +496,8 @@ between all pairs of points in two sets, one point within each set:
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5e9e13a" class="outline-4">
|
||||
<h4 id="org5e9e13a"><span class="section-number-4">1.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-orgad2f9e3" class="outline-4">
|
||||
<h4 id="orgad2f9e3"><span class="section-number-4">1.1.1</span> Requirements</h4>
|
||||
<div class="outline-text-4" id="text-1-1-1">
|
||||
<ul class="org-ul">
|
||||
<li><code>context</code> is not <code>QMCKL_NULL_CONTEXT</code></li>
|
||||
@ -515,8 +515,8 @@ between all pairs of points in two sets, one point within each set:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7cf6dbc" class="outline-4">
|
||||
<h4 id="org7cf6dbc"><span class="section-number-4">1.1.2</span> C header</h4>
|
||||
<div id="outline-container-org0deaecb" class="outline-4">
|
||||
<h4 id="org0deaecb"><span class="section-number-4">1.1.2</span> C header</h4>
|
||||
<div class="outline-text-4" id="text-1-1-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_distance_sq</span> (
|
||||
@ -536,8 +536,8 @@ between all pairs of points in two sets, one point within each set:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3f307db" class="outline-4">
|
||||
<h4 id="org3f307db"><span class="section-number-4">1.1.3</span> Source</h4>
|
||||
<div id="outline-container-org9ae6cd8" class="outline-4">
|
||||
<h4 id="org9ae6cd8"><span class="section-number-4">1.1.3</span> Source</h4>
|
||||
<div class="outline-text-4" id="text-1-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #228b22;">integer</span><span style="color: #a0522d;"> function qmckl_distance_sq_f(context, transa, transb, m, n, </span><span style="color: #a020f0;">&</span>
|
||||
@ -672,8 +672,8 @@ between all pairs of points in two sets, one point within each set:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgca3ac03" class="outline-4">
|
||||
<h4 id="orgca3ac03"><span class="section-number-4">1.1.4</span> Performance</h4>
|
||||
<div id="outline-container-org9f3e3b9" class="outline-4">
|
||||
<h4 id="org9f3e3b9"><span class="section-number-4">1.1.4</span> Performance</h4>
|
||||
<div class="outline-text-4" id="text-1-1-4">
|
||||
<p>
|
||||
This function is more efficient when <code>A</code> and <code>B</code> are
|
||||
@ -683,12 +683,12 @@ transposed.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org5fff6d1" class="outline-2">
|
||||
<h2 id="org5fff6d1"><span class="section-number-2">2</span> Distance</h2>
|
||||
<div id="outline-container-orgfbdab1c" class="outline-2">
|
||||
<h2 id="orgfbdab1c"><span class="section-number-2">2</span> Distance</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-orgb1ae22e" class="outline-3">
|
||||
<h3 id="orgb1ae22e"><span class="section-number-3">2.1</span> <code>qmckl_distance</code></h3>
|
||||
<div id="outline-container-org5dd2ecc" class="outline-3">
|
||||
<h3 id="org5dd2ecc"><span class="section-number-3">2.1</span> <code>qmckl_distance</code></h3>
|
||||
<div class="outline-text-3" id="text-2-1">
|
||||
<p>
|
||||
<code>qmckl_distance</code> computes the matrix of the distances between all
|
||||
@ -706,7 +706,7 @@ If the input array is normal (<code>'N'</code>), the xyz coordinates are in
|
||||
the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortran.
|
||||
</p>
|
||||
|
||||
<table id="org4302fb2" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org118fdbd" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -799,8 +799,8 @@ the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortra
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6cd893a" class="outline-4">
|
||||
<h4 id="org6cd893a"><span class="section-number-4">2.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org3b1b8e2" class="outline-4">
|
||||
<h4 id="org3b1b8e2"><span class="section-number-4">2.1.1</span> Requirements</h4>
|
||||
<div class="outline-text-4" id="text-2-1-1">
|
||||
<ul class="org-ul">
|
||||
<li><code>context</code> is not <code>QMCKL_NULL_CONTEXT</code></li>
|
||||
@ -818,8 +818,8 @@ the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortra
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2b76ccd" class="outline-4">
|
||||
<h4 id="org2b76ccd"><span class="section-number-4">2.1.2</span> C header</h4>
|
||||
<div id="outline-container-org2355c53" class="outline-4">
|
||||
<h4 id="org2355c53"><span class="section-number-4">2.1.2</span> C header</h4>
|
||||
<div class="outline-text-4" id="text-2-1-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_distance</span> (
|
||||
@ -839,8 +839,8 @@ the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortra
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org32d3bfb" class="outline-4">
|
||||
<h4 id="org32d3bfb"><span class="section-number-4">2.1.3</span> Source</h4>
|
||||
<div id="outline-container-org8bcff5c" class="outline-4">
|
||||
<h4 id="org8bcff5c"><span class="section-number-4">2.1.3</span> Source</h4>
|
||||
<div class="outline-text-4" id="text-2-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #228b22;">integer</span><span style="color: #a0522d;"> function qmckl_distance_f(context, transa, transb, m, n, </span><span style="color: #a020f0;">&</span>
|
||||
@ -1007,8 +1007,8 @@ the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortra
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org466fca2" class="outline-4">
|
||||
<h4 id="org466fca2"><span class="section-number-4">2.1.4</span> Performance</h4>
|
||||
<div id="outline-container-org87483ea" class="outline-4">
|
||||
<h4 id="org87483ea"><span class="section-number-4">2.1.4</span> Performance</h4>
|
||||
<div class="outline-text-4" id="text-2-1-4">
|
||||
<p>
|
||||
This function is more efficient when <code>A</code> and <code>B</code> are transposed.
|
||||
@ -1018,12 +1018,12 @@ This function is more efficient when <code>A</code> and <code>B</code> are trans
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org29a565f" class="outline-2">
|
||||
<h2 id="org29a565f"><span class="section-number-2">3</span> Rescaled Distance</h2>
|
||||
<div id="outline-container-org25e0afb" class="outline-2">
|
||||
<h2 id="org25e0afb"><span class="section-number-2">3</span> Rescaled Distance</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
</div>
|
||||
<div id="outline-container-org9b33209" class="outline-3">
|
||||
<h3 id="org9b33209"><span class="section-number-3">3.1</span> <code>qmckl_distance_rescaled</code></h3>
|
||||
<div id="outline-container-org3349214" class="outline-3">
|
||||
<h3 id="org3349214"><span class="section-number-3">3.1</span> <code>qmckl_distance_rescaled</code></h3>
|
||||
<div class="outline-text-3" id="text-3-1">
|
||||
<p>
|
||||
<code>qmckl_distance_rescaled</code> computes the matrix of the rescaled distances between all
|
||||
@ -1041,7 +1041,7 @@ If the input array is normal (<code>'N'</code>), the xyz coordinates are in
|
||||
the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortran.
|
||||
</p>
|
||||
|
||||
<table id="org56bbaba" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgf035f6c" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1141,8 +1141,8 @@ the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortra
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org24e88fc" class="outline-4">
|
||||
<h4 id="org24e88fc"><span class="section-number-4">3.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org68f26d3" class="outline-4">
|
||||
<h4 id="org68f26d3"><span class="section-number-4">3.1.1</span> Requirements</h4>
|
||||
<div class="outline-text-4" id="text-3-1-1">
|
||||
<ul class="org-ul">
|
||||
<li><code>context</code> is not <code>QMCKL_NULL_CONTEXT</code></li>
|
||||
@ -1160,8 +1160,8 @@ the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortra
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org47ed0ca" class="outline-4">
|
||||
<h4 id="org47ed0ca"><span class="section-number-4">3.1.2</span> C header</h4>
|
||||
<div id="outline-container-org306de7c" class="outline-4">
|
||||
<h4 id="org306de7c"><span class="section-number-4">3.1.2</span> C header</h4>
|
||||
<div class="outline-text-4" id="text-3-1-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_distance_rescaled</span> (
|
||||
@ -1182,8 +1182,8 @@ the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortra
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0f5e31c" class="outline-4">
|
||||
<h4 id="org0f5e31c"><span class="section-number-4">3.1.3</span> Source</h4>
|
||||
<div id="outline-container-org836af17" class="outline-4">
|
||||
<h4 id="org836af17"><span class="section-number-4">3.1.3</span> Source</h4>
|
||||
<div class="outline-text-4" id="text-3-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #228b22;">integer</span><span style="color: #a0522d;"> function qmckl_distance_rescaled_f(context, transa, transb, m, n, </span><span style="color: #a020f0;">&</span>
|
||||
@ -1353,8 +1353,8 @@ the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortra
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd49de8c" class="outline-4">
|
||||
<h4 id="orgd49de8c"><span class="section-number-4">3.1.4</span> Performance</h4>
|
||||
<div id="outline-container-orgb21b885" class="outline-4">
|
||||
<h4 id="orgb21b885"><span class="section-number-4">3.1.4</span> Performance</h4>
|
||||
<div class="outline-text-4" id="text-3-1-4">
|
||||
<p>
|
||||
This function is more efficient when <code>A</code> and <code>B</code> are transposed.
|
||||
@ -1363,12 +1363,12 @@ This function is more efficient when <code>A</code> and <code>B</code> are trans
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org403837c" class="outline-2">
|
||||
<h2 id="org403837c"><span class="section-number-2">4</span> Rescaled Distance Derivatives</h2>
|
||||
<div id="outline-container-org48315ae" class="outline-2">
|
||||
<h2 id="org48315ae"><span class="section-number-2">4</span> Rescaled Distance Derivatives</h2>
|
||||
<div class="outline-text-2" id="text-4">
|
||||
</div>
|
||||
<div id="outline-container-org3c2828d" class="outline-3">
|
||||
<h3 id="org3c2828d"><span class="section-number-3">4.1</span> <code>qmckl_distance_rescaled_deriv_e</code></h3>
|
||||
<div id="outline-container-org5dec4ed" class="outline-3">
|
||||
<h3 id="org5dec4ed"><span class="section-number-3">4.1</span> <code>qmckl_distance_rescaled_deriv_e</code></h3>
|
||||
<div class="outline-text-3" id="text-4-1">
|
||||
<p>
|
||||
<code>qmckl_distance_rescaled_deriv_e</code> computes the matrix of the gradient and laplacian of the
|
||||
@ -1435,7 +1435,7 @@ If the input array is normal (<code>'N'</code>), the xyz coordinates are in
|
||||
the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortran.
|
||||
</p>
|
||||
|
||||
<table id="orgdfda1d9" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orge4b5347" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1535,8 +1535,8 @@ the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortra
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgbc9a2f8" class="outline-4">
|
||||
<h4 id="orgbc9a2f8"><span class="section-number-4">4.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org70a3d24" class="outline-4">
|
||||
<h4 id="org70a3d24"><span class="section-number-4">4.1.1</span> Requirements</h4>
|
||||
<div class="outline-text-4" id="text-4-1-1">
|
||||
<ul class="org-ul">
|
||||
<li><code>context</code> is not <code>QMCKL_NULL_CONTEXT</code></li>
|
||||
@ -1554,8 +1554,8 @@ the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortra
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc7b30df" class="outline-4">
|
||||
<h4 id="orgc7b30df"><span class="section-number-4">4.1.2</span> C header</h4>
|
||||
<div id="outline-container-orgfc18350" class="outline-4">
|
||||
<h4 id="orgfc18350"><span class="section-number-4">4.1.2</span> C header</h4>
|
||||
<div class="outline-text-4" id="text-4-1-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_distance_rescaled_deriv_e</span> (
|
||||
@ -1576,8 +1576,8 @@ the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortra
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgea88e53" class="outline-4">
|
||||
<h4 id="orgea88e53"><span class="section-number-4">4.1.3</span> Source</h4>
|
||||
<div id="outline-container-org54d43fe" class="outline-4">
|
||||
<h4 id="org54d43fe"><span class="section-number-4">4.1.3</span> Source</h4>
|
||||
<div class="outline-text-4" id="text-4-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #228b22;">integer</span><span style="color: #a0522d;"> function qmckl_distance_rescaled_deriv_e_f(context, transa, transb, m, n, </span><span style="color: #a020f0;">&</span>
|
||||
@ -1768,8 +1768,8 @@ the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortra
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org757da62" class="outline-4">
|
||||
<h4 id="org757da62"><span class="section-number-4">4.1.4</span> Performance</h4>
|
||||
<div id="outline-container-org8c8de9d" class="outline-4">
|
||||
<h4 id="org8c8de9d"><span class="section-number-4">4.1.4</span> Performance</h4>
|
||||
<div class="outline-text-4" id="text-4-1-4">
|
||||
<p>
|
||||
This function is more efficient when <code>A</code> and <code>B</code> are transposed.
|
||||
@ -1781,7 +1781,7 @@ This function is more efficient when <code>A</code> and <code>B</code> are trans
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-10-06 Wed 21:45</p>
|
||||
<p class="date">Created: 2021-10-10 Sun 14:26</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-10-06 Wed 21:45 -->
|
||||
<!-- 2021-10-10 Sun 14:25 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Electrons</title>
|
||||
@ -333,63 +333,63 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#orgeb901c6">1. Context</a>
|
||||
<li><a href="#orgff39b85">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#org3e3d13d">1.1. Data structure</a></li>
|
||||
<li><a href="#org63e2233">1.2. Access functions</a>
|
||||
<li><a href="#orgffe3b84">1.1. Data structure</a></li>
|
||||
<li><a href="#org58237f5">1.2. Access functions</a>
|
||||
<ul>
|
||||
<li><a href="#org8bcadd5">1.2.1. Number of electrons</a></li>
|
||||
<li><a href="#orgaca0a49">1.2.2. Number of walkers</a></li>
|
||||
<li><a href="#org279d500">1.2.3. Scaling factors Kappa</a></li>
|
||||
<li><a href="#org60cddf8">1.2.4. Electron coordinates</a></li>
|
||||
<li><a href="#org37cebfa">1.2.1. Number of electrons</a></li>
|
||||
<li><a href="#org39b72b3">1.2.2. Number of walkers</a></li>
|
||||
<li><a href="#org984efb6">1.2.3. Scaling factors Kappa</a></li>
|
||||
<li><a href="#orgc4d0bf9">1.2.4. Electron coordinates</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org6dd1ccd">1.3. Initialization functions</a></li>
|
||||
<li><a href="#orgae0774b">1.4. Test</a></li>
|
||||
<li><a href="#orgc6233ab">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org3746e79">1.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgd96f68c">2. Computation</a>
|
||||
<li><a href="#org3fa5cf4">2. Computation</a>
|
||||
<ul>
|
||||
<li><a href="#org8c50f81">2.1. Electron-electron distances</a>
|
||||
<li><a href="#orgcf686c1">2.1. Electron-electron distances</a>
|
||||
<ul>
|
||||
<li><a href="#orgbcdc93e">2.1.1. Get</a></li>
|
||||
<li><a href="#org3e73d78">2.1.2. Compute</a></li>
|
||||
<li><a href="#org0336162">2.1.3. Test</a></li>
|
||||
<li><a href="#org66244ec">2.1.1. Get</a></li>
|
||||
<li><a href="#org55e763f">2.1.2. Compute</a></li>
|
||||
<li><a href="#org7c1761e">2.1.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org207d14c">2.2. Electron-electron rescaled distances</a>
|
||||
<li><a href="#orge650016">2.2. Electron-electron rescaled distances</a>
|
||||
<ul>
|
||||
<li><a href="#org3abbf4b">2.2.1. Get</a></li>
|
||||
<li><a href="#org4d549c0">2.2.2. Compute</a></li>
|
||||
<li><a href="#org248d1c2">2.2.3. Test</a></li>
|
||||
<li><a href="#orge3a739b">2.2.1. Get</a></li>
|
||||
<li><a href="#orgfec9263">2.2.2. Compute</a></li>
|
||||
<li><a href="#orgca688d8">2.2.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orge72a717">2.3. Electron-electron rescaled distance gradients and laplacian with respect to electron coords</a>
|
||||
<li><a href="#org3fb6920">2.3. Electron-electron rescaled distance gradients and laplacian with respect to electron coords</a>
|
||||
<ul>
|
||||
<li><a href="#org230bfae">2.3.1. Get</a></li>
|
||||
<li><a href="#org21ce4b5">2.3.2. Compute</a></li>
|
||||
<li><a href="#orgc4bf28d">2.3.3. Test</a></li>
|
||||
<li><a href="#org211ff66">2.3.1. Get</a></li>
|
||||
<li><a href="#orgd2d7c2b">2.3.2. Compute</a></li>
|
||||
<li><a href="#org1065b04">2.3.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org44c5409">2.4. Electron-nucleus distances</a>
|
||||
<li><a href="#org5e2ed45">2.4. Electron-nucleus distances</a>
|
||||
<ul>
|
||||
<li><a href="#org9abb42d">2.4.1. Get</a></li>
|
||||
<li><a href="#org9be5b02">2.4.2. Compute</a></li>
|
||||
<li><a href="#orgeb11760">2.4.3. Test</a></li>
|
||||
<li><a href="#org15b93e1">2.4.1. Get</a></li>
|
||||
<li><a href="#org3670262">2.4.2. Compute</a></li>
|
||||
<li><a href="#org47c3b07">2.4.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org9c997ad">2.5. Electron-nucleus rescaled distances</a>
|
||||
<li><a href="#orgee336a1">2.5. Electron-nucleus rescaled distances</a>
|
||||
<ul>
|
||||
<li><a href="#orgeb90117">2.5.1. Get</a></li>
|
||||
<li><a href="#org11e5588">2.5.2. Compute</a></li>
|
||||
<li><a href="#orgb2b77f3">2.5.3. Test</a></li>
|
||||
<li><a href="#orge12da81">2.5.1. Get</a></li>
|
||||
<li><a href="#org24f3ef7">2.5.2. Compute</a></li>
|
||||
<li><a href="#orge1e4040">2.5.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org9d0603c">2.6. Electron-nucleus rescaled distance gradients and laplacian with respect to electron coords</a>
|
||||
<li><a href="#orgfeb3b8c">2.6. Electron-nucleus rescaled distance gradients and laplacian with respect to electron coords</a>
|
||||
<ul>
|
||||
<li><a href="#orgf8f8704">2.6.1. Get</a></li>
|
||||
<li><a href="#org8c00a50">2.6.2. Compute</a></li>
|
||||
<li><a href="#org62c85b6">2.6.3. Test</a></li>
|
||||
<li><a href="#org08a14f3">2.6.1. Get</a></li>
|
||||
<li><a href="#orge007e79">2.6.2. Compute</a></li>
|
||||
<li><a href="#org5b258c9">2.6.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@ -398,8 +398,8 @@ for the JavaScript code in this tag.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgeb901c6" class="outline-2">
|
||||
<h2 id="orgeb901c6"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-orgff39b85" class="outline-2">
|
||||
<h2 id="orgff39b85"><span class="section-number-2">1</span> Context</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
The following data stored in the context:
|
||||
@ -557,8 +557,8 @@ The following data stored in the context:
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3e3d13d" class="outline-3">
|
||||
<h3 id="org3e3d13d"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-orgffe3b84" class="outline-3">
|
||||
<h3 id="orgffe3b84"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #a020f0;">typedef</span> <span style="color: #a020f0;">struct</span> <span style="color: #228b22;">qmckl_electron_struct</span> {
|
||||
@ -633,8 +633,8 @@ this mechanism.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org63e2233" class="outline-3">
|
||||
<h3 id="org63e2233"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div id="outline-container-org58237f5" class="outline-3">
|
||||
<h3 id="org58237f5"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div class="outline-text-3" id="text-1-2">
|
||||
<p>
|
||||
Access functions return <code>QMCKL_SUCCESS</code> when the data has been
|
||||
@ -646,12 +646,12 @@ contains the requested data. Otherwise, this variable is untouched.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8bcadd5" class="outline-4">
|
||||
<h4 id="org8bcadd5"><span class="section-number-4">1.2.1</span> Number of electrons</h4>
|
||||
<div id="outline-container-org37cebfa" class="outline-4">
|
||||
<h4 id="org37cebfa"><span class="section-number-4">1.2.1</span> Number of electrons</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgaca0a49" class="outline-4">
|
||||
<h4 id="orgaca0a49"><span class="section-number-4">1.2.2</span> Number of walkers</h4>
|
||||
<div id="outline-container-org39b72b3" class="outline-4">
|
||||
<h4 id="org39b72b3"><span class="section-number-4">1.2.2</span> Number of walkers</h4>
|
||||
<div class="outline-text-4" id="text-1-2-2">
|
||||
<p>
|
||||
A walker is a set of electron coordinates that are arguments of
|
||||
@ -660,12 +660,12 @@ the wave function. <code>walk_num</code> is the number of walkers.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org279d500" class="outline-4">
|
||||
<h4 id="org279d500"><span class="section-number-4">1.2.3</span> Scaling factors Kappa</h4>
|
||||
<div id="outline-container-org984efb6" class="outline-4">
|
||||
<h4 id="org984efb6"><span class="section-number-4">1.2.3</span> Scaling factors Kappa</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org60cddf8" class="outline-4">
|
||||
<h4 id="org60cddf8"><span class="section-number-4">1.2.4</span> Electron coordinates</h4>
|
||||
<div id="outline-container-orgc4d0bf9" class="outline-4">
|
||||
<h4 id="orgc4d0bf9"><span class="section-number-4">1.2.4</span> Electron coordinates</h4>
|
||||
<div class="outline-text-4" id="text-1-2-4">
|
||||
<p>
|
||||
Returns the current electron coordinates. The pointer is assumed
|
||||
@ -709,8 +709,8 @@ The order of the indices is:
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org6dd1ccd" class="outline-3">
|
||||
<h3 id="org6dd1ccd"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-orgc6233ab" class="outline-3">
|
||||
<h3 id="orgc6233ab"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div class="outline-text-3" id="text-1-3">
|
||||
<p>
|
||||
To set the data relative to the electrons in the context, the
|
||||
@ -797,8 +797,8 @@ in the context.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgae0774b" class="outline-3">
|
||||
<h3 id="orgae0774b"><span class="section-number-3">1.4</span> Test</h3>
|
||||
<div id="outline-container-org3746e79" class="outline-3">
|
||||
<h3 id="org3746e79"><span class="section-number-3">1.4</span> Test</h3>
|
||||
<div class="outline-text-3" id="text-1-4">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">/* <span style="color: #b22222;">Reference input data </span>*/
|
||||
@ -904,8 +904,8 @@ rc = qmckl_get_electron_coord (context, <span style="color: #8b2252;">'N'</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd96f68c" class="outline-2">
|
||||
<h2 id="orgd96f68c"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div id="outline-container-org3fa5cf4" class="outline-2">
|
||||
<h2 id="org3fa5cf4"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
<p>
|
||||
The computed data is stored in the context so that it can be reused
|
||||
@ -918,12 +918,12 @@ current date is stored.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8c50f81" class="outline-3">
|
||||
<h3 id="org8c50f81"><span class="section-number-3">2.1</span> Electron-electron distances</h3>
|
||||
<div id="outline-container-orgcf686c1" class="outline-3">
|
||||
<h3 id="orgcf686c1"><span class="section-number-3">2.1</span> Electron-electron distances</h3>
|
||||
<div class="outline-text-3" id="text-2-1">
|
||||
</div>
|
||||
<div id="outline-container-orgbcdc93e" class="outline-4">
|
||||
<h4 id="orgbcdc93e"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div id="outline-container-org66244ec" class="outline-4">
|
||||
<h4 id="org66244ec"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-1-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_electron_ee_distance</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">distance</span>);
|
||||
@ -932,10 +932,10 @@ current date is stored.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3e73d78" class="outline-4">
|
||||
<h4 id="org3e73d78"><span class="section-number-4">2.1.2</span> Compute</h4>
|
||||
<div id="outline-container-org55e763f" class="outline-4">
|
||||
<h4 id="org55e763f"><span class="section-number-4">2.1.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-1-2">
|
||||
<table id="org5a0afab" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org27c9be7" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1031,8 +1031,8 @@ current date is stored.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0336162" class="outline-4">
|
||||
<h4 id="org0336162"><span class="section-number-4">2.1.3</span> Test</h4>
|
||||
<div id="outline-container-org7c1761e" class="outline-4">
|
||||
<h4 id="org7c1761e"><span class="section-number-4">2.1.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #0000ff;">assert</span>(<span style="color: #228b22;">qmckl_electron_provided</span>(<span style="color: #a0522d;">context</span>));
|
||||
@ -1066,8 +1066,8 @@ rc = qmckl_get_electron_ee_distance(context, ee_distance);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org207d14c" class="outline-3">
|
||||
<h3 id="org207d14c"><span class="section-number-3">2.2</span> Electron-electron rescaled distances</h3>
|
||||
<div id="outline-container-orge650016" class="outline-3">
|
||||
<h3 id="orge650016"><span class="section-number-3">2.2</span> Electron-electron rescaled distances</h3>
|
||||
<div class="outline-text-3" id="text-2-2">
|
||||
<p>
|
||||
<code>ee_distance_rescaled</code> stores the matrix of the rescaled distances between all
|
||||
@ -1085,8 +1085,8 @@ where \(C_{ij}\) is the matrix of electron-electron distances.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3abbf4b" class="outline-4">
|
||||
<h4 id="org3abbf4b"><span class="section-number-4">2.2.1</span> Get</h4>
|
||||
<div id="outline-container-orge3a739b" class="outline-4">
|
||||
<h4 id="orge3a739b"><span class="section-number-4">2.2.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-2-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_electron_ee_distance_rescaled</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">distance_rescaled</span>);
|
||||
@ -1095,10 +1095,10 @@ where \(C_{ij}\) is the matrix of electron-electron distances.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4d549c0" class="outline-4">
|
||||
<h4 id="org4d549c0"><span class="section-number-4">2.2.2</span> Compute</h4>
|
||||
<div id="outline-container-orgfec9263" class="outline-4">
|
||||
<h4 id="orgfec9263"><span class="section-number-4">2.2.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-2-2">
|
||||
<table id="orge925b98" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orge84fb9b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1203,8 +1203,8 @@ where \(C_{ij}\) is the matrix of electron-electron distances.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org248d1c2" class="outline-4">
|
||||
<h4 id="org248d1c2"><span class="section-number-4">2.2.3</span> Test</h4>
|
||||
<div id="outline-container-orgca688d8" class="outline-4">
|
||||
<h4 id="orgca688d8"><span class="section-number-4">2.2.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-2-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #0000ff;">assert</span>(<span style="color: #228b22;">qmckl_electron_provided</span>(<span style="color: #a0522d;">context</span>));
|
||||
@ -1238,8 +1238,8 @@ rc = qmckl_get_electron_ee_distance_rescaled(context, ee_distance_rescaled);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge72a717" class="outline-3">
|
||||
<h3 id="orge72a717"><span class="section-number-3">2.3</span> Electron-electron rescaled distance gradients and laplacian with respect to electron coords</h3>
|
||||
<div id="outline-container-org3fb6920" class="outline-3">
|
||||
<h3 id="org3fb6920"><span class="section-number-3">2.3</span> Electron-electron rescaled distance gradients and laplacian with respect to electron coords</h3>
|
||||
<div class="outline-text-3" id="text-2-3">
|
||||
<p>
|
||||
The rescaled distances which is given as \(R = (1 - \exp{-\kappa r})/\kappa\)
|
||||
@ -1251,8 +1251,8 @@ gives the Laplacian \(\partial x^2 + \partial y^2 + \partial z^2\).
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org230bfae" class="outline-4">
|
||||
<h4 id="org230bfae"><span class="section-number-4">2.3.1</span> Get</h4>
|
||||
<div id="outline-container-org211ff66" class="outline-4">
|
||||
<h4 id="org211ff66"><span class="section-number-4">2.3.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-3-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_electron_ee_distance_rescaled_deriv_e</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">distance_rescaled_deriv_e</span>);
|
||||
@ -1261,10 +1261,10 @@ gives the Laplacian \(\partial x^2 + \partial y^2 + \partial z^2\).
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org21ce4b5" class="outline-4">
|
||||
<h4 id="org21ce4b5"><span class="section-number-4">2.3.2</span> Compute</h4>
|
||||
<div id="outline-container-orgd2d7c2b" class="outline-4">
|
||||
<h4 id="orgd2d7c2b"><span class="section-number-4">2.3.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-3-2">
|
||||
<table id="org7223e4a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org04b5ae1" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1369,8 +1369,8 @@ gives the Laplacian \(\partial x^2 + \partial y^2 + \partial z^2\).
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc4bf28d" class="outline-4">
|
||||
<h4 id="orgc4bf28d"><span class="section-number-4">2.3.3</span> Test</h4>
|
||||
<div id="outline-container-org1065b04" class="outline-4">
|
||||
<h4 id="org1065b04"><span class="section-number-4">2.3.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-3-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #0000ff;">assert</span>(<span style="color: #228b22;">qmckl_electron_provided</span>(<span style="color: #a0522d;">context</span>));
|
||||
@ -1405,12 +1405,12 @@ rc = qmckl_get_electron_ee_distance_rescaled_deriv_e(context, ee_distance_rescal
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org44c5409" class="outline-3">
|
||||
<h3 id="org44c5409"><span class="section-number-3">2.4</span> Electron-nucleus distances</h3>
|
||||
<div id="outline-container-org5e2ed45" class="outline-3">
|
||||
<h3 id="org5e2ed45"><span class="section-number-3">2.4</span> Electron-nucleus distances</h3>
|
||||
<div class="outline-text-3" id="text-2-4">
|
||||
</div>
|
||||
<div id="outline-container-org9abb42d" class="outline-4">
|
||||
<h4 id="org9abb42d"><span class="section-number-4">2.4.1</span> Get</h4>
|
||||
<div id="outline-container-org15b93e1" class="outline-4">
|
||||
<h4 id="org15b93e1"><span class="section-number-4">2.4.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-4-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_electron_en_distance</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">distance</span>);
|
||||
@ -1419,10 +1419,10 @@ rc = qmckl_get_electron_ee_distance_rescaled_deriv_e(context, ee_distance_rescal
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9be5b02" class="outline-4">
|
||||
<h4 id="org9be5b02"><span class="section-number-4">2.4.2</span> Compute</h4>
|
||||
<div id="outline-container-org3670262" class="outline-4">
|
||||
<h4 id="org3670262"><span class="section-number-4">2.4.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-4-2">
|
||||
<table id="org30153c1" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org0996f5e" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1539,8 +1539,8 @@ rc = qmckl_get_electron_ee_distance_rescaled_deriv_e(context, ee_distance_rescal
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgeb11760" class="outline-4">
|
||||
<h4 id="orgeb11760"><span class="section-number-4">2.4.3</span> Test</h4>
|
||||
<div id="outline-container-org47c3b07" class="outline-4">
|
||||
<h4 id="org47c3b07"><span class="section-number-4">2.4.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-4-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">
|
||||
@ -1588,8 +1588,8 @@ rc = qmckl_get_electron_en_distance(context, &(en_distance[0][0][0]));
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9c997ad" class="outline-3">
|
||||
<h3 id="org9c997ad"><span class="section-number-3">2.5</span> Electron-nucleus rescaled distances</h3>
|
||||
<div id="outline-container-orgee336a1" class="outline-3">
|
||||
<h3 id="orgee336a1"><span class="section-number-3">2.5</span> Electron-nucleus rescaled distances</h3>
|
||||
<div class="outline-text-3" id="text-2-5">
|
||||
<p>
|
||||
<code>en_distance_rescaled</code> stores the matrix of the rescaled distances between
|
||||
@ -1607,8 +1607,8 @@ where \(C_{ij}\) is the matrix of electron-nucleus distances.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgeb90117" class="outline-4">
|
||||
<h4 id="orgeb90117"><span class="section-number-4">2.5.1</span> Get</h4>
|
||||
<div id="outline-container-orge12da81" class="outline-4">
|
||||
<h4 id="orge12da81"><span class="section-number-4">2.5.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-5-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_electron_en_distance_rescaled</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">distance_rescaled</span>);
|
||||
@ -1617,10 +1617,10 @@ where \(C_{ij}\) is the matrix of electron-nucleus distances.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org11e5588" class="outline-4">
|
||||
<h4 id="org11e5588"><span class="section-number-4">2.5.2</span> Compute</h4>
|
||||
<div id="outline-container-org24f3ef7" class="outline-4">
|
||||
<h4 id="org24f3ef7"><span class="section-number-4">2.5.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-5-2">
|
||||
<table id="org8ea08ef" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgcf1c0fc" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1752,8 +1752,8 @@ where \(C_{ij}\) is the matrix of electron-nucleus distances.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb2b77f3" class="outline-4">
|
||||
<h4 id="orgb2b77f3"><span class="section-number-4">2.5.3</span> Test</h4>
|
||||
<div id="outline-container-orge1e4040" class="outline-4">
|
||||
<h4 id="orge1e4040"><span class="section-number-4">2.5.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-5-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">
|
||||
@ -1801,8 +1801,8 @@ rc = qmckl_get_electron_en_distance_rescaled(context, &(en_distance_rescaled
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9d0603c" class="outline-3">
|
||||
<h3 id="org9d0603c"><span class="section-number-3">2.6</span> Electron-nucleus rescaled distance gradients and laplacian with respect to electron coords</h3>
|
||||
<div id="outline-container-orgfeb3b8c" class="outline-3">
|
||||
<h3 id="orgfeb3b8c"><span class="section-number-3">2.6</span> Electron-nucleus rescaled distance gradients and laplacian with respect to electron coords</h3>
|
||||
<div class="outline-text-3" id="text-2-6">
|
||||
<p>
|
||||
The rescaled distances which is given as \(R = (1 - \exp{-\kappa r})/\kappa\)
|
||||
@ -1814,8 +1814,8 @@ gives the Laplacian \(\partial x^2 + \partial y^2 + \partial z^2\).
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf8f8704" class="outline-4">
|
||||
<h4 id="orgf8f8704"><span class="section-number-4">2.6.1</span> Get</h4>
|
||||
<div id="outline-container-org08a14f3" class="outline-4">
|
||||
<h4 id="org08a14f3"><span class="section-number-4">2.6.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-6-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_electron_en_distance_rescaled_deriv_e</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">distance_rescaled_deriv_e</span>);
|
||||
@ -1824,10 +1824,10 @@ gives the Laplacian \(\partial x^2 + \partial y^2 + \partial z^2\).
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8c00a50" class="outline-4">
|
||||
<h4 id="org8c00a50"><span class="section-number-4">2.6.2</span> Compute</h4>
|
||||
<div id="outline-container-orge007e79" class="outline-4">
|
||||
<h4 id="orge007e79"><span class="section-number-4">2.6.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-6-2">
|
||||
<table id="orgd2af221" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgf9ccb6a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1960,8 +1960,8 @@ gives the Laplacian \(\partial x^2 + \partial y^2 + \partial z^2\).
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org62c85b6" class="outline-4">
|
||||
<h4 id="org62c85b6"><span class="section-number-4">2.6.3</span> Test</h4>
|
||||
<div id="outline-container-org5b258c9" class="outline-4">
|
||||
<h4 id="org5b258c9"><span class="section-number-4">2.6.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-6-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">
|
||||
@ -2016,7 +2016,7 @@ rc = qmckl_get_electron_en_distance_rescaled_deriv_e(context, &(en_distance_
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-10-06 Wed 21:45</p>
|
||||
<p class="date">Created: 2021-10-10 Sun 14:25</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-10-06 Wed 21:45 -->
|
||||
<!-- 2021-10-10 Sun 14:25 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Error handling</title>
|
||||
@ -311,17 +311,17 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#org2167726">1. Decoding errors</a></li>
|
||||
<li><a href="#orgd5e32fe">2. Data structure in context</a></li>
|
||||
<li><a href="#org7dded49">3. Updating errors in the context</a></li>
|
||||
<li><a href="#orgf0a32db">4. Get the error</a></li>
|
||||
<li><a href="#org1104b56">5. Failing</a></li>
|
||||
<li><a href="#org054dd72">1. Decoding errors</a></li>
|
||||
<li><a href="#orgec5f70b">2. Data structure in context</a></li>
|
||||
<li><a href="#org8f8e9d2">3. Updating errors in the context</a></li>
|
||||
<li><a href="#org8d6db2d">4. Get the error</a></li>
|
||||
<li><a href="#org6cd3980">5. Failing</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2167726" class="outline-2">
|
||||
<h2 id="org2167726"><span class="section-number-2">1</span> Decoding errors</h2>
|
||||
<div id="outline-container-org054dd72" class="outline-2">
|
||||
<h2 id="org054dd72"><span class="section-number-2">1</span> Decoding errors</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
To decode the error messages, <code>qmckl_string_of_error</code> converts an
|
||||
@ -451,8 +451,8 @@ The text strings are extracted from the previous table.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd5e32fe" class="outline-2">
|
||||
<h2 id="orgd5e32fe"><span class="section-number-2">2</span> Data structure in context</h2>
|
||||
<div id="outline-container-orgec5f70b" class="outline-2">
|
||||
<h2 id="orgec5f70b"><span class="section-number-2">2</span> Data structure in context</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
<p>
|
||||
The strings are declared with a maximum fixed size to avoid
|
||||
@ -475,8 +475,8 @@ dynamic memory allocation.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7dded49" class="outline-2">
|
||||
<h2 id="org7dded49"><span class="section-number-2">3</span> Updating errors in the context</h2>
|
||||
<div id="outline-container-org8f8e9d2" class="outline-2">
|
||||
<h2 id="org8f8e9d2"><span class="section-number-2">3</span> Updating errors in the context</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
<p>
|
||||
The error is updated in the context using <code>qmckl_set_error</code>.
|
||||
@ -522,8 +522,8 @@ explaining the error. The exit code can't be <code>QMCKL_SUCCESS</code>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf0a32db" class="outline-2">
|
||||
<h2 id="orgf0a32db"><span class="section-number-2">4</span> Get the error</h2>
|
||||
<div id="outline-container-org8d6db2d" class="outline-2">
|
||||
<h2 id="org8d6db2d"><span class="section-number-2">4</span> Get the error</h2>
|
||||
<div class="outline-text-2" id="text-4">
|
||||
<p>
|
||||
Upon error, the error type and message can be obtained from the
|
||||
@ -564,8 +564,8 @@ function name and message is mandatory.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1104b56" class="outline-2">
|
||||
<h2 id="org1104b56"><span class="section-number-2">5</span> Failing</h2>
|
||||
<div id="outline-container-org6cd3980" class="outline-2">
|
||||
<h2 id="org6cd3980"><span class="section-number-2">5</span> Failing</h2>
|
||||
<div class="outline-text-2" id="text-5">
|
||||
<p>
|
||||
To make a function fail, the <code>qmckl_failwith</code> function should be
|
||||
@ -628,7 +628,7 @@ For example, this function can be used as
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-10-06 Wed 21:45</p>
|
||||
<p class="date">Created: 2021-10-10 Sun 14:25</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-10-06 Wed 21:45 -->
|
||||
<!-- 2021-10-10 Sun 14:26 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Jastrow Factor</title>
|
||||
@ -333,100 +333,100 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#org2451535">1. Context</a>
|
||||
<li><a href="#org90472aa">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#org43983cd">1.1. Data structure</a></li>
|
||||
<li><a href="#org8bdac24">1.2. Access functions</a></li>
|
||||
<li><a href="#org95f51e4">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org4d463d0">1.4. Test</a></li>
|
||||
<li><a href="#org59d808c">1.1. Data structure</a></li>
|
||||
<li><a href="#org73f236a">1.2. Access functions</a></li>
|
||||
<li><a href="#orgebe9cbf">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org7c5b83c">1.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org7043065">2. Computation</a>
|
||||
<li><a href="#org74c701a">2. Computation</a>
|
||||
<ul>
|
||||
<li><a href="#org8dbd7c4">2.1. Asymptotic component for \(f_{ee}\)</a>
|
||||
<li><a href="#org2de1d16">2.1. Asymptotic component for \(f_{ee}\)</a>
|
||||
<ul>
|
||||
<li><a href="#orge8e9a1b">2.1.1. Get</a></li>
|
||||
<li><a href="#org106ef34">2.1.2. Compute</a></li>
|
||||
<li><a href="#orgc4a0a78">2.1.3. Test</a></li>
|
||||
<li><a href="#org1f75384">2.1.1. Get</a></li>
|
||||
<li><a href="#org6af73cd">2.1.2. Compute</a></li>
|
||||
<li><a href="#org2d8dc0b">2.1.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgfb28800">2.2. Electron-electron component \(f_{ee}\)</a>
|
||||
<li><a href="#org440cd34">2.2. Electron-electron component \(f_{ee}\)</a>
|
||||
<ul>
|
||||
<li><a href="#orga418a56">2.2.1. Get</a></li>
|
||||
<li><a href="#org5136a08">2.2.2. Compute</a></li>
|
||||
<li><a href="#org2b264b2">2.2.3. Test</a></li>
|
||||
<li><a href="#orgea3fe28">2.2.1. Get</a></li>
|
||||
<li><a href="#orgfc70fe6">2.2.2. Compute</a></li>
|
||||
<li><a href="#org59e1543">2.2.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgc3e6005">2.3. Electron-electron component derivative \(f'_{ee}\)</a>
|
||||
<li><a href="#org9dca4b5">2.3. Electron-electron component derivative \(f'_{ee}\)</a>
|
||||
<ul>
|
||||
<li><a href="#org1aecd68">2.3.1. Get</a></li>
|
||||
<li><a href="#org2cdddd5">2.3.2. Compute</a></li>
|
||||
<li><a href="#org6e0854e">2.3.3. Test</a></li>
|
||||
<li><a href="#org9029c7a">2.3.1. Get</a></li>
|
||||
<li><a href="#orgdead9eb">2.3.2. Compute</a></li>
|
||||
<li><a href="#org2269ee2">2.3.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orga797e56">2.4. Electron-nucleus component \(f_{en}\)</a>
|
||||
<li><a href="#org9c8ed09">2.4. Electron-nucleus component \(f_{en}\)</a>
|
||||
<ul>
|
||||
<li><a href="#org467df2b">2.4.1. Get</a></li>
|
||||
<li><a href="#org65904c5">2.4.2. Compute</a></li>
|
||||
<li><a href="#org31827a7">2.4.3. Test</a></li>
|
||||
<li><a href="#orge832e1c">2.4.1. Get</a></li>
|
||||
<li><a href="#org4135aa9">2.4.2. Compute</a></li>
|
||||
<li><a href="#org18b9a24">2.4.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org81db28d">2.5. Electron-nucleus component derivative \(f'_{en}\)</a>
|
||||
<li><a href="#org6a29775">2.5. Electron-nucleus component derivative \(f'_{en}\)</a>
|
||||
<ul>
|
||||
<li><a href="#org93fc394">2.5.1. Get</a></li>
|
||||
<li><a href="#org4d572ec">2.5.2. Compute</a></li>
|
||||
<li><a href="#org2924a10">2.5.3. Test</a></li>
|
||||
<li><a href="#orgc0114d8">2.5.1. Get</a></li>
|
||||
<li><a href="#orga4c6189">2.5.2. Compute</a></li>
|
||||
<li><a href="#org26979dc">2.5.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org76041a1">2.6. Electron-electron rescaled distances for each order</a>
|
||||
<li><a href="#org5cacae4">2.6. Electron-electron rescaled distances for each order</a>
|
||||
<ul>
|
||||
<li><a href="#org994439a">2.6.1. Get</a></li>
|
||||
<li><a href="#org3fd841b">2.6.2. Compute</a></li>
|
||||
<li><a href="#orgec97b7f">2.6.3. Test</a></li>
|
||||
<li><a href="#orgcf84cae">2.6.1. Get</a></li>
|
||||
<li><a href="#orgad8bae6">2.6.2. Compute</a></li>
|
||||
<li><a href="#orgb86525e">2.6.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org0a03184">2.7. Electron-electron rescaled distances for each order and derivatives</a>
|
||||
<li><a href="#org5f164c3">2.7. Electron-electron rescaled distances for each order and derivatives</a>
|
||||
<ul>
|
||||
<li><a href="#org96496e7">2.7.1. Get</a></li>
|
||||
<li><a href="#orgc9e57e3">2.7.2. Compute</a></li>
|
||||
<li><a href="#orgbb1ddae">2.7.3. Test</a></li>
|
||||
<li><a href="#org1896bf3">2.7.1. Get</a></li>
|
||||
<li><a href="#org25ee1bf">2.7.2. Compute</a></li>
|
||||
<li><a href="#orga126932">2.7.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org8587a31">2.8. Electron-nucleus rescaled distances for each order</a>
|
||||
<li><a href="#org3119953">2.8. Electron-nucleus rescaled distances for each order</a>
|
||||
<ul>
|
||||
<li><a href="#org938b024">2.8.1. Get</a></li>
|
||||
<li><a href="#orged9519e">2.8.2. Compute</a></li>
|
||||
<li><a href="#org6caf0c3">2.8.3. Test</a></li>
|
||||
<li><a href="#org394a259">2.8.1. Get</a></li>
|
||||
<li><a href="#orgc3df31a">2.8.2. Compute</a></li>
|
||||
<li><a href="#orgffd08dc">2.8.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orge1a4ec8">2.9. Electron-nucleus rescaled distances for each order and derivatives</a>
|
||||
<li><a href="#org8e90823">2.9. Electron-nucleus rescaled distances for each order and derivatives</a>
|
||||
<ul>
|
||||
<li><a href="#org14cf694">2.9.1. Get</a></li>
|
||||
<li><a href="#orge1dfbc5">2.9.2. Compute</a></li>
|
||||
<li><a href="#org9d1f4f5">2.9.3. Test</a></li>
|
||||
<li><a href="#orgc99cb57">2.9.1. Get</a></li>
|
||||
<li><a href="#org9fcdbd8">2.9.2. Compute</a></li>
|
||||
<li><a href="#org4180e57">2.9.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org36018cb">2.10. Prepare for electron-electron-nucleus Jastrow \(f_{een}\)</a>
|
||||
<li><a href="#org097ac25">2.10. Prepare for electron-electron-nucleus Jastrow \(f_{een}\)</a>
|
||||
<ul>
|
||||
<li><a href="#org2afa82d">2.10.1. Get</a></li>
|
||||
<li><a href="#orgb6a0f32">2.10.2. Compute dim<sub>cord</sub><sub>vect</sub></a></li>
|
||||
<li><a href="#orgca88452">2.10.3. Compute cord<sub>vect</sub><sub>full</sub></a></li>
|
||||
<li><a href="#org294a9e0">2.10.4. Compute lkpm<sub>combined</sub><sub>index</sub></a></li>
|
||||
<li><a href="#org10b8f43">2.10.5. Test</a></li>
|
||||
<li><a href="#org106f7e1">2.10.1. Get</a></li>
|
||||
<li><a href="#orgdc661ce">2.10.2. Compute dim<sub>cord</sub><sub>vect</sub></a></li>
|
||||
<li><a href="#orge2cae49">2.10.3. Compute cord<sub>vect</sub><sub>full</sub></a></li>
|
||||
<li><a href="#orgfce05a9">2.10.4. Compute lkpm<sub>combined</sub><sub>index</sub></a></li>
|
||||
<li><a href="#orgd4b3f57">2.10.5. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org5518bc7">2.11. Electron-electron-nucleus Jastrow \(f_{een}\)</a>
|
||||
<li><a href="#orgb3f5c6a">2.11. Electron-electron-nucleus Jastrow \(f_{een}\)</a>
|
||||
<ul>
|
||||
<li><a href="#org8749dd6">2.11.1. Get</a></li>
|
||||
<li><a href="#orgf4fea64">2.11.2. Compute</a></li>
|
||||
<li><a href="#org3873a74">2.11.3. Test</a></li>
|
||||
<li><a href="#org32b7f69">2.11.1. Get</a></li>
|
||||
<li><a href="#orga19c63b">2.11.2. Compute</a></li>
|
||||
<li><a href="#orgfef5892">2.11.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org6eeae89">2.12. Electron-electron-nucleus Jastrow \(f_{een}\) derivative</a>
|
||||
<li><a href="#org26a7460">2.12. Electron-electron-nucleus Jastrow \(f_{een}\) derivative</a>
|
||||
<ul>
|
||||
<li><a href="#org08a8773">2.12.1. Get</a></li>
|
||||
<li><a href="#org8eb8eb7">2.12.2. Compute</a></li>
|
||||
<li><a href="#org402ee25">2.12.3. Test</a></li>
|
||||
<li><a href="#org3ccc10a">2.12.1. Get</a></li>
|
||||
<li><a href="#org853acb5">2.12.2. Compute</a></li>
|
||||
<li><a href="#orga1efd52">2.12.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@ -435,14 +435,14 @@ for the JavaScript code in this tag.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2451535" class="outline-2">
|
||||
<h2 id="org2451535"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-org90472aa" class="outline-2">
|
||||
<h2 id="org90472aa"><span class="section-number-2">1</span> Context</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
The following data stored in the context:
|
||||
</p>
|
||||
|
||||
<table id="org913a8d0" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgbaad26b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -734,7 +734,7 @@ For H2O we have the following data:
|
||||
</p>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-python" id="org164b840"><span style="color: #a020f0;">import</span> numpy <span style="color: #a020f0;">as</span> np
|
||||
<pre class="src src-python" id="org569c5e4"><span style="color: #a020f0;">import</span> numpy <span style="color: #a020f0;">as</span> np
|
||||
|
||||
<span style="color: #a0522d;">elec_num</span> = 10
|
||||
<span style="color: #a0522d;">nucl_num</span> = 2
|
||||
@ -884,8 +884,8 @@ For H2O we have the following data:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org43983cd" class="outline-3">
|
||||
<h3 id="org43983cd"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-org59d808c" class="outline-3">
|
||||
<h3 id="org59d808c"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #a020f0;">typedef</span> <span style="color: #a020f0;">struct</span> <span style="color: #228b22;">qmckl_jastrow_struct</span>{
|
||||
@ -972,8 +972,8 @@ this mechanism.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8bdac24" class="outline-3">
|
||||
<h3 id="org8bdac24"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div id="outline-container-org73f236a" class="outline-3">
|
||||
<h3 id="org73f236a"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div class="outline-text-3" id="text-1-2">
|
||||
<p>
|
||||
Along with these core functions, calculation of the jastrow factor
|
||||
@ -993,8 +993,8 @@ function returns <code>true</code>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org95f51e4" class="outline-3">
|
||||
<h3 id="org95f51e4"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-orgebe9cbf" class="outline-3">
|
||||
<h3 id="orgebe9cbf"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div class="outline-text-3" id="text-1-3">
|
||||
<p>
|
||||
To prepare for the Jastrow and its derivative, all the following functions need to be
|
||||
@ -1020,8 +1020,8 @@ are precontracted using BLAS LEVEL 3 operations for an optimal FLOP count.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4d463d0" class="outline-3">
|
||||
<h3 id="org4d463d0"><span class="section-number-3">1.4</span> Test</h3>
|
||||
<div id="outline-container-org7c5b83c" class="outline-3">
|
||||
<h3 id="org7c5b83c"><span class="section-number-3">1.4</span> Test</h3>
|
||||
<div class="outline-text-3" id="text-1-4">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">/* <span style="color: #b22222;">Reference input data </span>*/
|
||||
@ -1196,8 +1196,8 @@ rc = qmckl_get_nucleus_charge(context, nucl_charge2);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7043065" class="outline-2">
|
||||
<h2 id="org7043065"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div id="outline-container-org74c701a" class="outline-2">
|
||||
<h2 id="org74c701a"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
<p>
|
||||
The computed data is stored in the context so that it can be reused
|
||||
@ -1210,8 +1210,8 @@ current date is stored.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8dbd7c4" class="outline-3">
|
||||
<h3 id="org8dbd7c4"><span class="section-number-3">2.1</span> Asymptotic component for \(f_{ee}\)</h3>
|
||||
<div id="outline-container-org2de1d16" class="outline-3">
|
||||
<h3 id="org2de1d16"><span class="section-number-3">2.1</span> Asymptotic component for \(f_{ee}\)</h3>
|
||||
<div class="outline-text-3" id="text-2-1">
|
||||
<p>
|
||||
Calculate the asymptotic component <code>asymp_jasb</code> to be substracted from the final
|
||||
@ -1226,8 +1226,8 @@ via the <code>bord_vector</code> and the electron-electron rescale factor <code>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge8e9a1b" class="outline-4">
|
||||
<h4 id="orge8e9a1b"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div id="outline-container-org1f75384" class="outline-4">
|
||||
<h4 id="org1f75384"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-1-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_jastrow_asymp_jasb</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">asymp_jasb</span>);
|
||||
@ -1236,10 +1236,10 @@ via the <code>bord_vector</code> and the electron-electron rescale factor <code>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org106ef34" class="outline-4">
|
||||
<h4 id="org106ef34"><span class="section-number-4">2.1.2</span> Compute</h4>
|
||||
<div id="outline-container-org6af73cd" class="outline-4">
|
||||
<h4 id="org6af73cd"><span class="section-number-4">2.1.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-1-2">
|
||||
<table id="orgedc2bcc" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org77d5ff3" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1344,8 +1344,8 @@ via the <code>bord_vector</code> and the electron-electron rescale factor <code>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgc4a0a78" class="outline-4">
|
||||
<h4 id="orgc4a0a78"><span class="section-number-4">2.1.3</span> Test</h4>
|
||||
<div id="outline-container-org2d8dc0b" class="outline-4">
|
||||
<h4 id="org2d8dc0b"><span class="section-number-4">2.1.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #0000ff;">assert</span>(<span style="color: #228b22;">qmckl_electron_provided</span>(<span style="color: #a0522d;">context</span>));
|
||||
@ -1397,8 +1397,8 @@ rc = qmckl_get_jastrow_asymp_jasb(context, asymp_jasb);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgfb28800" class="outline-3">
|
||||
<h3 id="orgfb28800"><span class="section-number-3">2.2</span> Electron-electron component \(f_{ee}\)</h3>
|
||||
<div id="outline-container-org440cd34" class="outline-3">
|
||||
<h3 id="org440cd34"><span class="section-number-3">2.2</span> Electron-electron component \(f_{ee}\)</h3>
|
||||
<div class="outline-text-3" id="text-2-2">
|
||||
<p>
|
||||
Calculate the electron-electron jastrow component <code>factor_ee</code> using the <code>asymp_jasb</code>
|
||||
@ -1413,8 +1413,8 @@ f_{ee} = \sum_{i,j<i} \left\{ \frac{ \eta B_0 C_{ij}}{1 - B_1 C_{ij}} - J_{asym
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orga418a56" class="outline-4">
|
||||
<h4 id="orga418a56"><span class="section-number-4">2.2.1</span> Get</h4>
|
||||
<div id="outline-container-orgea3fe28" class="outline-4">
|
||||
<h4 id="orgea3fe28"><span class="section-number-4">2.2.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-2-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_jastrow_factor_ee</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">factor_ee</span>);
|
||||
@ -1423,10 +1423,10 @@ f_{ee} = \sum_{i,j<i} \left\{ \frac{ \eta B_0 C_{ij}}{1 - B_1 C_{ij}} - J_{asym
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5136a08" class="outline-4">
|
||||
<h4 id="org5136a08"><span class="section-number-4">2.2.2</span> Compute</h4>
|
||||
<div id="outline-container-orgfc70fe6" class="outline-4">
|
||||
<h4 id="orgfc70fe6"><span class="section-number-4">2.2.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-2-2">
|
||||
<table id="org855ea6a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org8fa548f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1593,8 +1593,8 @@ f_{ee} = \sum_{i,j<i} \left\{ \frac{ \eta B_0 C_{ij}}{1 - B_1 C_{ij}} - J_{asym
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org2b264b2" class="outline-4">
|
||||
<h4 id="org2b264b2"><span class="section-number-4">2.2.3</span> Test</h4>
|
||||
<div id="outline-container-org59e1543" class="outline-4">
|
||||
<h4 id="org59e1543"><span class="section-number-4">2.2.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-2-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">/* <span style="color: #b22222;">Check if Jastrow is properly initialized </span>*/
|
||||
@ -1612,8 +1612,8 @@ rc = qmckl_get_jastrow_factor_ee(context, factor_ee);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc3e6005" class="outline-3">
|
||||
<h3 id="orgc3e6005"><span class="section-number-3">2.3</span> Electron-electron component derivative \(f'_{ee}\)</h3>
|
||||
<div id="outline-container-org9dca4b5" class="outline-3">
|
||||
<h3 id="org9dca4b5"><span class="section-number-3">2.3</span> Electron-electron component derivative \(f'_{ee}\)</h3>
|
||||
<div class="outline-text-3" id="text-2-3">
|
||||
<p>
|
||||
Calculate the derivative of the <code>factor_ee</code> using the <code>ee_distance_rescaled</code> and
|
||||
@ -1628,8 +1628,8 @@ TODO: Add equation
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org1aecd68" class="outline-4">
|
||||
<h4 id="org1aecd68"><span class="section-number-4">2.3.1</span> Get</h4>
|
||||
<div id="outline-container-org9029c7a" class="outline-4">
|
||||
<h4 id="org9029c7a"><span class="section-number-4">2.3.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-3-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_jastrow_factor_ee_deriv_e</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">factor_ee_deriv_e</span>);
|
||||
@ -1638,10 +1638,10 @@ TODO: Add equation
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2cdddd5" class="outline-4">
|
||||
<h4 id="org2cdddd5"><span class="section-number-4">2.3.2</span> Compute</h4>
|
||||
<div id="outline-container-orgdead9eb" class="outline-4">
|
||||
<h4 id="orgdead9eb"><span class="section-number-4">2.3.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-3-2">
|
||||
<table id="orgec606c0" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgcc45bd7" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1848,8 +1848,8 @@ TODO: Add equation
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org6e0854e" class="outline-4">
|
||||
<h4 id="org6e0854e"><span class="section-number-4">2.3.3</span> Test</h4>
|
||||
<div id="outline-container-org2269ee2" class="outline-4">
|
||||
<h4 id="org2269ee2"><span class="section-number-4">2.3.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-3-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">/* <span style="color: #b22222;">Check if Jastrow is properly initialized </span>*/
|
||||
@ -1871,8 +1871,8 @@ rc = qmckl_get_jastrow_factor_ee_deriv_e(context, &(factor_ee_deriv_e[0][0][
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga797e56" class="outline-3">
|
||||
<h3 id="orga797e56"><span class="section-number-3">2.4</span> Electron-nucleus component \(f_{en}\)</h3>
|
||||
<div id="outline-container-org9c8ed09" class="outline-3">
|
||||
<h3 id="org9c8ed09"><span class="section-number-3">2.4</span> Electron-nucleus component \(f_{en}\)</h3>
|
||||
<div class="outline-text-3" id="text-2-4">
|
||||
<p>
|
||||
Calculate the electron-electron jastrow component <code>factor_en</code> using the <code>aord_vector</code>
|
||||
@ -1887,8 +1887,8 @@ f_{en} = \sum_{i,j<i} \left\{ \frac{ A_0 C_{ij}}{1 - A_1 C_{ij}} + \sum^{nord}_{
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org467df2b" class="outline-4">
|
||||
<h4 id="org467df2b"><span class="section-number-4">2.4.1</span> Get</h4>
|
||||
<div id="outline-container-orge832e1c" class="outline-4">
|
||||
<h4 id="orge832e1c"><span class="section-number-4">2.4.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-4-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_jastrow_factor_en</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">factor_en</span>);
|
||||
@ -1897,10 +1897,10 @@ f_{en} = \sum_{i,j<i} \left\{ \frac{ A_0 C_{ij}}{1 - A_1 C_{ij}} + \sum^{nord}_{
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org65904c5" class="outline-4">
|
||||
<h4 id="org65904c5"><span class="section-number-4">2.4.2</span> Compute</h4>
|
||||
<div id="outline-container-org4135aa9" class="outline-4">
|
||||
<h4 id="org4135aa9"><span class="section-number-4">2.4.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-4-2">
|
||||
<table id="org1b6ed07" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgf8028c5" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2074,8 +2074,8 @@ f_{en} = \sum_{i,j<i} \left\{ \frac{ A_0 C_{ij}}{1 - A_1 C_{ij}} + \sum^{nord}_{
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org31827a7" class="outline-4">
|
||||
<h4 id="org31827a7"><span class="section-number-4">2.4.3</span> Test</h4>
|
||||
<div id="outline-container-org18b9a24" class="outline-4">
|
||||
<h4 id="org18b9a24"><span class="section-number-4">2.4.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-4-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">/* <span style="color: #b22222;">Check if Jastrow is properly initialized </span>*/
|
||||
@ -2093,8 +2093,8 @@ rc = qmckl_get_jastrow_factor_en(context, factor_en);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org81db28d" class="outline-3">
|
||||
<h3 id="org81db28d"><span class="section-number-3">2.5</span> Electron-nucleus component derivative \(f'_{en}\)</h3>
|
||||
<div id="outline-container-org6a29775" class="outline-3">
|
||||
<h3 id="org6a29775"><span class="section-number-3">2.5</span> Electron-nucleus component derivative \(f'_{en}\)</h3>
|
||||
<div class="outline-text-3" id="text-2-5">
|
||||
<p>
|
||||
Calculate the electron-electron jastrow component <code>factor_en_deriv_e</code> derivative
|
||||
@ -2107,8 +2107,8 @@ TODO: write equations.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org93fc394" class="outline-4">
|
||||
<h4 id="org93fc394"><span class="section-number-4">2.5.1</span> Get</h4>
|
||||
<div id="outline-container-orgc0114d8" class="outline-4">
|
||||
<h4 id="orgc0114d8"><span class="section-number-4">2.5.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-5-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_jastrow_factor_en_deriv_e</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">factor_en_deriv_e</span>);
|
||||
@ -2117,10 +2117,10 @@ TODO: write equations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4d572ec" class="outline-4">
|
||||
<h4 id="org4d572ec"><span class="section-number-4">2.5.2</span> Compute</h4>
|
||||
<div id="outline-container-orga4c6189" class="outline-4">
|
||||
<h4 id="orga4c6189"><span class="section-number-4">2.5.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-5-2">
|
||||
<table id="org911b54e" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org191550d" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2333,8 +2333,8 @@ TODO: write equations.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org2924a10" class="outline-4">
|
||||
<h4 id="org2924a10"><span class="section-number-4">2.5.3</span> Test</h4>
|
||||
<div id="outline-container-org26979dc" class="outline-4">
|
||||
<h4 id="org26979dc"><span class="section-number-4">2.5.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-5-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">/* <span style="color: #b22222;">Check if Jastrow is properly initialized </span>*/
|
||||
@ -2356,8 +2356,8 @@ rc = qmckl_get_jastrow_factor_en_deriv_e(context, &(factor_en_deriv_e[0][0][
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org76041a1" class="outline-3">
|
||||
<h3 id="org76041a1"><span class="section-number-3">2.6</span> Electron-electron rescaled distances for each order</h3>
|
||||
<div id="outline-container-org5cacae4" class="outline-3">
|
||||
<h3 id="org5cacae4"><span class="section-number-3">2.6</span> Electron-electron rescaled distances for each order</h3>
|
||||
<div class="outline-text-3" id="text-2-6">
|
||||
<p>
|
||||
<code>een_rescaled_e</code> stores the table of the rescaled distances between all
|
||||
@ -2375,8 +2375,8 @@ where \(C_{ij}\) is the matrix of electron-electron distances.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org994439a" class="outline-4">
|
||||
<h4 id="org994439a"><span class="section-number-4">2.6.1</span> Get</h4>
|
||||
<div id="outline-container-orgcf84cae" class="outline-4">
|
||||
<h4 id="orgcf84cae"><span class="section-number-4">2.6.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-6-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_jastrow_een_rescaled_e</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">distance_rescaled</span>);
|
||||
@ -2385,10 +2385,10 @@ where \(C_{ij}\) is the matrix of electron-electron distances.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3fd841b" class="outline-4">
|
||||
<h4 id="org3fd841b"><span class="section-number-4">2.6.2</span> Compute</h4>
|
||||
<div id="outline-container-orgad8bae6" class="outline-4">
|
||||
<h4 id="orgad8bae6"><span class="section-number-4">2.6.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-6-2">
|
||||
<table id="org4a479d6" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org5cc33e1" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2554,8 +2554,8 @@ where \(C_{ij}\) is the matrix of electron-electron distances.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgec97b7f" class="outline-4">
|
||||
<h4 id="orgec97b7f"><span class="section-number-4">2.6.3</span> Test</h4>
|
||||
<div id="outline-container-orgb86525e" class="outline-4">
|
||||
<h4 id="orgb86525e"><span class="section-number-4">2.6.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-6-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #0000ff;">assert</span>(<span style="color: #228b22;">qmckl_electron_provided</span>(<span style="color: #a0522d;">context</span>));
|
||||
@ -2578,8 +2578,8 @@ rc = qmckl_get_jastrow_een_rescaled_e(context, &(een_rescaled_e[0][0][0][0])
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0a03184" class="outline-3">
|
||||
<h3 id="org0a03184"><span class="section-number-3">2.7</span> Electron-electron rescaled distances for each order and derivatives</h3>
|
||||
<div id="outline-container-org5f164c3" class="outline-3">
|
||||
<h3 id="org5f164c3"><span class="section-number-3">2.7</span> Electron-electron rescaled distances for each order and derivatives</h3>
|
||||
<div class="outline-text-3" id="text-2-7">
|
||||
<p>
|
||||
<code>een_rescaled_e_deriv_e</code> stores the table of the derivatives of the
|
||||
@ -2594,8 +2594,8 @@ TODO: write formulae
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org96496e7" class="outline-4">
|
||||
<h4 id="org96496e7"><span class="section-number-4">2.7.1</span> Get</h4>
|
||||
<div id="outline-container-org1896bf3" class="outline-4">
|
||||
<h4 id="org1896bf3"><span class="section-number-4">2.7.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-7-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_jastrow_een_rescaled_e_deriv_e</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">distance_rescaled</span>);
|
||||
@ -2604,10 +2604,10 @@ TODO: write formulae
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc9e57e3" class="outline-4">
|
||||
<h4 id="orgc9e57e3"><span class="section-number-4">2.7.2</span> Compute</h4>
|
||||
<div id="outline-container-org25ee1bf" class="outline-4">
|
||||
<h4 id="org25ee1bf"><span class="section-number-4">2.7.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-7-2">
|
||||
<table id="org9d81f26" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgebc2e8b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2786,8 +2786,8 @@ TODO: write formulae
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgbb1ddae" class="outline-4">
|
||||
<h4 id="orgbb1ddae"><span class="section-number-4">2.7.3</span> Test</h4>
|
||||
<div id="outline-container-orga126932" class="outline-4">
|
||||
<h4 id="orga126932"><span class="section-number-4">2.7.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-7-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">//<span style="color: #b22222;">assert(qmckl_electron_provided(context));</span>
|
||||
@ -2807,8 +2807,8 @@ rc = qmckl_get_jastrow_een_rescaled_e_deriv_e(context, &(een_rescaled_e_deri
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8587a31" class="outline-3">
|
||||
<h3 id="org8587a31"><span class="section-number-3">2.8</span> Electron-nucleus rescaled distances for each order</h3>
|
||||
<div id="outline-container-org3119953" class="outline-3">
|
||||
<h3 id="org3119953"><span class="section-number-3">2.8</span> Electron-nucleus rescaled distances for each order</h3>
|
||||
<div class="outline-text-3" id="text-2-8">
|
||||
<p>
|
||||
<code>een_rescaled_n</code> stores the table of the rescaled distances between
|
||||
@ -2826,8 +2826,8 @@ where \(C_{ia}\) is the matrix of electron-nucleus distances.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org938b024" class="outline-4">
|
||||
<h4 id="org938b024"><span class="section-number-4">2.8.1</span> Get</h4>
|
||||
<div id="outline-container-org394a259" class="outline-4">
|
||||
<h4 id="org394a259"><span class="section-number-4">2.8.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-8-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_jastrow_een_rescaled_n</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">distance_rescaled</span>);
|
||||
@ -2836,10 +2836,10 @@ where \(C_{ia}\) is the matrix of electron-nucleus distances.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orged9519e" class="outline-4">
|
||||
<h4 id="orged9519e"><span class="section-number-4">2.8.2</span> Compute</h4>
|
||||
<div id="outline-container-orgc3df31a" class="outline-4">
|
||||
<h4 id="orgc3df31a"><span class="section-number-4">2.8.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-8-2">
|
||||
<table id="org0209609" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org7027703" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2995,8 +2995,8 @@ where \(C_{ia}\) is the matrix of electron-nucleus distances.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6caf0c3" class="outline-4">
|
||||
<h4 id="org6caf0c3"><span class="section-number-4">2.8.3</span> Test</h4>
|
||||
<div id="outline-container-orgffd08dc" class="outline-4">
|
||||
<h4 id="orgffd08dc"><span class="section-number-4">2.8.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-8-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #0000ff;">assert</span>(<span style="color: #228b22;">qmckl_electron_provided</span>(<span style="color: #a0522d;">context</span>));
|
||||
@ -3018,8 +3018,8 @@ rc = qmckl_get_jastrow_een_rescaled_n(context, &(een_rescaled_n[0][0][0][0])
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge1a4ec8" class="outline-3">
|
||||
<h3 id="orge1a4ec8"><span class="section-number-3">2.9</span> Electron-nucleus rescaled distances for each order and derivatives</h3>
|
||||
<div id="outline-container-org8e90823" class="outline-3">
|
||||
<h3 id="org8e90823"><span class="section-number-3">2.9</span> Electron-nucleus rescaled distances for each order and derivatives</h3>
|
||||
<div class="outline-text-3" id="text-2-9">
|
||||
<p>
|
||||
<code>een_rescaled_n_deriv_e</code> stores the table of the rescaled distances between
|
||||
@ -3028,8 +3028,8 @@ electrons and nucleii raised to the power \(p\) defined by <code>cord_num</code>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org14cf694" class="outline-4">
|
||||
<h4 id="org14cf694"><span class="section-number-4">2.9.1</span> Get</h4>
|
||||
<div id="outline-container-orgc99cb57" class="outline-4">
|
||||
<h4 id="orgc99cb57"><span class="section-number-4">2.9.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-9-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_jastrow_een_rescaled_n_deriv_e</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">distance_rescaled</span>);
|
||||
@ -3038,10 +3038,10 @@ electrons and nucleii raised to the power \(p\) defined by <code>cord_num</code>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge1dfbc5" class="outline-4">
|
||||
<h4 id="orge1dfbc5"><span class="section-number-4">2.9.2</span> Compute</h4>
|
||||
<div id="outline-container-org9fcdbd8" class="outline-4">
|
||||
<h4 id="org9fcdbd8"><span class="section-number-4">2.9.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-9-2">
|
||||
<table id="org167c201" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgba1618e" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -3243,8 +3243,8 @@ electrons and nucleii raised to the power \(p\) defined by <code>cord_num</code>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9d1f4f5" class="outline-4">
|
||||
<h4 id="org9d1f4f5"><span class="section-number-4">2.9.3</span> Test</h4>
|
||||
<div id="outline-container-org4180e57" class="outline-4">
|
||||
<h4 id="org4180e57"><span class="section-number-4">2.9.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-9-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #0000ff;">assert</span>(<span style="color: #228b22;">qmckl_electron_provided</span>(<span style="color: #a0522d;">context</span>));
|
||||
@ -3266,8 +3266,8 @@ rc = qmckl_get_jastrow_een_rescaled_n_deriv_e(context, &(een_rescaled_n_deri
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org36018cb" class="outline-3">
|
||||
<h3 id="org36018cb"><span class="section-number-3">2.10</span> Prepare for electron-electron-nucleus Jastrow \(f_{een}\)</h3>
|
||||
<div id="outline-container-org097ac25" class="outline-3">
|
||||
<h3 id="org097ac25"><span class="section-number-3">2.10</span> Prepare for electron-electron-nucleus Jastrow \(f_{een}\)</h3>
|
||||
<div class="outline-text-3" id="text-2-10">
|
||||
<p>
|
||||
Prepare <code>cord_vect_full</code> and <code>lkpm_combined_index</code> tables required for the
|
||||
@ -3276,8 +3276,8 @@ calculation of the three-body jastrow <code>factor_een</code> and its derivative
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2afa82d" class="outline-4">
|
||||
<h4 id="org2afa82d"><span class="section-number-4">2.10.1</span> Get</h4>
|
||||
<div id="outline-container-org106f7e1" class="outline-4">
|
||||
<h4 id="org106f7e1"><span class="section-number-4">2.10.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-10-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_jastrow_dim_cord_vect</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">int64_t</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">dim_cord_vect</span>);
|
||||
@ -3288,10 +3288,10 @@ calculation of the three-body jastrow <code>factor_een</code> and its derivative
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb6a0f32" class="outline-4">
|
||||
<h4 id="orgb6a0f32"><span class="section-number-4">2.10.2</span> Compute dim<sub>cord</sub><sub>vect</sub></h4>
|
||||
<div id="outline-container-orgdc661ce" class="outline-4">
|
||||
<h4 id="orgdc661ce"><span class="section-number-4">2.10.2</span> Compute dim<sub>cord</sub><sub>vect</sub></h4>
|
||||
<div class="outline-text-4" id="text-2-10-2">
|
||||
<table id="org7cd4d8e" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orge1aa70b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -3381,10 +3381,10 @@ calculation of the three-body jastrow <code>factor_een</code> and its derivative
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgca88452" class="outline-4">
|
||||
<h4 id="orgca88452"><span class="section-number-4">2.10.3</span> Compute cord<sub>vect</sub><sub>full</sub></h4>
|
||||
<div id="outline-container-orge2cae49" class="outline-4">
|
||||
<h4 id="orge2cae49"><span class="section-number-4">2.10.3</span> Compute cord<sub>vect</sub><sub>full</sub></h4>
|
||||
<div class="outline-text-4" id="text-2-10-3">
|
||||
<table id="org83e9a24" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orga61f0cd" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -3510,10 +3510,10 @@ calculation of the three-body jastrow <code>factor_een</code> and its derivative
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org294a9e0" class="outline-4">
|
||||
<h4 id="org294a9e0"><span class="section-number-4">2.10.4</span> Compute lkpm<sub>combined</sub><sub>index</sub></h4>
|
||||
<div id="outline-container-orgfce05a9" class="outline-4">
|
||||
<h4 id="orgfce05a9"><span class="section-number-4">2.10.4</span> Compute lkpm<sub>combined</sub><sub>index</sub></h4>
|
||||
<div class="outline-text-4" id="text-2-10-4">
|
||||
<table id="orgc5e0605" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org16f38a0" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -3623,8 +3623,8 @@ calculation of the three-body jastrow <code>factor_een</code> and its derivative
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org10b8f43" class="outline-4">
|
||||
<h4 id="org10b8f43"><span class="section-number-4">2.10.5</span> Test</h4>
|
||||
<div id="outline-container-orgd4b3f57" class="outline-4">
|
||||
<h4 id="orgd4b3f57"><span class="section-number-4">2.10.5</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-10-5">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">//<span style="color: #b22222;">assert(qmckl_electron_provided(context));</span>
|
||||
@ -3636,8 +3636,8 @@ calculation of the three-body jastrow <code>factor_een</code> and its derivative
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5518bc7" class="outline-3">
|
||||
<h3 id="org5518bc7"><span class="section-number-3">2.11</span> Electron-electron-nucleus Jastrow \(f_{een}\)</h3>
|
||||
<div id="outline-container-orgb3f5c6a" class="outline-3">
|
||||
<h3 id="orgb3f5c6a"><span class="section-number-3">2.11</span> Electron-electron-nucleus Jastrow \(f_{een}\)</h3>
|
||||
<div class="outline-text-3" id="text-2-11">
|
||||
<p>
|
||||
Calculate the electron-electron-nuclear three-body jastrow component <code>factor_een</code>
|
||||
@ -3649,8 +3649,8 @@ TODO: write equations.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8749dd6" class="outline-4">
|
||||
<h4 id="org8749dd6"><span class="section-number-4">2.11.1</span> Get</h4>
|
||||
<div id="outline-container-org32b7f69" class="outline-4">
|
||||
<h4 id="org32b7f69"><span class="section-number-4">2.11.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-11-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_jastrow_factor_een</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">factor_een</span>);
|
||||
@ -3659,10 +3659,10 @@ TODO: write equations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf4fea64" class="outline-4">
|
||||
<h4 id="orgf4fea64"><span class="section-number-4">2.11.2</span> Compute</h4>
|
||||
<div id="outline-container-orga19c63b" class="outline-4">
|
||||
<h4 id="orga19c63b"><span class="section-number-4">2.11.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-11-2">
|
||||
<table id="org5978bd7" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org124935b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -3850,8 +3850,8 @@ TODO: write equations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3873a74" class="outline-4">
|
||||
<h4 id="org3873a74"><span class="section-number-4">2.11.3</span> Test</h4>
|
||||
<div id="outline-container-orgfef5892" class="outline-4">
|
||||
<h4 id="orgfef5892"><span class="section-number-4">2.11.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-11-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">/* <span style="color: #b22222;">Check if Jastrow is properly initialized </span>*/
|
||||
@ -3867,8 +3867,8 @@ rc = qmckl_get_jastrow_factor_een(context, &(factor_een[0]));
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6eeae89" class="outline-3">
|
||||
<h3 id="org6eeae89"><span class="section-number-3">2.12</span> Electron-electron-nucleus Jastrow \(f_{een}\) derivative</h3>
|
||||
<div id="outline-container-org26a7460" class="outline-3">
|
||||
<h3 id="org26a7460"><span class="section-number-3">2.12</span> Electron-electron-nucleus Jastrow \(f_{een}\) derivative</h3>
|
||||
<div class="outline-text-3" id="text-2-12">
|
||||
<p>
|
||||
Calculate the electron-electron-nuclear three-body jastrow component <code>factor_een_deriv_e</code>
|
||||
@ -3880,8 +3880,8 @@ TODO: write equations.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org08a8773" class="outline-4">
|
||||
<h4 id="org08a8773"><span class="section-number-4">2.12.1</span> Get</h4>
|
||||
<div id="outline-container-org3ccc10a" class="outline-4">
|
||||
<h4 id="org3ccc10a"><span class="section-number-4">2.12.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-12-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_jastrow_factor_een_deriv_e</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">factor_een_deriv_e</span>);
|
||||
@ -3890,10 +3890,10 @@ TODO: write equations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8eb8eb7" class="outline-4">
|
||||
<h4 id="org8eb8eb7"><span class="section-number-4">2.12.2</span> Compute</h4>
|
||||
<div id="outline-container-org853acb5" class="outline-4">
|
||||
<h4 id="org853acb5"><span class="section-number-4">2.12.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-12-2">
|
||||
<table id="org60245d0" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgb800da0" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -4118,8 +4118,8 @@ TODO: write equations.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org402ee25" class="outline-4">
|
||||
<h4 id="org402ee25"><span class="section-number-4">2.12.3</span> Test</h4>
|
||||
<div id="outline-container-orga1efd52" class="outline-4">
|
||||
<h4 id="orga1efd52"><span class="section-number-4">2.12.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-12-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">/* <span style="color: #b22222;">Check if Jastrow is properly initialized </span>*/
|
||||
@ -4138,7 +4138,7 @@ rc = qmckl_get_jastrow_factor_een_deriv_e(context, &(factor_een_deriv_e[0][0
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-10-06 Wed 21:45</p>
|
||||
<p class="date">Created: 2021-10-10 Sun 14:26</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-10-06 Wed 21:45 -->
|
||||
<!-- 2021-10-10 Sun 14:25 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Memory management</title>
|
||||
@ -311,15 +311,15 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#org20c0947">1. Memory data structure for the context</a></li>
|
||||
<li><a href="#org11653f3">2. Passing info to allocation routines</a></li>
|
||||
<li><a href="#orgaa9e4a5">3. Allocation/deallocation functions</a></li>
|
||||
<li><a href="#org532eabd">1. Memory data structure for the context</a></li>
|
||||
<li><a href="#orgafcfd7e">2. Passing info to allocation routines</a></li>
|
||||
<li><a href="#org4487408">3. Allocation/deallocation functions</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org20c0947" class="outline-2">
|
||||
<h2 id="org20c0947"><span class="section-number-2">1</span> Memory data structure for the context</h2>
|
||||
<div id="outline-container-org532eabd" class="outline-2">
|
||||
<h2 id="org532eabd"><span class="section-number-2">1</span> Memory data structure for the context</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
Every time a new block of memory is allocated, the information
|
||||
@ -361,8 +361,8 @@ array, and the number of allocated blocks.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org11653f3" class="outline-2">
|
||||
<h2 id="org11653f3"><span class="section-number-2">2</span> Passing info to allocation routines</h2>
|
||||
<div id="outline-container-orgafcfd7e" class="outline-2">
|
||||
<h2 id="orgafcfd7e"><span class="section-number-2">2</span> Passing info to allocation routines</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
<p>
|
||||
Passing information to the allocation routine should be done by
|
||||
@ -371,8 +371,8 @@ passing an instance of a <code>qmckl_memory_info_struct</code>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgaa9e4a5" class="outline-2">
|
||||
<h2 id="orgaa9e4a5"><span class="section-number-2">3</span> Allocation/deallocation functions</h2>
|
||||
<div id="outline-container-org4487408" class="outline-2">
|
||||
<h2 id="org4487408"><span class="section-number-2">3</span> Allocation/deallocation functions</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
<p>
|
||||
Memory allocation inside the library should be done with
|
||||
@ -535,7 +535,7 @@ allocation and needs to be updated.
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-10-06 Wed 21:45</p>
|
||||
<p class="date">Created: 2021-10-10 Sun 14:25</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-10-06 Wed 21:45 -->
|
||||
<!-- 2021-10-10 Sun 14:26 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Molecular Orbitals</title>
|
||||
@ -311,21 +311,21 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#org6b771fc">1. Context</a>
|
||||
<li><a href="#org844c241">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#org5d974c0">1.1. Data structure</a></li>
|
||||
<li><a href="#orgdeab8e8">1.2. Access functions</a></li>
|
||||
<li><a href="#org14e57b5">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org741a893">1.1. Data structure</a></li>
|
||||
<li><a href="#org6e5971e">1.2. Access functions</a></li>
|
||||
<li><a href="#orgd80bc45">1.3. Initialization functions</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgd3eff00">2. Computation</a>
|
||||
<li><a href="#org6f60ff8">2. Computation</a>
|
||||
<ul>
|
||||
<li><a href="#org05d35a7">2.1. Computation of MOs</a>
|
||||
<li><a href="#orgeb538fc">2.1. Computation of MOs</a>
|
||||
<ul>
|
||||
<li><a href="#org0cf55a7">2.1.1. Get</a></li>
|
||||
<li><a href="#orgf867ffe">2.1.2. Provide</a></li>
|
||||
<li><a href="#orgda0b11b">2.1.3. Compute</a></li>
|
||||
<li><a href="#org266cf4d">2.1.4. Test</a></li>
|
||||
<li><a href="#org292e834">2.1.1. Get</a></li>
|
||||
<li><a href="#org0fdb67d">2.1.2. Provide</a></li>
|
||||
<li><a href="#org93582d6">2.1.3. Compute</a></li>
|
||||
<li><a href="#orge33c3d8">2.1.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@ -334,8 +334,8 @@ for the JavaScript code in this tag.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6b771fc" class="outline-2">
|
||||
<h2 id="org6b771fc"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-org844c241" class="outline-2">
|
||||
<h2 id="org844c241"><span class="section-number-2">1</span> Context</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
The following arrays are stored in the context:
|
||||
@ -402,8 +402,8 @@ Computed data:
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5d974c0" class="outline-3">
|
||||
<h3 id="org5d974c0"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-org741a893" class="outline-3">
|
||||
<h3 id="org741a893"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #a020f0;">typedef</span> <span style="color: #a020f0;">struct</span> <span style="color: #228b22;">qmckl_mo_basis_struct</span> {
|
||||
@ -431,8 +431,8 @@ this mechanism.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgdeab8e8" class="outline-3">
|
||||
<h3 id="orgdeab8e8"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div id="outline-container-org6e5971e" class="outline-3">
|
||||
<h3 id="org6e5971e"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div class="outline-text-3" id="text-1-2">
|
||||
<p>
|
||||
When all the data for the AOs have been provided, the following
|
||||
@ -446,8 +446,8 @@ function returns <code>true</code>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org14e57b5" class="outline-3">
|
||||
<h3 id="org14e57b5"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-orgd80bc45" class="outline-3">
|
||||
<h3 id="orgd80bc45"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div class="outline-text-3" id="text-1-3">
|
||||
<p>
|
||||
To set the basis set, all the following functions need to be
|
||||
@ -469,16 +469,16 @@ computed to accelerate the calculations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd3eff00" class="outline-2">
|
||||
<h2 id="orgd3eff00"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div id="outline-container-org6f60ff8" class="outline-2">
|
||||
<h2 id="org6f60ff8"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-org05d35a7" class="outline-3">
|
||||
<h3 id="org05d35a7"><span class="section-number-3">2.1</span> Computation of MOs</h3>
|
||||
<div id="outline-container-orgeb538fc" class="outline-3">
|
||||
<h3 id="orgeb538fc"><span class="section-number-3">2.1</span> Computation of MOs</h3>
|
||||
<div class="outline-text-3" id="text-2-1">
|
||||
</div>
|
||||
<div id="outline-container-org0cf55a7" class="outline-4">
|
||||
<h4 id="org0cf55a7"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div id="outline-container-org292e834" class="outline-4">
|
||||
<h4 id="org292e834"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-1-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_mo_basis_vgl</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">mo_vgl</span>);
|
||||
@ -487,14 +487,14 @@ computed to accelerate the calculations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf867ffe" class="outline-4">
|
||||
<h4 id="orgf867ffe"><span class="section-number-4">2.1.2</span> Provide</h4>
|
||||
<div id="outline-container-org0fdb67d" class="outline-4">
|
||||
<h4 id="org0fdb67d"><span class="section-number-4">2.1.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgda0b11b" class="outline-4">
|
||||
<h4 id="orgda0b11b"><span class="section-number-4">2.1.3</span> Compute</h4>
|
||||
<div id="outline-container-org93582d6" class="outline-4">
|
||||
<h4 id="org93582d6"><span class="section-number-4">2.1.3</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-1-3">
|
||||
<table id="org74692e0" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org22fa965" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -677,15 +677,15 @@ computed to accelerate the calculations.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org266cf4d" class="outline-4">
|
||||
<h4 id="org266cf4d"><span class="section-number-4">2.1.4</span> Test</h4>
|
||||
<div id="outline-container-orge33c3d8" class="outline-4">
|
||||
<h4 id="orge33c3d8"><span class="section-number-4">2.1.4</span> Test</h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-10-06 Wed 21:45</p>
|
||||
<p class="date">Created: 2021-10-10 Sun 14:26</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-10-06 Wed 21:45 -->
|
||||
<!-- 2021-10-10 Sun 14:26 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Nucleus</title>
|
||||
@ -333,35 +333,35 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#orgda632fd">1. Context</a>
|
||||
<li><a href="#orga4c612e">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#org5ce79bf">1.1. Data structure</a></li>
|
||||
<li><a href="#org34fe10c">1.2. Access functions</a></li>
|
||||
<li><a href="#org2398e4c">1.3. Initialization functions</a></li>
|
||||
<li><a href="#orgdf7e21e">1.4. Test</a></li>
|
||||
<li><a href="#orgbf25bd6">1.1. Data structure</a></li>
|
||||
<li><a href="#orgec50a93">1.2. Access functions</a></li>
|
||||
<li><a href="#orga5c10e1">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org6f5a5a6">1.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org754d3d9">2. Computation</a>
|
||||
<li><a href="#orgc84aeca">2. Computation</a>
|
||||
<ul>
|
||||
<li><a href="#org4390d58">2.1. Nucleus-nucleus distances</a>
|
||||
<li><a href="#orga90433f">2.1. Nucleus-nucleus distances</a>
|
||||
<ul>
|
||||
<li><a href="#org5ccde0d">2.1.1. Get</a></li>
|
||||
<li><a href="#org5c93bb9">2.1.2. Compute</a></li>
|
||||
<li><a href="#orgb05b387">2.1.3. Test</a></li>
|
||||
<li><a href="#org19162b7">2.1.1. Get</a></li>
|
||||
<li><a href="#orgb75b935">2.1.2. Compute</a></li>
|
||||
<li><a href="#org318c649">2.1.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org6c6a754">2.2. Nucleus-nucleus rescaled distances</a>
|
||||
<li><a href="#orgedc694c">2.2. Nucleus-nucleus rescaled distances</a>
|
||||
<ul>
|
||||
<li><a href="#org7dec308">2.2.1. Get</a></li>
|
||||
<li><a href="#orgc30b21e">2.2.2. Compute</a></li>
|
||||
<li><a href="#org236cea8">2.2.3. Test</a></li>
|
||||
<li><a href="#org155407d">2.2.1. Get</a></li>
|
||||
<li><a href="#org48bf492">2.2.2. Compute</a></li>
|
||||
<li><a href="#orgae322d0">2.2.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org5416a71">2.3. Nuclear repulsion energy</a>
|
||||
<li><a href="#orgfbe8963">2.3. Nuclear repulsion energy</a>
|
||||
<ul>
|
||||
<li><a href="#org5bd9b65">2.3.1. Get</a></li>
|
||||
<li><a href="#orgc963c6e">2.3.2. Compute</a></li>
|
||||
<li><a href="#orgb7f524e">2.3.3. Test</a></li>
|
||||
<li><a href="#orgb9f4de9">2.3.1. Get</a></li>
|
||||
<li><a href="#org91396e8">2.3.2. Compute</a></li>
|
||||
<li><a href="#org70a9746">2.3.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@ -370,8 +370,8 @@ for the JavaScript code in this tag.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgda632fd" class="outline-2">
|
||||
<h2 id="orgda632fd"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-orga4c612e" class="outline-2">
|
||||
<h2 id="orga4c612e"><span class="section-number-2">1</span> Context</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
The following data stored in the context:
|
||||
@ -463,8 +463,8 @@ The following data stored in the context:
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5ce79bf" class="outline-3">
|
||||
<h3 id="org5ce79bf"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-orgbf25bd6" class="outline-3">
|
||||
<h3 id="orgbf25bd6"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #a020f0;">typedef</span> <span style="color: #a020f0;">struct</span> <span style="color: #228b22;">qmckl_nucleus_struct</span> {
|
||||
@ -523,8 +523,8 @@ this mechanism.
|
||||
|
||||
|
||||
|
||||
<div id="outline-container-org34fe10c" class="outline-3">
|
||||
<h3 id="org34fe10c"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div id="outline-container-orgec50a93" class="outline-3">
|
||||
<h3 id="orgec50a93"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div class="outline-text-3" id="text-1-2">
|
||||
<p>
|
||||
When all the data relative to nuclei have been set, the following
|
||||
@ -538,8 +538,8 @@ function returns <code>true</code>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2398e4c" class="outline-3">
|
||||
<h3 id="org2398e4c"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-orga5c10e1" class="outline-3">
|
||||
<h3 id="orga5c10e1"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div class="outline-text-3" id="text-1-3">
|
||||
<p>
|
||||
To set the data relative to the nuclei in the context, the
|
||||
@ -574,8 +574,8 @@ atoms. The coordinates should be given in atomic units.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgdf7e21e" class="outline-3">
|
||||
<h3 id="orgdf7e21e"><span class="section-number-3">1.4</span> Test</h3>
|
||||
<div id="outline-container-org6f5a5a6" class="outline-3">
|
||||
<h3 id="org6f5a5a6"><span class="section-number-3">1.4</span> Test</h3>
|
||||
<div class="outline-text-3" id="text-1-4">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">nucl_num</span> = chbrclf_nucl_num;
|
||||
@ -659,8 +659,8 @@ rc = qmckl_get_nucleus_charge(context, nucl_charge2);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org754d3d9" class="outline-2">
|
||||
<h2 id="org754d3d9"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div id="outline-container-orgc84aeca" class="outline-2">
|
||||
<h2 id="orgc84aeca"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
<p>
|
||||
The computed data is stored in the context so that it can be reused
|
||||
@ -673,12 +673,12 @@ current date is stored.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4390d58" class="outline-3">
|
||||
<h3 id="org4390d58"><span class="section-number-3">2.1</span> Nucleus-nucleus distances</h3>
|
||||
<div id="outline-container-orga90433f" class="outline-3">
|
||||
<h3 id="orga90433f"><span class="section-number-3">2.1</span> Nucleus-nucleus distances</h3>
|
||||
<div class="outline-text-3" id="text-2-1">
|
||||
</div>
|
||||
<div id="outline-container-org5ccde0d" class="outline-4">
|
||||
<h4 id="org5ccde0d"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div id="outline-container-org19162b7" class="outline-4">
|
||||
<h4 id="org19162b7"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-1-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_nucleus_nn_distance</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">distance</span>);
|
||||
@ -687,10 +687,10 @@ current date is stored.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5c93bb9" class="outline-4">
|
||||
<h4 id="org5c93bb9"><span class="section-number-4">2.1.2</span> Compute</h4>
|
||||
<div id="outline-container-orgb75b935" class="outline-4">
|
||||
<h4 id="orgb75b935"><span class="section-number-4">2.1.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-1-2">
|
||||
<table id="org38db4fb" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org95ab29a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -768,8 +768,8 @@ current date is stored.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb05b387" class="outline-4">
|
||||
<h4 id="orgb05b387"><span class="section-number-4">2.1.3</span> Test</h4>
|
||||
<div id="outline-container-org318c649" class="outline-4">
|
||||
<h4 id="org318c649"><span class="section-number-4">2.1.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">/* <span style="color: #b22222;">Reference input data </span>*/
|
||||
@ -789,12 +789,12 @@ rc = qmckl_get_nucleus_nn_distance(context, distance);
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org6c6a754" class="outline-3">
|
||||
<h3 id="org6c6a754"><span class="section-number-3">2.2</span> Nucleus-nucleus rescaled distances</h3>
|
||||
<div id="outline-container-orgedc694c" class="outline-3">
|
||||
<h3 id="orgedc694c"><span class="section-number-3">2.2</span> Nucleus-nucleus rescaled distances</h3>
|
||||
<div class="outline-text-3" id="text-2-2">
|
||||
</div>
|
||||
<div id="outline-container-org7dec308" class="outline-4">
|
||||
<h4 id="org7dec308"><span class="section-number-4">2.2.1</span> Get</h4>
|
||||
<div id="outline-container-org155407d" class="outline-4">
|
||||
<h4 id="org155407d"><span class="section-number-4">2.2.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-2-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_nucleus_nn_distance_rescaled</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">distance_rescaled</span>);
|
||||
@ -803,10 +803,10 @@ rc = qmckl_get_nucleus_nn_distance(context, distance);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc30b21e" class="outline-4">
|
||||
<h4 id="orgc30b21e"><span class="section-number-4">2.2.2</span> Compute</h4>
|
||||
<div id="outline-container-org48bf492" class="outline-4">
|
||||
<h4 id="org48bf492"><span class="section-number-4">2.2.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-2-2">
|
||||
<table id="org29b3d6e" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org8c493dd" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -885,8 +885,8 @@ rc = qmckl_get_nucleus_nn_distance(context, distance);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org236cea8" class="outline-4">
|
||||
<h4 id="org236cea8"><span class="section-number-4">2.2.3</span> Test</h4>
|
||||
<div id="outline-container-orgae322d0" class="outline-4">
|
||||
<h4 id="orgae322d0"><span class="section-number-4">2.2.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-2-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">/* <span style="color: #b22222;">Reference input data </span>*/
|
||||
@ -906,8 +906,8 @@ rc = qmckl_get_nucleus_nn_distance(context, distance);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5416a71" class="outline-3">
|
||||
<h3 id="org5416a71"><span class="section-number-3">2.3</span> Nuclear repulsion energy</h3>
|
||||
<div id="outline-container-orgfbe8963" class="outline-3">
|
||||
<h3 id="orgfbe8963"><span class="section-number-3">2.3</span> Nuclear repulsion energy</h3>
|
||||
<div class="outline-text-3" id="text-2-3">
|
||||
<p>
|
||||
\[
|
||||
@ -916,8 +916,8 @@ rc = qmckl_get_nucleus_nn_distance(context, distance);
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5bd9b65" class="outline-4">
|
||||
<h4 id="org5bd9b65"><span class="section-number-4">2.3.1</span> Get</h4>
|
||||
<div id="outline-container-orgb9f4de9" class="outline-4">
|
||||
<h4 id="orgb9f4de9"><span class="section-number-4">2.3.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-3-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_nucleus_repulsion</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">energy</span>);
|
||||
@ -926,10 +926,10 @@ rc = qmckl_get_nucleus_nn_distance(context, distance);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc963c6e" class="outline-4">
|
||||
<h4 id="orgc963c6e"><span class="section-number-4">2.3.2</span> Compute</h4>
|
||||
<div id="outline-container-org91396e8" class="outline-4">
|
||||
<h4 id="org91396e8"><span class="section-number-4">2.3.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-3-2">
|
||||
<table id="orgdfdc024" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org9ea1ea6" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1017,8 +1017,8 @@ rc = qmckl_get_nucleus_nn_distance(context, distance);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb7f524e" class="outline-4">
|
||||
<h4 id="orgb7f524e"><span class="section-number-4">2.3.3</span> Test</h4>
|
||||
<div id="outline-container-org70a9746" class="outline-4">
|
||||
<h4 id="org70a9746"><span class="section-number-4">2.3.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-3-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">/* <span style="color: #b22222;">Reference input data </span>*/
|
||||
@ -1038,7 +1038,7 @@ rc = qmckl_get_nucleus_repulsion(context, &rep);
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-10-06 Wed 21:45</p>
|
||||
<p class="date">Created: 2021-10-10 Sun 14:26</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-10-06 Wed 21:45 -->
|
||||
<!-- 2021-10-10 Sun 14:25 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Numerical precision</title>
|
||||
@ -333,16 +333,16 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#orgf842b6b">1. Control of the numerical precision</a></li>
|
||||
<li><a href="#orgf4bfbd3">2. Precision</a></li>
|
||||
<li><a href="#orgb7876e1">3. Range</a></li>
|
||||
<li><a href="#orge0da525">4. Helper functions</a></li>
|
||||
<li><a href="#org246f0d6">1. Control of the numerical precision</a></li>
|
||||
<li><a href="#org053ad30">2. Precision</a></li>
|
||||
<li><a href="#org1730ecf">3. Range</a></li>
|
||||
<li><a href="#org423c881">4. Helper functions</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf842b6b" class="outline-2">
|
||||
<h2 id="orgf842b6b"><span class="section-number-2">1</span> Control of the numerical precision</h2>
|
||||
<div id="outline-container-org246f0d6" class="outline-2">
|
||||
<h2 id="org246f0d6"><span class="section-number-2">1</span> Control of the numerical precision</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
Controlling numerical precision enables optimizations. Here, the
|
||||
@ -353,7 +353,7 @@ Arithmetic (IEEE 754),
|
||||
refers to the number of exponent bits.
|
||||
</p>
|
||||
|
||||
<table id="org0ccb7f1" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org4e83c5a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -397,8 +397,8 @@ integer. The update functions return <code>QMCKL_SUCCESS</code> or
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf4bfbd3" class="outline-2">
|
||||
<h2 id="orgf4bfbd3"><span class="section-number-2">2</span> Precision</h2>
|
||||
<div id="outline-container-org053ad30" class="outline-2">
|
||||
<h2 id="org053ad30"><span class="section-number-2">2</span> Precision</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
<p>
|
||||
<code>qmckl_context_set_numprec_precision</code> modifies the parameter for the
|
||||
@ -485,8 +485,8 @@ numerical precision in the context.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb7876e1" class="outline-2">
|
||||
<h2 id="orgb7876e1"><span class="section-number-2">3</span> Range</h2>
|
||||
<div id="outline-container-org1730ecf" class="outline-2">
|
||||
<h2 id="org1730ecf"><span class="section-number-2">3</span> Range</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
<p>
|
||||
<code>qmckl_set_numprec_range</code> modifies the parameter for the numerical
|
||||
@ -561,8 +561,8 @@ range in a given context.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orge0da525" class="outline-2">
|
||||
<h2 id="orge0da525"><span class="section-number-2">4</span> Helper functions</h2>
|
||||
<div id="outline-container-org423c881" class="outline-2">
|
||||
<h2 id="org423c881"><span class="section-number-2">4</span> Helper functions</h2>
|
||||
<div class="outline-text-2" id="text-4">
|
||||
<p>
|
||||
<code>qmckl_get_numprec_epsilon</code> returns \(\epsilon = 2^{1-n}\) where <code>n</code> is the precision.
|
||||
@ -581,7 +581,7 @@ We need to remove the sign bit from the precision.
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-10-06 Wed 21:45</p>
|
||||
<p class="date">Created: 2021-10-10 Sun 14:25</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-10-06 Wed 21:45 -->
|
||||
<!-- 2021-10-10 Sun 14:26 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Sherman-Morrison-Woodbury</title>
|
||||
@ -333,86 +333,86 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#orgd826660">1. Headers</a></li>
|
||||
<li><a href="#orgbdd6a66">2. Naïve Sherman-Morrison</a>
|
||||
<li><a href="#orgc203fe5">1. Headers</a></li>
|
||||
<li><a href="#orgfc05d9f">2. Naïve Sherman-Morrison</a>
|
||||
<ul>
|
||||
<li><a href="#orgffe4acb">2.1. <code>qmckl_sherman_morrison</code></a>
|
||||
<li><a href="#orgb5c5f00">2.1. <code>qmckl_sherman_morrison</code></a>
|
||||
<ul>
|
||||
<li><a href="#org8eb7538">2.1.1. Requirements</a></li>
|
||||
<li><a href="#org891749a">2.1.2. C header</a></li>
|
||||
<li><a href="#org1b00087">2.1.3. Source</a></li>
|
||||
<li><a href="#org7a94d19">2.1.4. Performance</a></li>
|
||||
<li><a href="#org5118a50">2.1.1. Requirements</a></li>
|
||||
<li><a href="#org72d8a9f">2.1.2. C header</a></li>
|
||||
<li><a href="#org81cf666">2.1.3. C source</a></li>
|
||||
<li><a href="#orgff804c1">2.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org47036da">3. Woodbury 2x2</a>
|
||||
<li><a href="#org49ad855">3. Woodbury 2x2</a>
|
||||
<ul>
|
||||
<li><a href="#org0d81ad9">3.1. <code>qmckl_woodbury_2</code></a>
|
||||
<li><a href="#org188af8f">3.1. <code>qmckl_woodbury_2</code></a>
|
||||
<ul>
|
||||
<li><a href="#org9ff5f15">3.1.1. Requirements</a></li>
|
||||
<li><a href="#org7e75962">3.1.2. C header</a></li>
|
||||
<li><a href="#org77918e9">3.1.3. Source</a></li>
|
||||
<li><a href="#orgb3f5eca">3.1.4. Performance</a></li>
|
||||
<li><a href="#org2d251d6">3.1.1. Requirements</a></li>
|
||||
<li><a href="#orge3dc0c9">3.1.2. C header</a></li>
|
||||
<li><a href="#org72636ae">3.1.3. C source</a></li>
|
||||
<li><a href="#org1332309">3.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org676ed8f">4. Woodbury 3x3</a>
|
||||
<li><a href="#orgbec1085">4. Woodbury 3x3</a>
|
||||
<ul>
|
||||
<li><a href="#org044d266">4.1. <code>qmckl_woodbury_3</code></a>
|
||||
<li><a href="#org5e0216f">4.1. <code>qmckl_woodbury_3</code></a>
|
||||
<ul>
|
||||
<li><a href="#orgb783f08">4.1.1. Requirements</a></li>
|
||||
<li><a href="#org1f939dc">4.1.2. C header</a></li>
|
||||
<li><a href="#org535271d">4.1.3. Source</a></li>
|
||||
<li><a href="#org3a119cd">4.1.4. Performance…</a></li>
|
||||
<li><a href="#org7a52ee7">4.1.1. Requirements</a></li>
|
||||
<li><a href="#org089b2b2">4.1.2. C header</a></li>
|
||||
<li><a href="#org541648f">4.1.3. C source</a></li>
|
||||
<li><a href="#org4e11d89">4.1.4. Performance…</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgf610053">5. Sherman-Morrison with update splitting</a>
|
||||
<li><a href="#org8e25d6d">5. Sherman-Morrison with update splitting</a>
|
||||
<ul>
|
||||
<li><a href="#orgff5272c">5.1. <code>qmckl_sherman_morrison_splitting</code></a>
|
||||
<li><a href="#org5dda45e">5.1. <code>qmckl_sherman_morrison_splitting</code></a>
|
||||
<ul>
|
||||
<li><a href="#org9838bd9">5.1.1. Requirements</a></li>
|
||||
<li><a href="#org8685993">5.1.2. C header</a></li>
|
||||
<li><a href="#org82bb9ce">5.1.3. Source</a></li>
|
||||
<li><a href="#orgaa02825">5.1.4. Performance…</a></li>
|
||||
<li><a href="#org0562755">5.1.1. Requirements</a></li>
|
||||
<li><a href="#orgff1ff3f">5.1.2. C header</a></li>
|
||||
<li><a href="#org678caa3">5.1.3. C source</a></li>
|
||||
<li><a href="#orgfafdecf">5.1.4. Performance…</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org7383f14">6. Woodbury 3x3 and 2x2 with Sherman-Morrison and update splitting</a>
|
||||
<li><a href="#org719541d">6. Woodbury 3x3 and 2x2 with Sherman-Morrison and update splitting</a>
|
||||
<ul>
|
||||
<li><a href="#orgd06098d">6.1. <code>qmckl_sherman_morrison_smw32s</code></a>
|
||||
<li><a href="#org734cbbf">6.1. <code>qmckl_sherman_morrison_smw32s</code></a>
|
||||
<ul>
|
||||
<li><a href="#org6d25854">6.1.1. Requirements</a></li>
|
||||
<li><a href="#orga030aed">6.1.2. C header</a></li>
|
||||
<li><a href="#orgce63299">6.1.3. Source</a></li>
|
||||
<li><a href="#org4c94ccd">6.1.4. Performance…</a></li>
|
||||
<li><a href="#org4a2d0b6">6.1.1. Requirements</a></li>
|
||||
<li><a href="#orgd2e9726">6.1.2. C header</a></li>
|
||||
<li><a href="#org984ab64">6.1.3. C source</a></li>
|
||||
<li><a href="#org2ed3acd">6.1.4. Performance…</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org7509943">7. Helper Functions</a>
|
||||
<li><a href="#org4d8a9e1">7. Helper Functions</a>
|
||||
<ul>
|
||||
<li><a href="#orgdb3f261">7.1. <code>qmckl_slagel_splitting</code></a>
|
||||
<li><a href="#orgdf5d1c0">7.1. <code>qmckl_slagel_splitting</code></a>
|
||||
<ul>
|
||||
<li><a href="#org664ad01">7.1.1. Requirements</a></li>
|
||||
<li><a href="#orgae3ce28">7.1.2. C header</a></li>
|
||||
<li><a href="#orgcd57377">7.1.3. Source</a></li>
|
||||
<li><a href="#org68e24fd">7.1.4. Performance</a></li>
|
||||
<li><a href="#orge11ff1e">7.1.1. Requirements</a></li>
|
||||
<li><a href="#orgf93efb5">7.1.2. C header</a></li>
|
||||
<li><a href="#org3c24dd9">7.1.3. C source</a></li>
|
||||
<li><a href="#org4112123">7.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org7cd4638">8. End of files</a></li>
|
||||
<li><a href="#org67b2fb6">8. End of files</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd826660" class="outline-2">
|
||||
<h2 id="orgd826660"><span class="section-number-2">1</span> Headers</h2>
|
||||
<div id="outline-container-orgc203fe5" class="outline-2">
|
||||
<h2 id="orgc203fe5"><span class="section-number-2">1</span> Headers</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #483d8b;">#include</span> <span style="color: #8b2252;">"qmckl.h"</span>
|
||||
@ -425,19 +425,18 @@ for the JavaScript code in this tag.
|
||||
<span style="color: #228b22;">int</span> <span style="color: #0000ff;">main</span>() {
|
||||
<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>;
|
||||
context = qmckl_context_create();
|
||||
|
||||
<span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #a0522d;">rc</span>;
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgbdd6a66" class="outline-2">
|
||||
<h2 id="orgbdd6a66"><span class="section-number-2">2</span> Naïve Sherman-Morrison</h2>
|
||||
<div id="outline-container-orgfc05d9f" class="outline-2">
|
||||
<h2 id="orgfc05d9f"><span class="section-number-2">2</span> Naïve Sherman-Morrison</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-orgffe4acb" class="outline-3">
|
||||
<h3 id="orgffe4acb"><span class="section-number-3">2.1</span> <code>qmckl_sherman_morrison</code></h3>
|
||||
<div id="outline-container-orgb5c5f00" class="outline-3">
|
||||
<h3 id="orgb5c5f00"><span class="section-number-3">2.1</span> <code>qmckl_sherman_morrison</code></h3>
|
||||
<div class="outline-text-3" id="text-2-1">
|
||||
<p>
|
||||
This is the simplest of the available Sherman-Morrison-Woodbury kernels. It applies rank-1 updates one by one in
|
||||
@ -474,7 +473,7 @@ the update is applied as usual and the kernel exits with return code \texttt{QMC
|
||||
If \(1+v_j^TS^{-1}u_j \leq \epsilon\) the update is rejected and the kernel exits with return code \texttt{QMCKL_FAILURE}.
|
||||
</p>
|
||||
|
||||
<table id="org24e0629" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org3aca6b3" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -539,8 +538,8 @@ If \(1+v_j^TS^{-1}u_j \leq \epsilon\) the update is rejected and the kernel exit
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8eb7538" class="outline-4">
|
||||
<h4 id="org8eb7538"><span class="section-number-4">2.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org5118a50" class="outline-4">
|
||||
<h4 id="org5118a50"><span class="section-number-4">2.1.1</span> Requirements</h4>
|
||||
<div class="outline-text-4" id="text-2-1-1">
|
||||
<ul class="org-ul">
|
||||
<li><code>context</code> is not <code>QMCKL_NULL_CONTEXT</code></li>
|
||||
@ -554,8 +553,8 @@ If \(1+v_j^TS^{-1}u_j \leq \epsilon\) the update is rejected and the kernel exit
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org891749a" class="outline-4">
|
||||
<h4 id="org891749a"><span class="section-number-4">2.1.2</span> C header</h4>
|
||||
<div id="outline-container-org72d8a9f" class="outline-4">
|
||||
<h4 id="org72d8a9f"><span class="section-number-4">2.1.2</span> C header</h4>
|
||||
<div class="outline-text-4" id="text-2-1-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_sherman_morrison</span> (
|
||||
@ -571,30 +570,26 @@ If \(1+v_j^TS^{-1}u_j \leq \epsilon\) the update is rejected and the kernel exit
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1b00087" class="outline-4">
|
||||
<h4 id="org1b00087"><span class="section-number-4">2.1.3</span> Source</h4>
|
||||
<div id="outline-container-org81cf666" class="outline-4">
|
||||
<h4 id="org81cf666"><span class="section-number-4">2.1.3</span> C source</h4>
|
||||
<div class="outline-text-4" id="text-2-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #483d8b;">#include</span> <span style="color: #8b2252;"><stdbool.h></span>
|
||||
<span style="color: #483d8b;">#include</span> <span style="color: #8b2252;"><math.h></span>
|
||||
<span style="color: #483d8b;">#include</span> <span style="color: #8b2252;">"qmckl.h"</span>
|
||||
|
||||
<span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_sherman_morrison_c_</span>(<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span>* <span style="color: #a0522d;">Dim_p</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span>* <span style="color: #a0522d;">N_updates_p</span>,
|
||||
<span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_sherman_morrison</span>(<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">Dim</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">N_updates</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">Updates</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span>* <span style="color: #a0522d;">Updates_index</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">breakdown_p</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> <span style="color: #a0522d;">breakdown</span>,
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a0522d;">Slater_inv</span>) {
|
||||
|
||||
<span style="color: #a020f0;">if</span> (qmckl_context_check(context) == QMCKL_NULL_CONTEXT) {
|
||||
<span style="color: #a020f0;">return</span> QMCKL_NULL_CONTEXT;
|
||||
}
|
||||
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">Dim</span> = *Dim_p;
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">N_updates</span> = *N_updates_p;
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> <span style="color: #a0522d;">breakdown</span> = *breakdown_p;
|
||||
|
||||
<span style="color: #228b22;">double</span> <span style="color: #a0522d;">C</span>[Dim];
|
||||
<span style="color: #228b22;">double</span> <span style="color: #a0522d;">D</span>[Dim];
|
||||
|
||||
@ -639,8 +634,8 @@ If \(1+v_j^TS^{-1}u_j \leq \epsilon\) the update is rejected and the kernel exit
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7a94d19" class="outline-4">
|
||||
<h4 id="org7a94d19"><span class="section-number-4">2.1.4</span> Performance</h4>
|
||||
<div id="outline-container-orgff804c1" class="outline-4">
|
||||
<h4 id="orgff804c1"><span class="section-number-4">2.1.4</span> Performance</h4>
|
||||
<div class="outline-text-4" id="text-2-1-4">
|
||||
<p>
|
||||
This function performs best when there is only 1 rank-1 update in the update cycle. It is not useful to
|
||||
@ -652,12 +647,12 @@ where applying the update causes singular behaviour.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org47036da" class="outline-2">
|
||||
<h2 id="org47036da"><span class="section-number-2">3</span> Woodbury 2x2</h2>
|
||||
<div id="outline-container-org49ad855" class="outline-2">
|
||||
<h2 id="org49ad855"><span class="section-number-2">3</span> Woodbury 2x2</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
</div>
|
||||
<div id="outline-container-org0d81ad9" class="outline-3">
|
||||
<h3 id="org0d81ad9"><span class="section-number-3">3.1</span> <code>qmckl_woodbury_2</code></h3>
|
||||
<div id="outline-container-org188af8f" class="outline-3">
|
||||
<h3 id="org188af8f"><span class="section-number-3">3.1</span> <code>qmckl_woodbury_2</code></h3>
|
||||
<div class="outline-text-3" id="text-3-1">
|
||||
<p>
|
||||
The Woodbury 2x2 kernel. It is used to apply two rank-1 updates at once. The formula used in
|
||||
@ -675,7 +670,7 @@ where
|
||||
</p>
|
||||
|
||||
|
||||
<table id="orgb702aaf" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orga1244ee" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -733,8 +728,8 @@ where
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9ff5f15" class="outline-4">
|
||||
<h4 id="org9ff5f15"><span class="section-number-4">3.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org2d251d6" class="outline-4">
|
||||
<h4 id="org2d251d6"><span class="section-number-4">3.1.1</span> Requirements</h4>
|
||||
<div class="outline-text-4" id="text-3-1-1">
|
||||
<ul class="org-ul">
|
||||
<li><code>context</code> is not <code>qmckl_null_context</code></li>
|
||||
@ -747,8 +742,8 @@ where
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7e75962" class="outline-4">
|
||||
<h4 id="org7e75962"><span class="section-number-4">3.1.2</span> C header</h4>
|
||||
<div id="outline-container-orge3dc0c9" class="outline-4">
|
||||
<h4 id="orge3dc0c9"><span class="section-number-4">3.1.2</span> C header</h4>
|
||||
<div class="outline-text-4" id="text-3-1-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_woodbury_2</span> (
|
||||
@ -763,19 +758,19 @@ where
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org77918e9" class="outline-4">
|
||||
<h4 id="org77918e9"><span class="section-number-4">3.1.3</span> Source</h4>
|
||||
<div id="outline-container-org72636ae" class="outline-4">
|
||||
<h4 id="org72636ae"><span class="section-number-4">3.1.3</span> C source</h4>
|
||||
<div class="outline-text-4" id="text-3-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #483d8b;">#include</span> <span style="color: #8b2252;"><stdbool.h></span>
|
||||
<span style="color: #483d8b;">#include</span> <span style="color: #8b2252;"><math.h></span>
|
||||
<span style="color: #483d8b;">#include</span> <span style="color: #8b2252;">"qmckl.h"</span>
|
||||
|
||||
<span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_woodbury_2_c_</span>(<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span>* <span style="color: #a0522d;">Dim_p</span>,
|
||||
<span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_woodbury_2</span>(<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">Dim</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">Updates</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span>* <span style="color: #a0522d;">Updates_index</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">breakdown_p</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> <span style="color: #a0522d;">breakdown</span>,
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a0522d;">Slater_inv</span>) {
|
||||
/*
|
||||
<span style="color: #b22222;"> C := S^{-1} * U, dim x 2</span>
|
||||
@ -787,9 +782,6 @@ where
|
||||
<span style="color: #a020f0;">return</span> QMCKL_NULL_CONTEXT;
|
||||
}
|
||||
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">Dim</span> = *Dim_p;
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> <span style="color: #a0522d;">breakdown</span> = *breakdown_p;
|
||||
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">row1</span> = (Updates_index[0] - 1);
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">row2</span> = (Updates_index[1] - 1);
|
||||
|
||||
@ -848,8 +840,8 @@ where
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb3f5eca" class="outline-4">
|
||||
<h4 id="orgb3f5eca"><span class="section-number-4">3.1.4</span> Performance</h4>
|
||||
<div id="outline-container-org1332309" class="outline-4">
|
||||
<h4 id="org1332309"><span class="section-number-4">3.1.4</span> Performance</h4>
|
||||
<div class="outline-text-4" id="text-3-1-4">
|
||||
<p>
|
||||
This function is most efficient when used in cases where there are only 2 rank-1 updates and
|
||||
@ -860,12 +852,12 @@ it is sure they will not result in a singular matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org676ed8f" class="outline-2">
|
||||
<h2 id="org676ed8f"><span class="section-number-2">4</span> Woodbury 3x3</h2>
|
||||
<div id="outline-container-orgbec1085" class="outline-2">
|
||||
<h2 id="orgbec1085"><span class="section-number-2">4</span> Woodbury 3x3</h2>
|
||||
<div class="outline-text-2" id="text-4">
|
||||
</div>
|
||||
<div id="outline-container-org044d266" class="outline-3">
|
||||
<h3 id="org044d266"><span class="section-number-3">4.1</span> <code>qmckl_woodbury_3</code></h3>
|
||||
<div id="outline-container-org5e0216f" class="outline-3">
|
||||
<h3 id="org5e0216f"><span class="section-number-3">4.1</span> <code>qmckl_woodbury_3</code></h3>
|
||||
<div class="outline-text-3" id="text-4-1">
|
||||
<p>
|
||||
The 3x3 version of the Woodbury 2x2 kernel. It is used to apply three
|
||||
@ -879,7 +871,7 @@ except for the sizes of the following matrices:
|
||||
\(D := VS^{-1}\), a \(3 \times Dim\) matrix
|
||||
</p>
|
||||
|
||||
<table id="orga626034" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org3106b15" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -937,8 +929,8 @@ except for the sizes of the following matrices:
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb783f08" class="outline-4">
|
||||
<h4 id="orgb783f08"><span class="section-number-4">4.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org7a52ee7" class="outline-4">
|
||||
<h4 id="org7a52ee7"><span class="section-number-4">4.1.1</span> Requirements</h4>
|
||||
<div class="outline-text-4" id="text-4-1-1">
|
||||
<ul class="org-ul">
|
||||
<li><code>context</code> is not <code>qmckl_null_context</code></li>
|
||||
@ -951,8 +943,8 @@ except for the sizes of the following matrices:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1f939dc" class="outline-4">
|
||||
<h4 id="org1f939dc"><span class="section-number-4">4.1.2</span> C header</h4>
|
||||
<div id="outline-container-org089b2b2" class="outline-4">
|
||||
<h4 id="org089b2b2"><span class="section-number-4">4.1.2</span> C header</h4>
|
||||
<div class="outline-text-4" id="text-4-1-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_woodbury_3</span> (
|
||||
@ -967,19 +959,19 @@ except for the sizes of the following matrices:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org535271d" class="outline-4">
|
||||
<h4 id="org535271d"><span class="section-number-4">4.1.3</span> Source</h4>
|
||||
<div id="outline-container-org541648f" class="outline-4">
|
||||
<h4 id="org541648f"><span class="section-number-4">4.1.3</span> C source</h4>
|
||||
<div class="outline-text-4" id="text-4-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #483d8b;">#include</span> <span style="color: #8b2252;"><stdbool.h></span>
|
||||
<span style="color: #483d8b;">#include</span> <span style="color: #8b2252;"><math.h></span>
|
||||
<span style="color: #483d8b;">#include</span> <span style="color: #8b2252;">"qmckl.h"</span>
|
||||
|
||||
<span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_woodbury_3_c_</span>(<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span>* <span style="color: #a0522d;">Dim_p</span>,
|
||||
<span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_woodbury_3</span>(<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">Dim</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">Updates</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span>* <span style="color: #a0522d;">Updates_index</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">breakdown_p</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> <span style="color: #a0522d;">breakdown</span>,
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a0522d;">Slater_inv</span>) {
|
||||
/*
|
||||
<span style="color: #b22222;"> C := S^{-1} * U, dim x 3</span>
|
||||
@ -991,9 +983,6 @@ except for the sizes of the following matrices:
|
||||
<span style="color: #a020f0;">return</span> QMCKL_NULL_CONTEXT;
|
||||
}
|
||||
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">Dim</span> = *Dim_p;
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> <span style="color: #a0522d;">breakdown</span> = *breakdown_p;
|
||||
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">row1</span> = (Updates_index[0] - 1);
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">row2</span> = (Updates_index[1] - 1);
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">row3</span> = (Updates_index[2] - 1);
|
||||
@ -1067,8 +1056,8 @@ except for the sizes of the following matrices:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3a119cd" class="outline-4">
|
||||
<h4 id="org3a119cd"><span class="section-number-4">4.1.4</span> Performance…</h4>
|
||||
<div id="outline-container-org4e11d89" class="outline-4">
|
||||
<h4 id="org4e11d89"><span class="section-number-4">4.1.4</span> Performance…</h4>
|
||||
<div class="outline-text-4" id="text-4-1-4">
|
||||
<p>
|
||||
This function is most efficient when used in cases where there are only 3 rank-1 updates and
|
||||
@ -1079,12 +1068,12 @@ it is sure they will not result in a singular matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf610053" class="outline-2">
|
||||
<h2 id="orgf610053"><span class="section-number-2">5</span> Sherman-Morrison with update splitting</h2>
|
||||
<div id="outline-container-org8e25d6d" class="outline-2">
|
||||
<h2 id="org8e25d6d"><span class="section-number-2">5</span> Sherman-Morrison with update splitting</h2>
|
||||
<div class="outline-text-2" id="text-5">
|
||||
</div>
|
||||
<div id="outline-container-orgff5272c" class="outline-3">
|
||||
<h3 id="orgff5272c"><span class="section-number-3">5.1</span> <code>qmckl_sherman_morrison_splitting</code></h3>
|
||||
<div id="outline-container-org5dda45e" class="outline-3">
|
||||
<h3 id="org5dda45e"><span class="section-number-3">5.1</span> <code>qmckl_sherman_morrison_splitting</code></h3>
|
||||
<div class="outline-text-3" id="text-5-1">
|
||||
<p>
|
||||
This is a variation on the 'Naive' Sherman-Morrison kernel. Whenever the denominator \(1+v_j^T S^{-1} u_j\) in
|
||||
@ -1101,7 +1090,7 @@ case the Slater-matrix that would have resulted from applying the updates is sin
|
||||
kernel exits with an exit code.
|
||||
</p>
|
||||
|
||||
<table id="org58a5855" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgdbe8d16" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1166,8 +1155,8 @@ kernel exits with an exit code.
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9838bd9" class="outline-4">
|
||||
<h4 id="org9838bd9"><span class="section-number-4">5.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org0562755" class="outline-4">
|
||||
<h4 id="org0562755"><span class="section-number-4">5.1.1</span> Requirements</h4>
|
||||
<div class="outline-text-4" id="text-5-1-1">
|
||||
<ul class="org-ul">
|
||||
<li><code>context</code> is not <code>QMCKL_NULL_CONTEXT</code></li>
|
||||
@ -1181,8 +1170,8 @@ kernel exits with an exit code.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8685993" class="outline-4">
|
||||
<h4 id="org8685993"><span class="section-number-4">5.1.2</span> C header</h4>
|
||||
<div id="outline-container-orgff1ff3f" class="outline-4">
|
||||
<h4 id="orgff1ff3f"><span class="section-number-4">5.1.2</span> C header</h4>
|
||||
<div class="outline-text-4" id="text-5-1-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_sherman_morrison_splitting</span> (
|
||||
@ -1198,34 +1187,34 @@ kernel exits with an exit code.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org82bb9ce" class="outline-4">
|
||||
<h4 id="org82bb9ce"><span class="section-number-4">5.1.3</span> Source</h4>
|
||||
<div id="outline-container-org678caa3" class="outline-4">
|
||||
<h4 id="org678caa3"><span class="section-number-4">5.1.3</span> C source</h4>
|
||||
<div class="outline-text-4" id="text-5-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #483d8b;">#include</span> <span style="color: #8b2252;"><stdbool.h></span>
|
||||
<span style="color: #483d8b;">#include</span> <span style="color: #8b2252;">"qmckl.h"</span>
|
||||
|
||||
<span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_sherman_morrison_splitting_c_</span>(<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span>* <span style="color: #a0522d;">Dim</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span>* <span style="color: #a0522d;">N_updates</span>,
|
||||
<span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_sherman_morrison_splitting</span>(<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">Dim</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">N_updates</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">Updates</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span>* <span style="color: #a0522d;">Updates_index</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">breakdown</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> <span style="color: #a0522d;">breakdown</span>,
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a0522d;">Slater_inv</span>) {
|
||||
|
||||
<span style="color: #a020f0;">if</span> (qmckl_context_check(context) == QMCKL_NULL_CONTEXT) {
|
||||
<span style="color: #a020f0;">return</span> QMCKL_NULL_CONTEXT;
|
||||
}
|
||||
|
||||
<span style="color: #228b22;">double</span> <span style="color: #a0522d;">later_updates</span>[*Dim * *N_updates];
|
||||
<span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">later_index</span>[*N_updates];
|
||||
<span style="color: #228b22;">double</span> <span style="color: #a0522d;">later_updates</span>[Dim * N_updates];
|
||||
<span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">later_index</span>[N_updates];
|
||||
<span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">later</span> = 0;
|
||||
|
||||
(<span style="color: #228b22;">void</span>) qmckl_slagel_splitting_c(*Dim, *N_updates, Updates, Updates_index,
|
||||
*breakdown, Slater_inv, later_updates, later_index, &later);
|
||||
(<span style="color: #228b22;">void</span>) qmckl_slagel_splitting(Dim, N_updates, Updates, Updates_index,
|
||||
breakdown, Slater_inv, later_updates, later_index, &later);
|
||||
|
||||
<span style="color: #a020f0;">if</span> (later > 0) {
|
||||
(<span style="color: #228b22;">void</span>) qmckl_sherman_morrison_splitting_c_(context, Dim, &later,
|
||||
(<span style="color: #228b22;">void</span>) qmckl_sherman_morrison_splitting(context, Dim, later,
|
||||
later_updates, later_index, breakdown, Slater_inv);
|
||||
}
|
||||
|
||||
@ -1237,8 +1226,8 @@ kernel exits with an exit code.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgaa02825" class="outline-4">
|
||||
<h4 id="orgaa02825"><span class="section-number-4">5.1.4</span> Performance…</h4>
|
||||
<div id="outline-container-orgfafdecf" class="outline-4">
|
||||
<h4 id="orgfafdecf"><span class="section-number-4">5.1.4</span> Performance…</h4>
|
||||
<div class="outline-text-4" id="text-5-1-4">
|
||||
<p>
|
||||
This kernel performs best when there are 2 or more rank-1 update cycles and fail-rate is high.
|
||||
@ -1248,12 +1237,12 @@ This kernel performs best when there are 2 or more rank-1 update cycles and fail
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7383f14" class="outline-2">
|
||||
<h2 id="org7383f14"><span class="section-number-2">6</span> Woodbury 3x3 and 2x2 with Sherman-Morrison and update splitting</h2>
|
||||
<div id="outline-container-org719541d" class="outline-2">
|
||||
<h2 id="org719541d"><span class="section-number-2">6</span> Woodbury 3x3 and 2x2 with Sherman-Morrison and update splitting</h2>
|
||||
<div class="outline-text-2" id="text-6">
|
||||
</div>
|
||||
<div id="outline-container-orgd06098d" class="outline-3">
|
||||
<h3 id="orgd06098d"><span class="section-number-3">6.1</span> <code>qmckl_sherman_morrison_smw32s</code></h3>
|
||||
<div id="outline-container-org734cbbf" class="outline-3">
|
||||
<h3 id="org734cbbf"><span class="section-number-3">6.1</span> <code>qmckl_sherman_morrison_smw32s</code></h3>
|
||||
<div class="outline-text-3" id="text-6-1">
|
||||
<p>
|
||||
The Woodbury 3x3 and 2x2 kernel with Sherman-Morrison and update splitting combines the low-level Woodbury 3x3 kernel,
|
||||
@ -1263,7 +1252,7 @@ with Woodbury 2x2 instead of sending them all to Sherman-Morrison with update sp
|
||||
5 updates the updates are applied in 1 block of 3 updates end 1 block of 2 updates.
|
||||
</p>
|
||||
|
||||
<table id="org0adc958" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org707bb25" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1328,8 +1317,8 @@ with Woodbury 2x2 instead of sending them all to Sherman-Morrison with update sp
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6d25854" class="outline-4">
|
||||
<h4 id="org6d25854"><span class="section-number-4">6.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org4a2d0b6" class="outline-4">
|
||||
<h4 id="org4a2d0b6"><span class="section-number-4">6.1.1</span> Requirements</h4>
|
||||
<div class="outline-text-4" id="text-6-1-1">
|
||||
<ul class="org-ul">
|
||||
<li><code>context</code> is not <code>QMCKL_NULL_CONTEXT</code></li>
|
||||
@ -1343,8 +1332,8 @@ with Woodbury 2x2 instead of sending them all to Sherman-Morrison with update sp
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga030aed" class="outline-4">
|
||||
<h4 id="orga030aed"><span class="section-number-4">6.1.2</span> C header</h4>
|
||||
<div id="outline-container-orgd2e9726" class="outline-4">
|
||||
<h4 id="orgd2e9726"><span class="section-number-4">6.1.2</span> C header</h4>
|
||||
<div class="outline-text-4" id="text-6-1-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_sherman_morrison_smw32s</span> (
|
||||
@ -1360,29 +1349,25 @@ with Woodbury 2x2 instead of sending them all to Sherman-Morrison with update sp
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgce63299" class="outline-4">
|
||||
<h4 id="orgce63299"><span class="section-number-4">6.1.3</span> Source</h4>
|
||||
<div id="outline-container-org984ab64" class="outline-4">
|
||||
<h4 id="org984ab64"><span class="section-number-4">6.1.3</span> C source</h4>
|
||||
<div class="outline-text-4" id="text-6-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #483d8b;">#include</span> <span style="color: #8b2252;"><stdbool.h></span>
|
||||
<span style="color: #483d8b;">#include</span> <span style="color: #8b2252;">"qmckl.h"</span>
|
||||
|
||||
<span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_sherman_morrison_smw32s_c_</span>(<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span>* <span style="color: #a0522d;">Dim_p</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span>* <span style="color: #a0522d;">N_updates_p</span>,
|
||||
<span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_sherman_morrison_smw32s</span>(<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">Dim</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">N_updates</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">Updates</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span>* <span style="color: #a0522d;">Updates_index</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">breakdown_p</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> <span style="color: #a0522d;">breakdown</span>,
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a0522d;">Slater_inv</span>) {
|
||||
|
||||
<span style="color: #a020f0;">if</span> (qmckl_context_check(context) == QMCKL_NULL_CONTEXT) {
|
||||
<span style="color: #a020f0;">return</span> QMCKL_NULL_CONTEXT;
|
||||
}
|
||||
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">Dim</span> = *Dim_p;
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">N_updates</span> = *N_updates_p;
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> <span style="color: #a0522d;">breakdown</span> = *breakdown_p;
|
||||
|
||||
<span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #a0522d;">rc</span>;
|
||||
|
||||
<span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">n_of_3blocks</span> = N_updates / 3;
|
||||
@ -1398,10 +1383,10 @@ with Woodbury 2x2 instead of sending them all to Sherman-Morrison with update sp
|
||||
<span style="color: #a020f0;">for</span> (<span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">i</span> = 0; i < n_of_3blocks; i++) {
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> *<span style="color: #a0522d;">Updates_3block</span> = &Updates[i * length_3block];
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> *<span style="color: #a0522d;">Updates_index_3block</span> = &Updates_index[i * 3];
|
||||
rc = qmckl_woodbury_3_c_(context, &Dim, Updates_3block, Updates_index_3block, &breakdown, Slater_inv);
|
||||
rc = qmckl_woodbury_3(context, Dim, Updates_3block, Updates_index_3block, breakdown, Slater_inv);
|
||||
<span style="color: #a020f0;">if</span> (rc != 0) { // <span style="color: #b22222;">Send the entire block to slagel_splitting</span>
|
||||
<span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">l</span> = 0;
|
||||
rc = qmckl_slagel_splitting_c(Dim, 3, Updates_3block, Updates_index_3block,
|
||||
rc = qmckl_slagel_splitting(Dim, 3, Updates_3block, Updates_index_3block,
|
||||
breakdown, Slater_inv, later_updates + (Dim * later), later_index + later, &l);
|
||||
later = later + l;
|
||||
}
|
||||
@ -1412,10 +1397,10 @@ with Woodbury 2x2 instead of sending them all to Sherman-Morrison with update sp
|
||||
<span style="color: #a020f0;">if</span> (remainder == 2) {
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> *<span style="color: #a0522d;">Updates_2block</span> = &Updates[n_of_3blocks * length_3block];
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> *<span style="color: #a0522d;">Updates_index_2block</span> = &Updates_index[3 * n_of_3blocks];
|
||||
rc = qmckl_woodbury_2_c_(context, &Dim, Updates_2block, Updates_index_2block, &breakdown, Slater_inv);
|
||||
rc = qmckl_woodbury_2(context, Dim, Updates_2block, Updates_index_2block, breakdown, Slater_inv);
|
||||
<span style="color: #a020f0;">if</span> (rc != 0) { // <span style="color: #b22222;">Send the entire block to slagel_splitting</span>
|
||||
<span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">l</span> = 0;
|
||||
(<span style="color: #228b22;">void</span>) qmckl_slagel_splitting_c(Dim, 2, Updates_2block, Updates_index_2block,
|
||||
(<span style="color: #228b22;">void</span>) qmckl_slagel_splitting(Dim, 2, Updates_2block, Updates_index_2block,
|
||||
breakdown, Slater_inv, later_updates + (Dim * later), later_index + later, &l);
|
||||
later = later + l;
|
||||
}
|
||||
@ -1425,13 +1410,13 @@ with Woodbury 2x2 instead of sending them all to Sherman-Morrison with update sp
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> *<span style="color: #a0522d;">Updates_1block</span> = &Updates[n_of_3blocks * length_3block];
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> *<span style="color: #a0522d;">Updates_index_1block</span> = &Updates_index[3 * n_of_3blocks];
|
||||
<span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">l</span> = 0;
|
||||
(<span style="color: #228b22;">void</span>) qmckl_slagel_splitting_c(Dim, 1, Updates_1block, Updates_index_1block,
|
||||
(<span style="color: #228b22;">void</span>) qmckl_slagel_splitting(Dim, 1, Updates_1block, Updates_index_1block,
|
||||
breakdown, Slater_inv, later_updates + (Dim * later), later_index + later, &l);
|
||||
later = later + l;
|
||||
}
|
||||
|
||||
<span style="color: #a020f0;">if</span> (later > 0) {
|
||||
(<span style="color: #228b22;">void</span>) qmckl_sherman_morrison_splitting_c_(context, &Dim, &later, later_updates, later_index, &breakdown, Slater_inv);
|
||||
(<span style="color: #228b22;">void</span>) qmckl_sherman_morrison_splitting(context, Dim, later, later_updates, later_index, breakdown, Slater_inv);
|
||||
}
|
||||
<span style="color: #a020f0;">return</span> QMCKL_SUCCESS;
|
||||
}
|
||||
@ -1441,8 +1426,8 @@ with Woodbury 2x2 instead of sending them all to Sherman-Morrison with update sp
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4c94ccd" class="outline-4">
|
||||
<h4 id="org4c94ccd"><span class="section-number-4">6.1.4</span> Performance…</h4>
|
||||
<div id="outline-container-org2ed3acd" class="outline-4">
|
||||
<h4 id="org2ed3acd"><span class="section-number-4">6.1.4</span> Performance…</h4>
|
||||
<div class="outline-text-4" id="text-6-1-4">
|
||||
<p>
|
||||
This kernel performs best for update cycles with 2 or more rank-1 updates and the fail-rate is low.
|
||||
@ -1452,8 +1437,8 @@ This kernel performs best for update cycles with 2 or more rank-1 updates and th
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7509943" class="outline-2">
|
||||
<h2 id="org7509943"><span class="section-number-2">7</span> Helper Functions</h2>
|
||||
<div id="outline-container-org4d8a9e1" class="outline-2">
|
||||
<h2 id="org4d8a9e1"><span class="section-number-2">7</span> Helper Functions</h2>
|
||||
<div class="outline-text-2" id="text-7">
|
||||
<p>
|
||||
Private helper-functions that are used by the Sherman-Morrison-Woodbury kernels.
|
||||
@ -1461,8 +1446,8 @@ These functions can only be used internally by the kernels in this module.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgdb3f261" class="outline-3">
|
||||
<h3 id="orgdb3f261"><span class="section-number-3">7.1</span> <code>qmckl_slagel_splitting</code></h3>
|
||||
<div id="outline-container-orgdf5d1c0" class="outline-3">
|
||||
<h3 id="orgdf5d1c0"><span class="section-number-3">7.1</span> <code>qmckl_slagel_splitting</code></h3>
|
||||
<div class="outline-text-3" id="text-7-1">
|
||||
<p>
|
||||
<code>qmckl_slagel_splitting</code> is the non-recursive, inner part of the 'Sherman-Morrison with update splitting'-kernel.
|
||||
@ -1477,7 +1462,7 @@ as \(\frac{1}{2}u_j\). One half is applied immediately, the other half will be a
|
||||
\(u_{j'}=\frac{1}{2}u_j\) and \(v_{j'}^T=v_{j}^T\), which are stored in the array \texttt{later_updates}.
|
||||
</p>
|
||||
|
||||
<table id="org610664d" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org54d70be" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1557,8 +1542,8 @@ as \(\frac{1}{2}u_j\). One half is applied immediately, the other half will be a
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org664ad01" class="outline-4">
|
||||
<h4 id="org664ad01"><span class="section-number-4">7.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-orge11ff1e" class="outline-4">
|
||||
<h4 id="orge11ff1e"><span class="section-number-4">7.1.1</span> Requirements</h4>
|
||||
<div class="outline-text-4" id="text-7-1-1">
|
||||
<ul class="org-ul">
|
||||
<li><code>Dim >= 2</code></li>
|
||||
@ -1574,8 +1559,8 @@ as \(\frac{1}{2}u_j\). One half is applied immediately, the other half will be a
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgae3ce28" class="outline-4">
|
||||
<h4 id="orgae3ce28"><span class="section-number-4">7.1.2</span> C header</h4>
|
||||
<div id="outline-container-orgf93efb5" class="outline-4">
|
||||
<h4 id="orgf93efb5"><span class="section-number-4">7.1.2</span> C header</h4>
|
||||
<div class="outline-text-4" id="text-7-1-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">double</span> <span style="color: #0000ff;">qmckl_slagel_splitting</span> (
|
||||
@ -1593,15 +1578,15 @@ as \(\frac{1}{2}u_j\). One half is applied immediately, the other half will be a
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgcd57377" class="outline-4">
|
||||
<h4 id="orgcd57377"><span class="section-number-4">7.1.3</span> Source</h4>
|
||||
<div id="outline-container-org3c24dd9" class="outline-4">
|
||||
<h4 id="org3c24dd9"><span class="section-number-4">7.1.3</span> C source</h4>
|
||||
<div class="outline-text-4" id="text-7-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #483d8b;">#include</span> <span style="color: #8b2252;"><stdbool.h></span>
|
||||
<span style="color: #483d8b;">#include</span> <span style="color: #8b2252;"><math.h></span>
|
||||
<span style="color: #483d8b;">#include</span> <span style="color: #8b2252;">"qmckl.h"</span>
|
||||
|
||||
<span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_slagel_splitting_c</span>(<span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">Dim</span>,
|
||||
<span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_slagel_splitting</span>(<span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">Dim</span>,
|
||||
<span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">N_updates</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> *<span style="color: #a0522d;">Updates</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> *<span style="color: #a0522d;">Updates_index</span>,
|
||||
@ -1667,8 +1652,8 @@ as \(\frac{1}{2}u_j\). One half is applied immediately, the other half will be a
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org68e24fd" class="outline-4">
|
||||
<h4 id="org68e24fd"><span class="section-number-4">7.1.4</span> Performance</h4>
|
||||
<div id="outline-container-org4112123" class="outline-4">
|
||||
<h4 id="org4112123"><span class="section-number-4">7.1.4</span> Performance</h4>
|
||||
<div class="outline-text-4" id="text-7-1-4">
|
||||
<p>
|
||||
This function cannot be used by itself and is used in Sherman-Morrison with update splitting and Woodbury 3x3 and 2x2
|
||||
@ -1679,8 +1664,8 @@ with Sherman-Morrison and update splitting. Please look at the performance recco
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7cd4638" class="outline-2">
|
||||
<h2 id="org7cd4638"><span class="section-number-2">8</span> End of files</h2>
|
||||
<div id="outline-container-org67b2fb6" class="outline-2">
|
||||
<h2 id="org67b2fb6"><span class="section-number-2">8</span> End of files</h2>
|
||||
<div class="outline-text-2" id="text-8">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"> <span style="color: #0000ff;">assert</span> (<span style="color: #228b22;">qmckl_context_destroy</span>(<span style="color: #a0522d;">context</span>) == QMCKL_SUCCESS);
|
||||
@ -1694,7 +1679,7 @@ with Sherman-Morrison and update splitting. Please look at the performance recco
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-10-06 Wed 21:45</p>
|
||||
<p class="date">Created: 2021-10-10 Sun 14:26</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-10-06 Wed 21:45 -->
|
||||
<!-- 2021-10-10 Sun 14:26 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Data for Tests</title>
|
||||
@ -233,27 +233,27 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#org5101ed7">1. CHBrClF</a>
|
||||
<li><a href="#orgbbcb795">1. CHBrClF</a>
|
||||
<ul>
|
||||
<li><a href="#org2321b7a">1.1. XYZ coordinates</a></li>
|
||||
<li><a href="#orgb329cdb">1.2. Atomic basis set</a></li>
|
||||
<li><a href="#org5e989a6">1.3. Molecular orbitals</a></li>
|
||||
<li><a href="#orgadfec6b">1.4. Electron coordinates</a></li>
|
||||
<li><a href="#orgbc6c100">1.1. XYZ coordinates</a></li>
|
||||
<li><a href="#org6de07e0">1.2. Atomic basis set</a></li>
|
||||
<li><a href="#orgaac0e7e">1.3. Molecular orbitals</a></li>
|
||||
<li><a href="#org266ac9f">1.4. Electron coordinates</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org81719dd">2. N2</a>
|
||||
<li><a href="#org5d33a5c">2. N2</a>
|
||||
<ul>
|
||||
<li><a href="#org495017f">2.1. XYZ coordinates</a></li>
|
||||
<li><a href="#org1bc923c">2.2. Electron coordinates</a></li>
|
||||
<li><a href="#orgd25232c">2.3. Jastrow related data</a></li>
|
||||
<li><a href="#org5b9e2ac">2.1. XYZ coordinates</a></li>
|
||||
<li><a href="#org6103bc2">2.2. Electron coordinates</a></li>
|
||||
<li><a href="#orgdc0c14a">2.3. Jastrow related data</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5101ed7" class="outline-2">
|
||||
<h2 id="org5101ed7"><span class="section-number-2">1</span> CHBrClF</h2>
|
||||
<div id="outline-container-orgbbcb795" class="outline-2">
|
||||
<h2 id="orgbbcb795"><span class="section-number-2">1</span> CHBrClF</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
This test is the all-electron Hartree-Fock wave function of CHClBr,
|
||||
@ -337,8 +337,8 @@ and with a high maximum angular momentum.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org2321b7a" class="outline-3">
|
||||
<h3 id="org2321b7a"><span class="section-number-3">1.1</span> XYZ coordinates</h3>
|
||||
<div id="outline-container-orgbc6c100" class="outline-3">
|
||||
<h3 id="orgbc6c100"><span class="section-number-3">1.1</span> XYZ coordinates</h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<pre class="example">
|
||||
5
|
||||
@ -368,8 +368,8 @@ Nuclear coordinates are stored in atomic units in transposed format.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb329cdb" class="outline-3">
|
||||
<h3 id="orgb329cdb"><span class="section-number-3">1.2</span> Atomic basis set</h3>
|
||||
<div id="outline-container-org6de07e0" class="outline-3">
|
||||
<h3 id="org6de07e0"><span class="section-number-3">1.2</span> Atomic basis set</h3>
|
||||
<div class="outline-text-3" id="text-1-2">
|
||||
<pre class="example">
|
||||
HYDROGEN
|
||||
@ -1288,8 +1288,8 @@ F 1
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5e989a6" class="outline-3">
|
||||
<h3 id="org5e989a6"><span class="section-number-3">1.3</span> Molecular orbitals</h3>
|
||||
<div id="outline-container-orgaac0e7e" class="outline-3">
|
||||
<h3 id="orgaac0e7e"><span class="section-number-3">1.3</span> Molecular orbitals</h3>
|
||||
<div class="outline-text-3" id="text-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #483d8b;">#define</span> <span style="color: #a0522d;">chbrclf_mo_num</span> ((<span style="color: #228b22;">int64_t</span>) 224)
|
||||
@ -60213,8 +60213,8 @@ F 1
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgadfec6b" class="outline-3">
|
||||
<h3 id="orgadfec6b"><span class="section-number-3">1.4</span> Electron coordinates</h3>
|
||||
<div id="outline-container-org266ac9f" class="outline-3">
|
||||
<h3 id="org266ac9f"><span class="section-number-3">1.4</span> Electron coordinates</h3>
|
||||
<div class="outline-text-3" id="text-1-4">
|
||||
<p>
|
||||
Electron coordinates are stored in atomic units in normal format.
|
||||
@ -60374,8 +60374,8 @@ Electron coordinates are stored in atomic units in normal format.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org81719dd" class="outline-2">
|
||||
<h2 id="org81719dd"><span class="section-number-2">2</span> N2</h2>
|
||||
<div id="outline-container-org5d33a5c" class="outline-2">
|
||||
<h2 id="org5d33a5c"><span class="section-number-2">2</span> N2</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
<p>
|
||||
This test is mainly for the Jastrow factor and was supplied by
|
||||
@ -60416,8 +60416,8 @@ treated by pseudopotentials thus excluded from the actual calculation.
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org495017f" class="outline-3">
|
||||
<h3 id="org495017f"><span class="section-number-3">2.1</span> XYZ coordinates</h3>
|
||||
<div id="outline-container-org5b9e2ac" class="outline-3">
|
||||
<h3 id="org5b9e2ac"><span class="section-number-3">2.1</span> XYZ coordinates</h3>
|
||||
<div class="outline-text-3" id="text-2-1">
|
||||
<pre class="example">
|
||||
2
|
||||
@ -60444,8 +60444,8 @@ Nuclear coordinates are stored in atomic units in transposed format.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1bc923c" class="outline-3">
|
||||
<h3 id="org1bc923c"><span class="section-number-3">2.2</span> Electron coordinates</h3>
|
||||
<div id="outline-container-org6103bc2" class="outline-3">
|
||||
<h3 id="org6103bc2"><span class="section-number-3">2.2</span> Electron coordinates</h3>
|
||||
<div class="outline-text-3" id="text-2-2">
|
||||
<p>
|
||||
Electron coordinates are stored in atomic units in normal format.
|
||||
@ -60474,8 +60474,8 @@ Electron coordinates are stored in atomic units in normal format.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd25232c" class="outline-3">
|
||||
<h3 id="orgd25232c"><span class="section-number-3">2.3</span> Jastrow related data</h3>
|
||||
<div id="outline-container-orgdc0c14a" class="outline-3">
|
||||
<h3 id="orgdc0c14a"><span class="section-number-3">2.3</span> Jastrow related data</h3>
|
||||
<div class="outline-text-3" id="text-2-3">
|
||||
<p>
|
||||
This test is mainly for the Jastrow factor and was supplied by
|
||||
@ -60574,7 +60574,7 @@ Ramon Panades Baruetta.
|
||||
</div>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="date">Created: 2021-10-06 Wed 21:45</p>
|
||||
<p class="date">Created: 2021-10-10 Sun 14:26</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-10-06 Wed 21:45 -->
|
||||
<!-- 2021-10-10 Sun 14:25 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Utility functions</title>
|
||||
@ -333,13 +333,13 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#org05de29b">1. Matrix operations</a>
|
||||
<li><a href="#orgcb29b90">1. Matrix operations</a>
|
||||
<ul>
|
||||
<li><a href="#orgd768fd9">1.1. <code>qmckl_transpose</code></a>
|
||||
<li><a href="#org1668f29">1.1. <code>qmckl_transpose</code></a>
|
||||
<ul>
|
||||
<li><a href="#org3207e0c">1.1.1. Requirements</a></li>
|
||||
<li><a href="#org2c17947">1.1.2. C header</a></li>
|
||||
<li><a href="#org24cdb3d">1.1.3. Source</a></li>
|
||||
<li><a href="#org581d421">1.1.1. Requirements</a></li>
|
||||
<li><a href="#orge105e61">1.1.2. C header</a></li>
|
||||
<li><a href="#org6deb834">1.1.3. Source</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@ -348,18 +348,18 @@ for the JavaScript code in this tag.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org05de29b" class="outline-2">
|
||||
<h2 id="org05de29b"><span class="section-number-2">1</span> Matrix operations</h2>
|
||||
<div id="outline-container-orgcb29b90" class="outline-2">
|
||||
<h2 id="orgcb29b90"><span class="section-number-2">1</span> Matrix operations</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
</div>
|
||||
<div id="outline-container-orgd768fd9" class="outline-3">
|
||||
<h3 id="orgd768fd9"><span class="section-number-3">1.1</span> <code>qmckl_transpose</code></h3>
|
||||
<div id="outline-container-org1668f29" class="outline-3">
|
||||
<h3 id="org1668f29"><span class="section-number-3">1.1</span> <code>qmckl_transpose</code></h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<p>
|
||||
Transposes a matrix: \(B_{ji} = A_{ij}\)
|
||||
</p>
|
||||
|
||||
<table id="orgb347a0d" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgda8eb56" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -424,8 +424,8 @@ Transposes a matrix: \(B_{ji} = A_{ij}\)
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3207e0c" class="outline-4">
|
||||
<h4 id="org3207e0c"><span class="section-number-4">1.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org581d421" class="outline-4">
|
||||
<h4 id="org581d421"><span class="section-number-4">1.1.1</span> Requirements</h4>
|
||||
<div class="outline-text-4" id="text-1-1-1">
|
||||
<ul class="org-ul">
|
||||
<li><code>context</code> is not <code>QMCKL_NULL_CONTEXT</code></li>
|
||||
@ -439,8 +439,8 @@ Transposes a matrix: \(B_{ji} = A_{ij}\)
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2c17947" class="outline-4">
|
||||
<h4 id="org2c17947"><span class="section-number-4">1.1.2</span> C header</h4>
|
||||
<div id="outline-container-orge105e61" class="outline-4">
|
||||
<h4 id="orge105e61"><span class="section-number-4">1.1.2</span> C header</h4>
|
||||
<div class="outline-text-4" id="text-1-1-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_transpose</span> (
|
||||
@ -456,8 +456,8 @@ Transposes a matrix: \(B_{ji} = A_{ij}\)
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org24cdb3d" class="outline-4">
|
||||
<h4 id="org24cdb3d"><span class="section-number-4">1.1.3</span> Source</h4>
|
||||
<div id="outline-container-org6deb834" class="outline-4">
|
||||
<h4 id="org6deb834"><span class="section-number-4">1.1.3</span> Source</h4>
|
||||
<div class="outline-text-4" id="text-1-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #228b22;">integer </span><span style="color: #a020f0;">function</span><span style="color: #a0522d;"> </span><span style="color: #0000ff;">qmckl_transpose_f</span><span style="color: #000000; background-color: #ffffff;">(context, m, n, A, LDA, B, LDB)</span><span style="color: #a0522d;"> </span><span style="color: #a020f0;">&</span>
|
||||
@ -516,7 +516,7 @@ Transposes a matrix: \(B_{ji} = A_{ij}\)
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-10-06 Wed 21:45</p>
|
||||
<p class="date">Created: 2021-10-10 Sun 14:25</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
Loading…
Reference in New Issue
Block a user