mirror of
https://github.com/TREX-CoE/qmckl.git
synced 2025-01-08 20:33:40 +01:00
Deploying to gh-pages from @ TREX-CoE/qmckl@e180354cbc 🚀
This commit is contained in:
parent
a4dac4fe3c
commit
5f2e4d6677
@ -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-09-27 Mon 09:32 -->
|
||||
<!-- 2021-09-28 Tue 22:27 -->
|
||||
<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>
|
||||
@ -354,7 +354,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-09-27 Mon 09:32</p>
|
||||
<p class="date">Created: 2021-09-28 Tue 22:27</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-09-27 Mon 09:32 -->
|
||||
<!-- 2021-09-28 Tue 22:27 -->
|
||||
<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="#orge5a4042">1. Using QMCkl</a></li>
|
||||
<li><a href="#orgaa73722">2. Developing in QMCkl</a>
|
||||
<li><a href="#orgbe9b493">1. Using QMCkl</a></li>
|
||||
<li><a href="#org2ced314">2. Developing in QMCkl</a>
|
||||
<ul>
|
||||
<li><a href="#org0f3e671">2.1. Literate programming</a></li>
|
||||
<li><a href="#org8898fcd">2.2. Source code editing</a></li>
|
||||
<li><a href="#orgb15810c">2.3. Choice of the programming language</a></li>
|
||||
<li><a href="#orgab5ec9a">2.4. Coding rules</a></li>
|
||||
<li><a href="#org7bd94c9">2.5. Design of the library</a></li>
|
||||
<li><a href="#org72fb535">2.6. Naming conventions</a></li>
|
||||
<li><a href="#org7309ef7">2.7. Application programming interface</a></li>
|
||||
<li><a href="#orgc0d91c8">2.8. Global state</a></li>
|
||||
<li><a href="#org3cbb00d">2.9. Headers</a></li>
|
||||
<li><a href="#org9914410">2.10. Low-level functions</a></li>
|
||||
<li><a href="#org8e47b3b">2.11. High-level functions</a></li>
|
||||
<li><a href="#org17e7ca7">2.12. Numerical precision</a></li>
|
||||
<li><a href="#orgbf630a1">2.13. Algorithms</a></li>
|
||||
<li><a href="#orgb241e42">2.1. Literate programming</a></li>
|
||||
<li><a href="#org83ae432">2.2. Source code editing</a></li>
|
||||
<li><a href="#orgd148e34">2.3. Choice of the programming language</a></li>
|
||||
<li><a href="#org0f4f7db">2.4. Coding rules</a></li>
|
||||
<li><a href="#org88c116b">2.5. Design of the library</a></li>
|
||||
<li><a href="#org9c1fe98">2.6. Naming conventions</a></li>
|
||||
<li><a href="#orgdb8049c">2.7. Application programming interface</a></li>
|
||||
<li><a href="#org2f3a18a">2.8. Global state</a></li>
|
||||
<li><a href="#org63cb511">2.9. Headers</a></li>
|
||||
<li><a href="#org00ac549">2.10. Low-level functions</a></li>
|
||||
<li><a href="#org000d0d4">2.11. High-level functions</a></li>
|
||||
<li><a href="#orgb51c93d">2.12. Numerical precision</a></li>
|
||||
<li><a href="#org05a11e4">2.13. Algorithms</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge5a4042" class="outline-2">
|
||||
<h2 id="orge5a4042"><span class="section-number-2">1</span> Using QMCkl</h2>
|
||||
<div id="outline-container-orgbe9b493" class="outline-2">
|
||||
<h2 id="orgbe9b493"><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-orgaa73722" class="outline-2">
|
||||
<h2 id="orgaa73722"><span class="section-number-2">2</span> Developing in QMCkl</h2>
|
||||
<div id="outline-container-org2ced314" class="outline-2">
|
||||
<h2 id="org2ced314"><span class="section-number-2">2</span> Developing in QMCkl</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-org0f3e671" class="outline-3">
|
||||
<h3 id="org0f3e671"><span class="section-number-3">2.1</span> Literate programming</h3>
|
||||
<div id="outline-container-orgb241e42" class="outline-3">
|
||||
<h3 id="orgb241e42"><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-org8898fcd" class="outline-3">
|
||||
<h3 id="org8898fcd"><span class="section-number-3">2.2</span> Source code editing</h3>
|
||||
<div id="outline-container-org83ae432" class="outline-3">
|
||||
<h3 id="org83ae432"><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-orgb15810c" class="outline-3">
|
||||
<h3 id="orgb15810c"><span class="section-number-3">2.3</span> Choice of the programming language</h3>
|
||||
<div id="outline-container-orgd148e34" class="outline-3">
|
||||
<h3 id="orgd148e34"><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-orgab5ec9a" class="outline-3">
|
||||
<h3 id="orgab5ec9a"><span class="section-number-3">2.4</span> Coding rules</h3>
|
||||
<div id="outline-container-org0f4f7db" class="outline-3">
|
||||
<h3 id="org0f4f7db"><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-org7bd94c9" class="outline-3">
|
||||
<h3 id="org7bd94c9"><span class="section-number-3">2.5</span> Design of the library</h3>
|
||||
<div id="outline-container-org88c116b" class="outline-3">
|
||||
<h3 id="org88c116b"><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-org72fb535" class="outline-3">
|
||||
<h3 id="org72fb535"><span class="section-number-3">2.6</span> Naming conventions</h3>
|
||||
<div id="outline-container-org9c1fe98" class="outline-3">
|
||||
<h3 id="org9c1fe98"><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-org7309ef7" class="outline-3">
|
||||
<h3 id="org7309ef7"><span class="section-number-3">2.7</span> Application programming interface</h3>
|
||||
<div id="outline-container-orgdb8049c" class="outline-3">
|
||||
<h3 id="orgdb8049c"><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-orgc0d91c8" class="outline-3">
|
||||
<h3 id="orgc0d91c8"><span class="section-number-3">2.8</span> Global state</h3>
|
||||
<div id="outline-container-org2f3a18a" class="outline-3">
|
||||
<h3 id="org2f3a18a"><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="orgc4cc0a9">=context=</a> contains the global
|
||||
<code>qmckl_context_create</code> function. The <a id="org6fa794a">=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-org3cbb00d" class="outline-3">
|
||||
<h3 id="org3cbb00d"><span class="section-number-3">2.9</span> Headers</h3>
|
||||
<div id="outline-container-org63cb511" class="outline-3">
|
||||
<h3 id="org63cb511"><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-org9914410" class="outline-3">
|
||||
<h3 id="org9914410"><span class="section-number-3">2.10</span> Low-level functions</h3>
|
||||
<div id="outline-container-org00ac549" class="outline-3">
|
||||
<h3 id="org00ac549"><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="#orgc4cc0a9"><code>context</code></a>. They are not allowed to allocate/deallocate memory, and
|
||||
<a href="#org6fa794a"><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-org8e47b3b" class="outline-3">
|
||||
<h3 id="org8e47b3b"><span class="section-number-3">2.11</span> High-level functions</h3>
|
||||
<div id="outline-container-org000d0d4" class="outline-3">
|
||||
<h3 id="org000d0d4"><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="#orgc4cc0a9"><code>context</code></a> variable.
|
||||
the <a href="#org6fa794a"><code>context</code></a> variable.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org17e7ca7" class="outline-3">
|
||||
<h3 id="org17e7ca7"><span class="section-number-3">2.12</span> Numerical precision</h3>
|
||||
<div id="outline-container-orgb51c93d" class="outline-3">
|
||||
<h3 id="orgb51c93d"><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="#orgc4cc0a9"><code>context</code></a>
|
||||
functions will use the precision specified in the <a href="#org6fa794a"><code>context</code></a>
|
||||
variable.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgbf630a1" class="outline-3">
|
||||
<h3 id="orgbf630a1"><span class="section-number-3">2.13</span> Algorithms</h3>
|
||||
<div id="outline-container-org05a11e4" class="outline-3">
|
||||
<h3 id="org05a11e4"><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-09-27 Mon 09:32</p>
|
||||
<p class="date">Created: 2021-09-28 Tue 22:27</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
559
qmckl_ao.html
559
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-09-27 Mon 09:32 -->
|
||||
<!-- 2021-09-28 Tue 22:27 -->
|
||||
<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="#org9e57db0">1. Context</a>
|
||||
<li><a href="#orgd4c3ad5">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#orga452b47">1.1. Data structure</a></li>
|
||||
<li><a href="#org8e919cb">1.2. Access functions</a></li>
|
||||
<li><a href="#org134fbd0">1.3. Initialization functions</a></li>
|
||||
<li><a href="#orgbc80119">1.4. Fortran interfaces</a></li>
|
||||
<li><a href="#orga49cbf3">1.1. Data structure</a></li>
|
||||
<li><a href="#orgd5c92c7">1.2. Access functions</a></li>
|
||||
<li><a href="#org7222590">1.3. Initialization functions</a></li>
|
||||
<li><a href="#orgfc32f6d">1.4. Fortran interfaces</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org50f7a5f">2. Radial part</a>
|
||||
<li><a href="#org38a73ac">2. Radial part</a>
|
||||
<ul>
|
||||
<li><a href="#orgdd42197">2.1. <span class="todo TODO">TODO</span> Helper functions to accelerate calculations</a></li>
|
||||
<li><a href="#orgb188a50">2.2. General functions for Gaussian basis functions</a></li>
|
||||
<li><a href="#orgd5232a3">2.3. <span class="todo TODO">TODO</span> General functions for Slater basis functions</a></li>
|
||||
<li><a href="#orgaccc703">2.4. <span class="todo TODO">TODO</span> General functions for Radial functions on a grid</a></li>
|
||||
<li><a href="#org6a142d4">2.5. Computation of primitives</a>
|
||||
<li><a href="#org6ee45d2">2.1. <span class="todo TODO">TODO</span> Helper functions to accelerate calculations</a></li>
|
||||
<li><a href="#orgfc19bb6">2.2. General functions for Gaussian basis functions</a></li>
|
||||
<li><a href="#org6d2f6c3">2.3. <span class="todo TODO">TODO</span> General functions for Slater basis functions</a></li>
|
||||
<li><a href="#orgb57b072">2.4. <span class="todo TODO">TODO</span> General functions for Radial functions on a grid</a></li>
|
||||
<li><a href="#org5e4273d">2.5. Computation of primitives</a>
|
||||
<ul>
|
||||
<li><a href="#orgebfcff5">2.5.1. Get</a></li>
|
||||
<li><a href="#org8306b94">2.5.2. Provide</a></li>
|
||||
<li><a href="#org3b1b41b">2.5.3. Compute</a></li>
|
||||
<li><a href="#org97681a6">2.5.4. Test</a></li>
|
||||
<li><a href="#org8aed8fe">2.5.5. Ideas for improvement</a></li>
|
||||
<li><a href="#org5ca54f7">2.5.1. Get</a></li>
|
||||
<li><a href="#org7cf3fc8">2.5.2. Provide</a></li>
|
||||
<li><a href="#orgadd94bb">2.5.3. Compute</a></li>
|
||||
<li><a href="#org24af591">2.5.4. Test</a></li>
|
||||
<li><a href="#org4cdbdaf">2.5.5. Ideas for improvement</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgfaece43">2.6. Computation of shells</a>
|
||||
<li><a href="#org6183b6e">2.6. Computation of shells</a>
|
||||
<ul>
|
||||
<li><a href="#org72239d6">2.6.1. Get</a></li>
|
||||
<li><a href="#org3428dee">2.6.2. Provide</a></li>
|
||||
<li><a href="#org5c0bccd">2.6.3. Compute</a></li>
|
||||
<li><a href="#org505d30f">2.6.4. Test</a></li>
|
||||
<li><a href="#org840a11c">2.6.1. Get</a></li>
|
||||
<li><a href="#org59af3eb">2.6.2. Provide</a></li>
|
||||
<li><a href="#org0a5a182">2.6.3. Compute</a></li>
|
||||
<li><a href="#org0d9dff7">2.6.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org41bc13a">3. Polynomial part</a>
|
||||
<li><a href="#orgf5115c1">3. Polynomial part</a>
|
||||
<ul>
|
||||
<li><a href="#org5b0efb3">3.1. General functions for Powers of \(x-X_i\)</a>
|
||||
<li><a href="#orgf41c868">3.1. General functions for Powers of \(x-X_i\)</a>
|
||||
<ul>
|
||||
<li><a href="#org8a7e508">3.1.1. Requirements</a></li>
|
||||
<li><a href="#orgcceb333">3.1.2. C Header</a></li>
|
||||
<li><a href="#org3b3f646">3.1.3. Source</a></li>
|
||||
<li><a href="#org13aa42f">3.1.4. C interface</a></li>
|
||||
<li><a href="#orgcd45f5d">3.1.5. Fortran interface</a></li>
|
||||
<li><a href="#orgea7400f">3.1.6. Test</a></li>
|
||||
<li><a href="#orgf956c84">3.1.1. Requirements</a></li>
|
||||
<li><a href="#orgc7ef7d0">3.1.2. C Header</a></li>
|
||||
<li><a href="#orga78b178">3.1.3. Source</a></li>
|
||||
<li><a href="#org5be88fb">3.1.4. C interface</a></li>
|
||||
<li><a href="#orga6cf994">3.1.5. Fortran interface</a></li>
|
||||
<li><a href="#org2cb1fcc">3.1.6. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org27cf874">3.2. General functions for Value, Gradient and Laplacian of a polynomial</a>
|
||||
<li><a href="#orgade0e0a">3.2. General functions for Value, Gradient and Laplacian of a polynomial</a>
|
||||
<ul>
|
||||
<li><a href="#org6cae650">3.2.1. Requirements</a></li>
|
||||
<li><a href="#org39f7f49">3.2.2. C Header</a></li>
|
||||
<li><a href="#org810a5ea">3.2.3. Source</a></li>
|
||||
<li><a href="#orge42d718">3.2.4. C interface</a></li>
|
||||
<li><a href="#org1ca1afe">3.2.5. Fortran interface</a></li>
|
||||
<li><a href="#org906434f">3.2.6. Test</a></li>
|
||||
<li><a href="#orgc5e6d66">3.2.1. Requirements</a></li>
|
||||
<li><a href="#org3ee6361">3.2.2. C Header</a></li>
|
||||
<li><a href="#orgd43ac2b">3.2.3. Source</a></li>
|
||||
<li><a href="#orgd7c8e18">3.2.4. C interface</a></li>
|
||||
<li><a href="#orgb17a6bb">3.2.5. Fortran interface</a></li>
|
||||
<li><a href="#orgf6ea84a">3.2.6. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgecee61b">4. Combining radial and polynomial parts</a>
|
||||
<li><a href="#orgbe0b2a1">4. Combining radial and polynomial parts</a>
|
||||
<ul>
|
||||
<li>
|
||||
<ul>
|
||||
<li><a href="#org22317e3">4.0.1. Get</a></li>
|
||||
<li><a href="#orgae65c8b">4.0.2. Provide</a></li>
|
||||
<li><a href="#org5968da2">4.0.3. Compute</a></li>
|
||||
<li><a href="#org4e3a56c">4.0.4. Test</a></li>
|
||||
<li><a href="#orgb68e031">4.0.1. Get</a></li>
|
||||
<li><a href="#org213b2f8">4.0.2. Provide</a></li>
|
||||
<li><a href="#orgd459576">4.0.3. Compute</a></li>
|
||||
<li><a href="#orgb1bf065">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-org9e57db0" class="outline-2">
|
||||
<h2 id="org9e57db0"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-orgd4c3ad5" class="outline-2">
|
||||
<h2 id="orgd4c3ad5"><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:
|
||||
@ -564,7 +564,7 @@ Computed data:
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="org-left"><code>primitive_vgl</code></td>
|
||||
<td class="org-left"><code>[5][walk_num][elec_num][prim_num]</code></td>
|
||||
<td class="org-left"><code>[5][elec_num][prim_num]</code></td>
|
||||
<td class="org-left">Value, gradients, Laplacian of the primitives at electron positions</td>
|
||||
</tr>
|
||||
|
||||
@ -576,7 +576,7 @@ Computed data:
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>shell_vgl</code></td>
|
||||
<td class="org-left"><code>[5][walk_num][elec_num][shell_num]</code></td>
|
||||
<td class="org-left"><code>[5][elec_num][shell_num]</code></td>
|
||||
<td class="org-left">Value, gradients, Laplacian of the primitives at electron positions</td>
|
||||
</tr>
|
||||
|
||||
@ -588,7 +588,7 @@ Computed data:
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>ao_vgl</code></td>
|
||||
<td class="org-left"><code>[5][walk_num][elec_num][ao_num]</code></td>
|
||||
<td class="org-left"><code>[5][elec_num][ao_num]</code></td>
|
||||
<td class="org-left">Value, gradients, Laplacian of the primitives at electron positions</td>
|
||||
</tr>
|
||||
|
||||
@ -679,8 +679,8 @@ prim_factor = [ 1.0006253235944540e+01, 2.4169531573445120e+00, 7.96109248497664
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga452b47" class="outline-3">
|
||||
<h3 id="orga452b47"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-orga49cbf3" class="outline-3">
|
||||
<h3 id="orga49cbf3"><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-org8e919cb" class="outline-3">
|
||||
<h3 id="org8e919cb"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div id="outline-container-orgd5c92c7" class="outline-3">
|
||||
<h3 id="orgd5c92c7"><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-org134fbd0" class="outline-3">
|
||||
<h3 id="org134fbd0"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-org7222590" class="outline-3">
|
||||
<h3 id="org7222590"><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-orgbc80119" class="outline-3">
|
||||
<h3 id="orgbc80119"><span class="section-number-3">1.4</span> Fortran interfaces</h3>
|
||||
<div id="outline-container-orgfc32f6d" class="outline-3">
|
||||
<h3 id="orgfc32f6d"><span class="section-number-3">1.4</span> Fortran interfaces</h3>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org50f7a5f" class="outline-2">
|
||||
<h2 id="org50f7a5f"><span class="section-number-2">2</span> Radial part</h2>
|
||||
<div id="outline-container-org38a73ac" class="outline-2">
|
||||
<h2 id="org38a73ac"><span class="section-number-2">2</span> Radial part</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-orgdd42197" class="outline-3">
|
||||
<h3 id="orgdd42197"><span class="section-number-3">2.1</span> <span class="todo TODO">TODO</span> Helper functions to accelerate calculations</h3>
|
||||
<div id="outline-container-org6ee45d2" class="outline-3">
|
||||
<h3 id="org6ee45d2"><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-orgb188a50" class="outline-3">
|
||||
<h3 id="orgb188a50"><span class="section-number-3">2.2</span> General functions for Gaussian basis functions</h3>
|
||||
<div id="outline-container-orgfc19bb6" class="outline-3">
|
||||
<h3 id="orgfc19bb6"><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-orgd5232a3" class="outline-3">
|
||||
<h3 id="orgd5232a3"><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-org6d2f6c3" class="outline-3">
|
||||
<h3 id="org6d2f6c3"><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-orgaccc703" class="outline-3">
|
||||
<h3 id="orgaccc703"><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-orgb57b072" class="outline-3">
|
||||
<h3 id="orgb57b072"><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-org6a142d4" class="outline-3">
|
||||
<h3 id="org6a142d4"><span class="section-number-3">2.5</span> Computation of primitives</h3>
|
||||
<div id="outline-container-org5e4273d" class="outline-3">
|
||||
<h3 id="org5e4273d"><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-orgebfcff5" class="outline-4">
|
||||
<h4 id="orgebfcff5"><span class="section-number-4">2.5.1</span> Get</h4>
|
||||
<div id="outline-container-org5ca54f7" class="outline-4">
|
||||
<h4 id="org5ca54f7"><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-org8306b94" class="outline-4">
|
||||
<h4 id="org8306b94"><span class="section-number-4">2.5.2</span> Provide</h4>
|
||||
<div id="outline-container-org7cf3fc8" class="outline-4">
|
||||
<h4 id="org7cf3fc8"><span class="section-number-4">2.5.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3b1b41b" class="outline-4">
|
||||
<h4 id="org3b1b41b"><span class="section-number-4">2.5.3</span> Compute</h4>
|
||||
<div id="outline-container-orgadd94bb" class="outline-4">
|
||||
<h4 id="orgadd94bb"><span class="section-number-4">2.5.3</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-5-3">
|
||||
<table id="org93d2ce7" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org6465ac7" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1120,13 +1120,6 @@ Requirements
|
||||
<td class="org-left">Number of nuclei</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">int64<sub>t</sub></td>
|
||||
<td class="org-left">walk<sub>num</sub></td>
|
||||
<td class="org-left">in</td>
|
||||
<td class="org-left">Number of walkers</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">int64<sub>t</sub></td>
|
||||
<td class="org-left">nucleus<sub>prim</sub><sub>index</sub>[nucl<sub>num</sub>]</td>
|
||||
@ -1136,7 +1129,7 @@ Requirements
|
||||
|
||||
<tr>
|
||||
<td class="org-left">double</td>
|
||||
<td class="org-left">elec<sub>coord</sub>[walk<sub>num</sub>][3][elec<sub>num</sub>]</td>
|
||||
<td class="org-left">elec<sub>coord</sub>[3][elec<sub>num</sub>]</td>
|
||||
<td class="org-left">in</td>
|
||||
<td class="org-left">Electron coordinates</td>
|
||||
</tr>
|
||||
@ -1157,7 +1150,7 @@ Requirements
|
||||
|
||||
<tr>
|
||||
<td class="org-left">double</td>
|
||||
<td class="org-left">primitive<sub>vgl</sub>[5][walk<sub>num</sub>][elec<sub>num</sub>][prim<sub>num</sub>]</td>
|
||||
<td class="org-left">primitive<sub>vgl</sub>[5][elec<sub>num</sub>][prim<sub>num</sub>]</td>
|
||||
<td class="org-left">out</td>
|
||||
<td class="org-left">Value, gradients and Laplacian of the primitives</td>
|
||||
</tr>
|
||||
@ -1166,7 +1159,7 @@ Requirements
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #228b22;">integer</span><span style="color: #a0522d;"> function qmckl_compute_ao_basis_primitive_gaussian_vgl_f(context, </span><span style="color: #a020f0;">&</span>
|
||||
prim_num, elec_num, nucl_num, walk_num, <span style="color: #a020f0;">&</span>
|
||||
prim_num, elec_num, nucl_num, <span style="color: #a020f0;">&</span>
|
||||
nucleus_prim_index, elec_coord, nucl_coord, expo, primitive_vgl) <span style="color: #a020f0;">&</span>
|
||||
<span style="color: #a020f0;">result</span>(info)
|
||||
<span style="color: #a020f0;">use</span> <span style="color: #0000ff;">qmckl</span>
|
||||
@ -1175,14 +1168,13 @@ Requirements
|
||||
<span style="color: #228b22;">integer</span>*8 , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> prim_num</span>
|
||||
<span style="color: #228b22;">integer</span>*8 , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> nucl_num</span>
|
||||
<span style="color: #228b22;">integer</span>*8 , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> elec_num</span>
|
||||
<span style="color: #228b22;">integer</span>*8 , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> walk_num</span>
|
||||
<span style="color: #228b22;">integer</span>*8 , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> nucleus_prim_index(nucl_num+1)</span>
|
||||
<span style="color: #228b22;">double precision</span> , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> elec_coord(elec_num,3,walk_num)</span>
|
||||
<span style="color: #228b22;">double precision</span> , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> elec_coord(elec_num,3)</span>
|
||||
<span style="color: #228b22;">double precision</span> , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> nucl_coord(nucl_num,3)</span>
|
||||
<span style="color: #228b22;">double precision</span> , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> expo(prim_num)</span>
|
||||
<span style="color: #228b22;">double precision</span> , <span style="color: #a020f0;">intent</span>(out) ::<span style="color: #a0522d;"> primitive_vgl(prim_num,elec_num,walk_num,5)</span>
|
||||
<span style="color: #228b22;">double precision</span> , <span style="color: #a020f0;">intent</span>(out) ::<span style="color: #a0522d;"> primitive_vgl(prim_num,elec_num,5)</span>
|
||||
|
||||
<span style="color: #228b22;">integer</span>*8 ::<span style="color: #a0522d;"> inucl, iprim, iwalk, ielec</span>
|
||||
<span style="color: #228b22;">integer</span>*8 ::<span style="color: #a0522d;"> inucl, iprim, ielec</span>
|
||||
<span style="color: #228b22;">double precision</span> ::<span style="color: #a0522d;"> x, y, z, two_a, ar2, r2, v, cutoff</span>
|
||||
|
||||
info = QMCKL_SUCCESS
|
||||
@ -1193,26 +1185,24 @@ Requirements
|
||||
<span style="color: #a020f0;">do</span> inucl=1,nucl_num
|
||||
! <span style="color: #b22222;">C is zero-based, so shift bounds by one</span>
|
||||
<span style="color: #a020f0;">do</span> iprim = nucleus_prim_index(inucl)+1, nucleus_prim_index(inucl+1)
|
||||
<span style="color: #a020f0;">do</span> iwalk = 1, walk_num
|
||||
<span style="color: #a020f0;">do</span> ielec = 1, elec_num
|
||||
x = elec_coord(ielec,1,iwalk) - nucl_coord(inucl,1)
|
||||
y = elec_coord(ielec,2,iwalk) - nucl_coord(inucl,2)
|
||||
z = elec_coord(ielec,3,iwalk) - nucl_coord(inucl,3)
|
||||
<span style="color: #a020f0;">do</span> ielec = 1, elec_num
|
||||
x = elec_coord(ielec,1) - nucl_coord(inucl,1)
|
||||
y = elec_coord(ielec,2) - nucl_coord(inucl,2)
|
||||
z = elec_coord(ielec,3) - nucl_coord(inucl,3)
|
||||
|
||||
r2 = x*x + y*y + z*z
|
||||
ar2 = expo(iprim)*r2
|
||||
<span style="color: #a020f0;">if</span> (ar2 > cutoff) <span style="color: #a020f0;">cycle</span>
|
||||
r2 = x*x + y*y + z*z
|
||||
ar2 = expo(iprim)*r2
|
||||
<span style="color: #a020f0;">if</span> (ar2 > cutoff) <span style="color: #a020f0;">cycle</span>
|
||||
|
||||
v = dexp(-ar2)
|
||||
two_a = -2.d0 * expo(iprim) * v
|
||||
v = dexp(-ar2)
|
||||
two_a = -2.d0 * expo(iprim) * v
|
||||
|
||||
primitive_vgl(iprim, ielec, iwalk, 1) = v
|
||||
primitive_vgl(iprim, ielec, iwalk, 2) = two_a * x
|
||||
primitive_vgl(iprim, ielec, iwalk, 3) = two_a * y
|
||||
primitive_vgl(iprim, ielec, iwalk, 4) = two_a * z
|
||||
primitive_vgl(iprim, ielec, iwalk, 5) = two_a * (3.d0 - 2.d0*ar2)
|
||||
primitive_vgl(iprim, ielec, 1) = v
|
||||
primitive_vgl(iprim, ielec, 2) = two_a * x
|
||||
primitive_vgl(iprim, ielec, 3) = two_a * y
|
||||
primitive_vgl(iprim, ielec, 4) = two_a * z
|
||||
primitive_vgl(iprim, ielec, 5) = two_a * (3.d0 - 2.d0*ar2)
|
||||
|
||||
<span style="color: #a020f0;">end do</span>
|
||||
<span style="color: #a020f0;">end do</span>
|
||||
<span style="color: #a020f0;">end do</span>
|
||||
<span style="color: #a020f0;">end do</span>
|
||||
@ -1223,34 +1213,31 @@ Requirements
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org97681a6" class="outline-4">
|
||||
<h4 id="org97681a6"><span class="section-number-4">2.5.4</span> Test</h4>
|
||||
<div id="outline-container-org24af591" class="outline-4">
|
||||
<h4 id="org24af591"><span class="section-number-4">2.5.4</span> Test</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8aed8fe" class="outline-4">
|
||||
<h4 id="org8aed8fe"><span class="section-number-4">2.5.5</span> Ideas for improvement</h4>
|
||||
<div id="outline-container-org4cdbdaf" class="outline-4">
|
||||
<h4 id="org4cdbdaf"><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;">m : walkers</span>
|
||||
// <span style="color: #b22222;">j : electrons</span>
|
||||
<pre class="src src-c">// <span style="color: #b22222;">j : electrons</span>
|
||||
// <span style="color: #b22222;">l : primitives</span>
|
||||
|
||||
k=0;
|
||||
<span style="color: #a020f0;">for</span> (m=0 ; m<walk_num ; ++m) {
|
||||
<span style="color: #a020f0;">for</span> (j=0 ; j<elec_num ; ++j) {
|
||||
<span style="color: #a020f0;">for</span> (i=0 ; i<nucl_num ; ++i) {
|
||||
<span style="color: #a020f0;">for</span> (j=0 ; j<elec_num ; ++j) {
|
||||
<span style="color: #a020f0;">for</span> (i=0 ; i<nucl_num ; ++i) {
|
||||
|
||||
r2 = nucl_elec_dist[i][j];
|
||||
r2 = nucl_elec_dist[i][j];
|
||||
|
||||
<span style="color: #a020f0;">if</span> (r2 < nucl_radius2[i]) {
|
||||
<span style="color: #a020f0;">if</span> (r2 < nucl_radius2[i]) {
|
||||
|
||||
<span style="color: #a020f0;">for</span> (l=0 ; l<prim_num ; ++l) {
|
||||
tmp[k].i = i;
|
||||
tmp[k].j = j;
|
||||
tmp[k].m = m;
|
||||
tmp[k].ar2 = -expo[l] *r2;
|
||||
++k;
|
||||
}
|
||||
<span style="color: #a020f0;">for</span> (l=0 ; l<prim_num ; ++l) {
|
||||
tmp[k].i = i;
|
||||
tmp[k].j = j;
|
||||
tmp[k].m = m;
|
||||
tmp[k].ar2 = -expo[l] *r2;
|
||||
++k;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1265,12 +1252,12 @@ k=0;
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgfaece43" class="outline-3">
|
||||
<h3 id="orgfaece43"><span class="section-number-3">2.6</span> Computation of shells</h3>
|
||||
<div id="outline-container-org6183b6e" class="outline-3">
|
||||
<h3 id="org6183b6e"><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-org72239d6" class="outline-4">
|
||||
<h4 id="org72239d6"><span class="section-number-4">2.6.1</span> Get</h4>
|
||||
<div id="outline-container-org840a11c" class="outline-4">
|
||||
<h4 id="org840a11c"><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>);
|
||||
@ -1279,14 +1266,14 @@ k=0;
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3428dee" class="outline-4">
|
||||
<h4 id="org3428dee"><span class="section-number-4">2.6.2</span> Provide</h4>
|
||||
<div id="outline-container-org59af3eb" class="outline-4">
|
||||
<h4 id="org59af3eb"><span class="section-number-4">2.6.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5c0bccd" class="outline-4">
|
||||
<h4 id="org5c0bccd"><span class="section-number-4">2.6.3</span> Compute</h4>
|
||||
<div id="outline-container-org0a5a182" class="outline-4">
|
||||
<h4 id="org0a5a182"><span class="section-number-4">2.6.3</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-6-3">
|
||||
<table id="orga53b73c" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org7297f63" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1334,13 +1321,6 @@ k=0;
|
||||
<td class="org-left">Number of nuclei</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>int64_t</code></td>
|
||||
<td class="org-left"><code>walk_num</code></td>
|
||||
<td class="org-left">in</td>
|
||||
<td class="org-left">Number of walkers</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>int64_t</code></td>
|
||||
<td class="org-left"><code>nucleus_shell_num[nucl_num]</code></td>
|
||||
@ -1371,7 +1351,7 @@ k=0;
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>double</code></td>
|
||||
<td class="org-left"><code>elec_coord[walk_num][3][elec_num]</code></td>
|
||||
<td class="org-left"><code>elec_coord[3][elec_num]</code></td>
|
||||
<td class="org-left">in</td>
|
||||
<td class="org-left">Electron coordinates</td>
|
||||
</tr>
|
||||
@ -1399,7 +1379,7 @@ k=0;
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>double</code></td>
|
||||
<td class="org-left"><code>shell_vgl[5][walk_num][elec_num][shell_num]</code></td>
|
||||
<td class="org-left"><code>shell_vgl[5][elec_num][shell_num]</code></td>
|
||||
<td class="org-left">out</td>
|
||||
<td class="org-left">Value, gradients and Laplacian of the shells</td>
|
||||
</tr>
|
||||
@ -1408,7 +1388,7 @@ k=0;
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #228b22;">integer</span><span style="color: #a0522d;"> function qmckl_compute_ao_basis_shell_gaussian_vgl_f(context, </span><span style="color: #a020f0;">&</span>
|
||||
prim_num, shell_num, elec_num, nucl_num, walk_num, <span style="color: #a020f0;">&</span>
|
||||
prim_num, shell_num, elec_num, nucl_num, <span style="color: #a020f0;">&</span>
|
||||
nucleus_shell_num, nucleus_index, shell_prim_index, shell_prim_num, <span style="color: #a020f0;">&</span>
|
||||
elec_coord, nucl_coord, expo, coef_normalized, shell_vgl) <span style="color: #a020f0;">&</span>
|
||||
<span style="color: #a020f0;">result</span>(info)
|
||||
@ -1419,18 +1399,17 @@ k=0;
|
||||
<span style="color: #228b22;">integer</span>*8 , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> shell_num</span>
|
||||
<span style="color: #228b22;">integer</span>*8 , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> nucl_num</span>
|
||||
<span style="color: #228b22;">integer</span>*8 , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> elec_num</span>
|
||||
<span style="color: #228b22;">integer</span>*8 , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> walk_num</span>
|
||||
<span style="color: #228b22;">integer</span>*8 , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> nucleus_shell_num(nucl_num)</span>
|
||||
<span style="color: #228b22;">integer</span>*8 , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> nucleus_index(nucl_num)</span>
|
||||
<span style="color: #228b22;">integer</span>*8 , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> shell_prim_index(shell_num)</span>
|
||||
<span style="color: #228b22;">integer</span>*8 , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> shell_prim_num(shell_num)</span>
|
||||
<span style="color: #228b22;">double precision</span> , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> elec_coord(elec_num,3,walk_num)</span>
|
||||
<span style="color: #228b22;">double precision</span> , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> elec_coord(elec_num,3)</span>
|
||||
<span style="color: #228b22;">double precision</span> , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> nucl_coord(nucl_num,3)</span>
|
||||
<span style="color: #228b22;">double precision</span> , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> expo(prim_num)</span>
|
||||
<span style="color: #228b22;">double precision</span> , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> coef_normalized(prim_num)</span>
|
||||
<span style="color: #228b22;">double precision</span> , <span style="color: #a020f0;">intent</span>(out) ::<span style="color: #a0522d;"> shell_vgl(shell_num,elec_num,walk_num,5)</span>
|
||||
<span style="color: #228b22;">double precision</span> , <span style="color: #a020f0;">intent</span>(out) ::<span style="color: #a0522d;"> shell_vgl(shell_num,elec_num,5)</span>
|
||||
|
||||
<span style="color: #228b22;">integer</span>*8 ::<span style="color: #a0522d;"> inucl, iprim, iwalk, ielec, ishell</span>
|
||||
<span style="color: #228b22;">integer</span>*8 ::<span style="color: #a0522d;"> inucl, iprim, ielec, ishell</span>
|
||||
<span style="color: #228b22;">double precision</span> ::<span style="color: #a0522d;"> x, y, z, two_a, ar2, r2, v, cutoff</span>
|
||||
|
||||
info = QMCKL_SUCCESS
|
||||
@ -1441,55 +1420,53 @@ k=0;
|
||||
|
||||
<span style="color: #a020f0;">do</span> inucl=1,nucl_num
|
||||
|
||||
<span style="color: #a020f0;">do</span> iwalk = 1, walk_num
|
||||
<span style="color: #a020f0;">do</span> ielec = 1, elec_num
|
||||
<span style="color: #a020f0;">do</span> ielec = 1, elec_num
|
||||
|
||||
x = elec_coord(ielec,1,iwalk) - nucl_coord(inucl,1)
|
||||
y = elec_coord(ielec,2,iwalk) - nucl_coord(inucl,2)
|
||||
z = elec_coord(ielec,3,iwalk) - nucl_coord(inucl,3)
|
||||
x = elec_coord(ielec,1) - nucl_coord(inucl,1)
|
||||
y = elec_coord(ielec,2) - nucl_coord(inucl,2)
|
||||
z = elec_coord(ielec,3) - nucl_coord(inucl,3)
|
||||
|
||||
r2 = x*x + y*y + z*z
|
||||
r2 = x*x + y*y + z*z
|
||||
|
||||
<span style="color: #a020f0;">do</span> ishell=nucleus_index(inucl)+1, nucleus_index(inucl)+nucleus_shell_num(inucl)
|
||||
! <span style="color: #b22222;">C is zero-based, so shift bounds by one</span>
|
||||
<span style="color: #a020f0;">do</span> ishell=nucleus_index(inucl)+1, nucleus_index(inucl)+nucleus_shell_num(inucl)
|
||||
! <span style="color: #b22222;">C is zero-based, so shift bounds by one</span>
|
||||
|
||||
shell_vgl(ishell, ielec, iwalk, 1) = 0.d0
|
||||
shell_vgl(ishell, ielec, iwalk, 2) = 0.d0
|
||||
shell_vgl(ishell, ielec, iwalk, 3) = 0.d0
|
||||
shell_vgl(ishell, ielec, iwalk, 4) = 0.d0
|
||||
shell_vgl(ishell, ielec, iwalk, 5) = 0.d0
|
||||
shell_vgl(ishell, ielec, 1) = 0.d0
|
||||
shell_vgl(ishell, ielec, 2) = 0.d0
|
||||
shell_vgl(ishell, ielec, 3) = 0.d0
|
||||
shell_vgl(ishell, ielec, 4) = 0.d0
|
||||
shell_vgl(ishell, ielec, 5) = 0.d0
|
||||
|
||||
<span style="color: #a020f0;">do</span> iprim = shell_prim_index(ishell)+1, shell_prim_index(ishell)+shell_prim_num(ishell)
|
||||
<span style="color: #a020f0;">do</span> iprim = shell_prim_index(ishell)+1, shell_prim_index(ishell)+shell_prim_num(ishell)
|
||||
|
||||
ar2 = expo(iprim)*r2
|
||||
<span style="color: #a020f0;">if</span> (ar2 > cutoff) <span style="color: #a020f0;">then</span>
|
||||
<span style="color: #a020f0;">cycle</span>
|
||||
<span style="color: #a020f0;">end if</span>
|
||||
ar2 = expo(iprim)*r2
|
||||
<span style="color: #a020f0;">if</span> (ar2 > cutoff) <span style="color: #a020f0;">then</span>
|
||||
<span style="color: #a020f0;">cycle</span>
|
||||
<span style="color: #a020f0;">end if</span>
|
||||
|
||||
v = coef_normalized(iprim) * dexp(-ar2)
|
||||
two_a = -2.d0 * expo(iprim) * v
|
||||
v = coef_normalized(iprim) * dexp(-ar2)
|
||||
two_a = -2.d0 * expo(iprim) * v
|
||||
|
||||
shell_vgl(ishell, ielec, iwalk, 1) = <span style="color: #a020f0;">&</span>
|
||||
shell_vgl(ishell, ielec, iwalk, 1) + v
|
||||
shell_vgl(ishell, ielec, 1) = <span style="color: #a020f0;">&</span>
|
||||
shell_vgl(ishell, ielec, 1) + v
|
||||
|
||||
shell_vgl(ishell, ielec, iwalk, 2) = <span style="color: #a020f0;">&</span>
|
||||
shell_vgl(ishell, ielec, iwalk, 2) + two_a * x
|
||||
shell_vgl(ishell, ielec, 2) = <span style="color: #a020f0;">&</span>
|
||||
shell_vgl(ishell, ielec, 2) + two_a * x
|
||||
|
||||
shell_vgl(ishell, ielec, iwalk, 3) = <span style="color: #a020f0;">&</span>
|
||||
shell_vgl(ishell, ielec, iwalk, 3) + two_a * y
|
||||
shell_vgl(ishell, ielec, 3) = <span style="color: #a020f0;">&</span>
|
||||
shell_vgl(ishell, ielec, 3) + two_a * y
|
||||
|
||||
shell_vgl(ishell, ielec, iwalk, 4) = <span style="color: #a020f0;">&</span>
|
||||
shell_vgl(ishell, ielec, iwalk, 4) + two_a * z
|
||||
shell_vgl(ishell, ielec, 4) = <span style="color: #a020f0;">&</span>
|
||||
shell_vgl(ishell, ielec, 4) + two_a * z
|
||||
|
||||
shell_vgl(ishell, ielec, iwalk, 5) = <span style="color: #a020f0;">&</span>
|
||||
shell_vgl(ishell, ielec, iwalk, 5) + two_a * (3.d0 - 2.d0*ar2)
|
||||
|
||||
<span style="color: #a020f0;">end do</span>
|
||||
shell_vgl(ishell, ielec, 5) = <span style="color: #a020f0;">&</span>
|
||||
shell_vgl(ishell, ielec, 5) + two_a * (3.d0 - 2.d0*ar2)
|
||||
|
||||
<span style="color: #a020f0;">end do</span>
|
||||
<span style="color: #a020f0;">end do</span>
|
||||
|
||||
<span style="color: #a020f0;">end do</span>
|
||||
<span style="color: #a020f0;">end do</span>
|
||||
|
||||
<span style="color: #a020f0;">end do</span>
|
||||
|
||||
<span style="color: #a020f0;">end function</span> <span style="color: #0000ff;">qmckl_compute_ao_basis_shell_gaussian_vgl_f</span>
|
||||
@ -1503,7 +1480,6 @@ k=0;
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">shell_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">elec_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">nucl_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">walk_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span>* <span style="color: #a0522d;">nucleus_shell_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span>* <span style="color: #a0522d;">nucleus_index</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span>* <span style="color: #a0522d;">shell_prim_index</span>,
|
||||
@ -1518,14 +1494,14 @@ k=0;
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org505d30f" class="outline-4">
|
||||
<h4 id="org505d30f"><span class="section-number-4">2.6.4</span> Test</h4>
|
||||
<div id="outline-container-org0d9dff7" class="outline-4">
|
||||
<h4 id="org0d9dff7"><span class="section-number-4">2.6.4</span> Test</h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org41bc13a" class="outline-2">
|
||||
<h2 id="org41bc13a"><span class="section-number-2">3</span> Polynomial part</h2>
|
||||
<div id="outline-container-orgf5115c1" class="outline-2">
|
||||
<h2 id="orgf5115c1"><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
|
||||
@ -1545,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-org5b0efb3" class="outline-3">
|
||||
<h3 id="org5b0efb3"><span class="section-number-3">3.1</span> General functions for Powers of \(x-X_i\)</h3>
|
||||
<div id="outline-container-orgf41c868" class="outline-3">
|
||||
<h3 id="orgf41c868"><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>
|
||||
@ -1558,7 +1534,7 @@ the \(n\) points:
|
||||
\[ P_{ik} = X_i^k \]
|
||||
</p>
|
||||
|
||||
<table id="org45a065b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org4e4a614" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1616,8 +1592,8 @@ the \(n\) points:
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8a7e508" class="outline-4">
|
||||
<h4 id="org8a7e508"><span class="section-number-4">3.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-orgf956c84" class="outline-4">
|
||||
<h4 id="orgf956c84"><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>
|
||||
@ -1630,8 +1606,8 @@ the \(n\) points:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgcceb333" class="outline-4">
|
||||
<h4 id="orgcceb333"><span class="section-number-4">3.1.2</span> C Header</h4>
|
||||
<div id="outline-container-orgc7ef7d0" class="outline-4">
|
||||
<h4 id="orgc7ef7d0"><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> (
|
||||
@ -1646,8 +1622,8 @@ the \(n\) points:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3b3f646" class="outline-4">
|
||||
<h4 id="org3b3f646"><span class="section-number-4">3.1.3</span> Source</h4>
|
||||
<div id="outline-container-orga78b178" class="outline-4">
|
||||
<h4 id="orga78b178"><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>
|
||||
@ -1698,15 +1674,15 @@ the \(n\) points:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org13aa42f" class="outline-4">
|
||||
<h4 id="org13aa42f"><span class="section-number-4">3.1.4</span> C interface</h4>
|
||||
<div id="outline-container-org5be88fb" class="outline-4">
|
||||
<h4 id="org5be88fb"><span class="section-number-4">3.1.4</span> C interface</h4>
|
||||
</div>
|
||||
<div id="outline-container-orgcd45f5d" class="outline-4">
|
||||
<h4 id="orgcd45f5d"><span class="section-number-4">3.1.5</span> Fortran interface</h4>
|
||||
<div id="outline-container-orga6cf994" class="outline-4">
|
||||
<h4 id="orga6cf994"><span class="section-number-4">3.1.5</span> Fortran interface</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgea7400f" class="outline-4">
|
||||
<h4 id="orgea7400f"><span class="section-number-4">3.1.6</span> Test</h4>
|
||||
<div id="outline-container-org2cb1fcc" class="outline-4">
|
||||
<h4 id="org2cb1fcc"><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)
|
||||
@ -1757,8 +1733,8 @@ the \(n\) points:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org27cf874" class="outline-3">
|
||||
<h3 id="org27cf874"><span class="section-number-3">3.2</span> General functions for Value, Gradient and Laplacian of a polynomial</h3>
|
||||
<div id="outline-container-orgade0e0a" class="outline-3">
|
||||
<h3 id="orgade0e0a"><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\)
|
||||
@ -1803,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="orgccc922e" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgcb47317" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1882,8 +1858,8 @@ angular momentum up to <code>lmax</code>.
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6cae650" class="outline-4">
|
||||
<h4 id="org6cae650"><span class="section-number-4">3.2.1</span> Requirements</h4>
|
||||
<div id="outline-container-orgc5e6d66" class="outline-4">
|
||||
<h4 id="orgc5e6d66"><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>
|
||||
@ -1908,8 +1884,8 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org39f7f49" class="outline-4">
|
||||
<h4 id="org39f7f49"><span class="section-number-4">3.2.2</span> C Header</h4>
|
||||
<div id="outline-container-org3ee6361" class="outline-4">
|
||||
<h4 id="org3ee6361"><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> (
|
||||
@ -1927,8 +1903,8 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org810a5ea" class="outline-4">
|
||||
<h4 id="org810a5ea"><span class="section-number-4">3.2.3</span> Source</h4>
|
||||
<div id="outline-container-orgd43ac2b" class="outline-4">
|
||||
<h4 id="orgd43ac2b"><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>
|
||||
@ -2062,16 +2038,16 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge42d718" class="outline-4">
|
||||
<h4 id="orge42d718"><span class="section-number-4">3.2.4</span> C interface</h4>
|
||||
<div id="outline-container-orgd7c8e18" class="outline-4">
|
||||
<h4 id="orgd7c8e18"><span class="section-number-4">3.2.4</span> C interface</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1ca1afe" class="outline-4">
|
||||
<h4 id="org1ca1afe"><span class="section-number-4">3.2.5</span> Fortran interface</h4>
|
||||
<div id="outline-container-orgb17a6bb" class="outline-4">
|
||||
<h4 id="orgb17a6bb"><span class="section-number-4">3.2.5</span> Fortran interface</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org906434f" class="outline-4">
|
||||
<h4 id="org906434f"><span class="section-number-4">3.2.6</span> Test</h4>
|
||||
<div id="outline-container-orgf6ea84a" class="outline-4">
|
||||
<h4 id="orgf6ea84a"><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)
|
||||
@ -2176,12 +2152,12 @@ assert(0 == test_qmckl_ao_polynomial_vgl(context));
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgecee61b" class="outline-2">
|
||||
<h2 id="orgecee61b"><span class="section-number-2">4</span> Combining radial and polynomial parts</h2>
|
||||
<div id="outline-container-orgbe0b2a1" class="outline-2">
|
||||
<h2 id="orgbe0b2a1"><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-org22317e3" class="outline-4">
|
||||
<h4 id="org22317e3"><span class="section-number-4">4.0.1</span> Get</h4>
|
||||
<div id="outline-container-orgb68e031" class="outline-4">
|
||||
<h4 id="orgb68e031"><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>);
|
||||
@ -2190,14 +2166,14 @@ assert(0 == test_qmckl_ao_polynomial_vgl(context));
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgae65c8b" class="outline-4">
|
||||
<h4 id="orgae65c8b"><span class="section-number-4">4.0.2</span> Provide</h4>
|
||||
<div id="outline-container-org213b2f8" class="outline-4">
|
||||
<h4 id="org213b2f8"><span class="section-number-4">4.0.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5968da2" class="outline-4">
|
||||
<h4 id="org5968da2"><span class="section-number-4">4.0.3</span> Compute</h4>
|
||||
<div id="outline-container-orgd459576" class="outline-4">
|
||||
<h4 id="orgd459576"><span class="section-number-4">4.0.3</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-4-0-3">
|
||||
<table id="orgd887053" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org1ef8b65" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2245,16 +2221,9 @@ assert(0 == test_qmckl_ao_polynomial_vgl(context));
|
||||
<td class="org-left">Number of nuclei</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>int64_t</code></td>
|
||||
<td class="org-left"><code>walk_num</code></td>
|
||||
<td class="org-left">in</td>
|
||||
<td class="org-left">Number of walkers</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>double</code></td>
|
||||
<td class="org-left"><code>elec_coord[walk_num][3][elec_num]</code></td>
|
||||
<td class="org-left"><code>elec_coord[3][elec_num]</code></td>
|
||||
<td class="org-left">in</td>
|
||||
<td class="org-left">Electron coordinates</td>
|
||||
</tr>
|
||||
@ -2310,14 +2279,14 @@ assert(0 == test_qmckl_ao_polynomial_vgl(context));
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>double</code></td>
|
||||
<td class="org-left"><code>shell_vgl[5][walk_num][elec_num][shell_num]</code></td>
|
||||
<td class="org-left"><code>shell_vgl[5][elec_num][shell_num]</code></td>
|
||||
<td class="org-left">in</td>
|
||||
<td class="org-left">Value, gradients and Laplacian of the shells</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>double</code></td>
|
||||
<td class="org-left"><code>ao_vgl[5][walk_num][elec_num][ao_num]</code></td>
|
||||
<td class="org-left"><code>ao_vgl[5][elec_num][ao_num]</code></td>
|
||||
<td class="org-left">out</td>
|
||||
<td class="org-left">Value, gradients and Laplacian of the AOs</td>
|
||||
</tr>
|
||||
@ -2326,7 +2295,7 @@ assert(0 == test_qmckl_ao_polynomial_vgl(context));
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #228b22;">integer</span><span style="color: #a0522d;"> function qmckl_compute_ao_vgl_f(context, </span><span style="color: #a020f0;">&</span>
|
||||
ao_num, shell_num, elec_num, nucl_num, walk_num, <span style="color: #a020f0;">&</span>
|
||||
ao_num, shell_num, elec_num, nucl_num, <span style="color: #a020f0;">&</span>
|
||||
elec_coord, nucl_coord, nucleus_index, nucleus_shell_num, <span style="color: #a020f0;">&</span>
|
||||
nucleus_range, nucleus_max_ang_mom, shell_ang_mom, <span style="color: #a020f0;">&</span>
|
||||
ao_factor, shell_vgl, ao_vgl) <span style="color: #a020f0;">&</span>
|
||||
@ -2338,8 +2307,7 @@ assert(0 == test_qmckl_ao_polynomial_vgl(context));
|
||||
<span style="color: #228b22;">integer</span>*8 , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> shell_num</span>
|
||||
<span style="color: #228b22;">integer</span>*8 , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> elec_num</span>
|
||||
<span style="color: #228b22;">integer</span>*8 , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> nucl_num</span>
|
||||
<span style="color: #228b22;">integer</span>*8 , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> walk_num</span>
|
||||
<span style="color: #228b22;">double precision</span> , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> elec_coord(elec_num,3,walk_num)</span>
|
||||
<span style="color: #228b22;">double precision</span> , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> elec_coord(elec_num,3)</span>
|
||||
<span style="color: #228b22;">double precision</span> , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> nucl_coord(nucl_num,3)</span>
|
||||
<span style="color: #228b22;">integer</span>*8 , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> nucleus_index(nucl_num)</span>
|
||||
<span style="color: #228b22;">integer</span>*8 , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> nucleus_shell_num(nucl_num)</span>
|
||||
@ -2347,13 +2315,13 @@ assert(0 == test_qmckl_ao_polynomial_vgl(context));
|
||||
<span style="color: #228b22;">integer</span> , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> nucleus_max_ang_mom(nucl_num)</span>
|
||||
<span style="color: #228b22;">integer</span> , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> shell_ang_mom(shell_num)</span>
|
||||
<span style="color: #228b22;">double precision</span> , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> ao_factor(ao_num)</span>
|
||||
<span style="color: #228b22;">double precision</span> , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> shell_vgl(shell_num,elec_num,walk_num,5)</span>
|
||||
<span style="color: #228b22;">double precision</span> , <span style="color: #a020f0;">intent</span>(out) ::<span style="color: #a0522d;"> ao_vgl(ao_num,elec_num,walk_num,5)</span>
|
||||
<span style="color: #228b22;">double precision</span> , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> shell_vgl(shell_num,elec_num,5)</span>
|
||||
<span style="color: #228b22;">double precision</span> , <span style="color: #a020f0;">intent</span>(out) ::<span style="color: #a0522d;"> ao_vgl(ao_num,elec_num,5)</span>
|
||||
|
||||
<span style="color: #228b22;">double precision</span> ::<span style="color: #a0522d;"> e_coord(3), n_coord(3)</span>
|
||||
<span style="color: #228b22;">integer</span>*8 ::<span style="color: #a0522d;"> n_poly</span>
|
||||
<span style="color: #228b22;">integer</span> ::<span style="color: #a0522d;"> l, il, k</span>
|
||||
<span style="color: #228b22;">integer</span>*8 ::<span style="color: #a0522d;"> ielec, inucl, ishell, iwalk</span>
|
||||
<span style="color: #228b22;">integer</span>*8 ::<span style="color: #a0522d;"> ielec, inucl, ishell</span>
|
||||
<span style="color: #228b22;">integer</span> ::<span style="color: #a0522d;"> lstart(0:20)</span>
|
||||
<span style="color: #228b22;">double precision</span> ::<span style="color: #a0522d;"> x, y, z, r2</span>
|
||||
<span style="color: #228b22;">double precision</span> ::<span style="color: #a0522d;"> cutoff</span>
|
||||
@ -2375,71 +2343,69 @@ assert(0 == test_qmckl_ao_polynomial_vgl(context));
|
||||
! <span style="color: #b22222;">TODO : Use numerical precision here</span>
|
||||
cutoff = -dlog(1.d-15)
|
||||
|
||||
<span style="color: #a020f0;">do</span> iwalk = 1,walk_num
|
||||
<span style="color: #a020f0;">do</span> ielec = 1, elec_num
|
||||
e_coord(1) = elec_coord(ielec,1,iwalk)
|
||||
e_coord(2) = elec_coord(ielec,2,iwalk)
|
||||
e_coord(3) = elec_coord(ielec,3,iwalk)
|
||||
k=1
|
||||
<span style="color: #a020f0;">do</span> inucl=1,nucl_num
|
||||
n_coord(1) = nucl_coord(inucl,1)
|
||||
n_coord(2) = nucl_coord(inucl,2)
|
||||
n_coord(3) = nucl_coord(inucl,3)
|
||||
<span style="color: #a020f0;">do</span> ielec = 1, elec_num
|
||||
e_coord(1) = elec_coord(ielec,1)
|
||||
e_coord(2) = elec_coord(ielec,2)
|
||||
e_coord(3) = elec_coord(ielec,3)
|
||||
k=1
|
||||
<span style="color: #a020f0;">do</span> inucl=1,nucl_num
|
||||
n_coord(1) = nucl_coord(inucl,1)
|
||||
n_coord(2) = nucl_coord(inucl,2)
|
||||
n_coord(3) = nucl_coord(inucl,3)
|
||||
|
||||
! <span style="color: #b22222;">Test if the electron is in the range of the nucleus</span>
|
||||
x = e_coord(1) - n_coord(1)
|
||||
y = e_coord(2) - n_coord(2)
|
||||
z = e_coord(3) - n_coord(3)
|
||||
! <span style="color: #b22222;">Test if the electron is in the range of the nucleus</span>
|
||||
x = e_coord(1) - n_coord(1)
|
||||
y = e_coord(2) - n_coord(2)
|
||||
z = e_coord(3) - n_coord(3)
|
||||
|
||||
r2 = x*x + z*z + z*z
|
||||
r2 = x*x + z*z + z*z
|
||||
|
||||
<span style="color: #a020f0;">if</span> (r2 > cutoff*nucleus_range(inucl)) <span style="color: #a020f0;">then</span>
|
||||
<span style="color: #a020f0;">cycle</span>
|
||||
<span style="color: #a020f0;">end if</span>
|
||||
<span style="color: #a020f0;">if</span> (r2 > cutoff*nucleus_range(inucl)) <span style="color: #a020f0;">then</span>
|
||||
<span style="color: #a020f0;">cycle</span>
|
||||
<span style="color: #a020f0;">end if</span>
|
||||
|
||||
! <span style="color: #b22222;">Compute polynomials</span>
|
||||
info = qmckl_ao_polynomial_vgl_f(context, e_coord, n_coord, <span style="color: #a020f0;">&</span>
|
||||
nucleus_max_ang_mom(inucl), n_poly, powers, 3_8, <span style="color: #a020f0;">&</span>
|
||||
poly_vgl, 5_8)
|
||||
! <span style="color: #b22222;">Compute polynomials</span>
|
||||
info = qmckl_ao_polynomial_vgl_f(context, e_coord, n_coord, <span style="color: #a020f0;">&</span>
|
||||
nucleus_max_ang_mom(inucl), n_poly, powers, 3_8, <span style="color: #a020f0;">&</span>
|
||||
poly_vgl, 5_8)
|
||||
|
||||
! <span style="color: #b22222;">Loop over shells</span>
|
||||
<span style="color: #a020f0;">do</span> ishell = nucleus_index(inucl)+1, nucleus_index(inucl)+nucleus_shell_num(inucl)
|
||||
l = shell_ang_mom(ishell)
|
||||
<span style="color: #a020f0;">do</span> il = lstart(l), lstart(l+1)-1
|
||||
! <span style="color: #b22222;">Value</span>
|
||||
ao_vgl(k,ielec,iwalk,1) = <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(1,il) * shell_vgl(ishell,ielec,iwalk,1) * ao_factor(k)
|
||||
! <span style="color: #b22222;">Loop over shells</span>
|
||||
<span style="color: #a020f0;">do</span> ishell = nucleus_index(inucl)+1, nucleus_index(inucl)+nucleus_shell_num(inucl)
|
||||
l = shell_ang_mom(ishell)
|
||||
<span style="color: #a020f0;">do</span> il = lstart(l), lstart(l+1)-1
|
||||
! <span style="color: #b22222;">Value</span>
|
||||
ao_vgl(k,ielec,1) = <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(1,il) * shell_vgl(ishell,ielec,1) * ao_factor(k)
|
||||
|
||||
! <span style="color: #b22222;">Grad_x</span>
|
||||
ao_vgl(k,ielec,iwalk,2) = ( <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(2,il) * shell_vgl(ishell,ielec,iwalk,1) + <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(1,il) * shell_vgl(ishell,ielec,iwalk,2) <span style="color: #a020f0;">&</span>
|
||||
) * ao_factor(k)
|
||||
! <span style="color: #b22222;">Grad_x</span>
|
||||
ao_vgl(k,ielec,2) = ( <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(2,il) * shell_vgl(ishell,ielec,1) + <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(1,il) * shell_vgl(ishell,ielec,2) <span style="color: #a020f0;">&</span>
|
||||
) * ao_factor(k)
|
||||
|
||||
! <span style="color: #b22222;">Grad_y</span>
|
||||
ao_vgl(k,ielec,iwalk,3) = ( <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(3,il) * shell_vgl(ishell,ielec,iwalk,1) + <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(1,il) * shell_vgl(ishell,ielec,iwalk,3) <span style="color: #a020f0;">&</span>
|
||||
) * ao_factor(k)
|
||||
! <span style="color: #b22222;">Grad_y</span>
|
||||
ao_vgl(k,ielec,3) = ( <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(3,il) * shell_vgl(ishell,ielec,1) + <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(1,il) * shell_vgl(ishell,ielec,3) <span style="color: #a020f0;">&</span>
|
||||
) * ao_factor(k)
|
||||
|
||||
! <span style="color: #b22222;">Grad_z</span>
|
||||
ao_vgl(k,ielec,iwalk,4) = ( <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(4,il) * shell_vgl(ishell,ielec,iwalk,1) + <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(1,il) * shell_vgl(ishell,ielec,iwalk,4) <span style="color: #a020f0;">&</span>
|
||||
) * ao_factor(k)
|
||||
! <span style="color: #b22222;">Grad_z</span>
|
||||
ao_vgl(k,ielec,4) = ( <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(4,il) * shell_vgl(ishell,ielec,1) + <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(1,il) * shell_vgl(ishell,ielec,4) <span style="color: #a020f0;">&</span>
|
||||
) * ao_factor(k)
|
||||
|
||||
! <span style="color: #b22222;">Lapl_z</span>
|
||||
ao_vgl(k,ielec,iwalk,5) = ( <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(5,il) * shell_vgl(ishell,ielec,iwalk,1) + <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(1,il) * shell_vgl(ishell,ielec,iwalk,5) + <span style="color: #a020f0;">&</span>
|
||||
2.d0 * ( <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(2,il) * shell_vgl(ishell,ielec,iwalk,2) + <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(3,il) * shell_vgl(ishell,ielec,iwalk,3) + <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(4,il) * shell_vgl(ishell,ielec,iwalk,4) ) <span style="color: #a020f0;">&</span>
|
||||
) * ao_factor(k)
|
||||
! <span style="color: #b22222;">Lapl_z</span>
|
||||
ao_vgl(k,ielec,5) = ( <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(5,il) * shell_vgl(ishell,ielec,1) + <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(1,il) * shell_vgl(ishell,ielec,5) + <span style="color: #a020f0;">&</span>
|
||||
2.d0 * ( <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(2,il) * shell_vgl(ishell,ielec,2) + <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(3,il) * shell_vgl(ishell,ielec,3) + <span style="color: #a020f0;">&</span>
|
||||
poly_vgl(4,il) * shell_vgl(ishell,ielec,4) ) <span style="color: #a020f0;">&</span>
|
||||
) * ao_factor(k)
|
||||
|
||||
k = k+1
|
||||
<span style="color: #a020f0;">end do</span>
|
||||
k = k+1
|
||||
<span style="color: #a020f0;">end do</span>
|
||||
<span style="color: #a020f0;">end do</span>
|
||||
<span style="color: #a020f0;">end do</span>
|
||||
@ -2457,7 +2423,6 @@ assert(0 == test_qmckl_ao_polynomial_vgl(context));
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">shell_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">elec_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">nucl_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">walk_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">elec_coord</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">nucl_coord</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span>* <span style="color: #a0522d;">nucleus_index</span>,
|
||||
@ -2473,14 +2438,14 @@ assert(0 == test_qmckl_ao_polynomial_vgl(context));
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4e3a56c" class="outline-4">
|
||||
<h4 id="org4e3a56c"><span class="section-number-4">4.0.4</span> Test</h4>
|
||||
<div id="outline-container-orgb1bf065" class="outline-4">
|
||||
<h4 id="orgb1bf065"><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-09-27 Mon 09:32</p>
|
||||
<p class="date">Created: 2021-09-28 Tue 22:27</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-09-27 Mon 09:32 -->
|
||||
<!-- 2021-09-28 Tue 22:27 -->
|
||||
<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="#orgc9dc377">1. Context handling</a>
|
||||
<li><a href="#orgccc7ece">1. Context handling</a>
|
||||
<ul>
|
||||
<li><a href="#org702517e">1.1. Data structure</a></li>
|
||||
<li><a href="#orgc1cd890">1.2. Creation</a></li>
|
||||
<li><a href="#org8fcf3e9">1.3. Locking</a></li>
|
||||
<li><a href="#orgd636f3f">1.4. <span class="todo TODO">TODO</span> Copy</a></li>
|
||||
<li><a href="#org42c1916">1.5. Destroy</a></li>
|
||||
<li><a href="#orga141b8f">1.1. Data structure</a></li>
|
||||
<li><a href="#orgc2af241">1.2. Creation</a></li>
|
||||
<li><a href="#org7597b9e">1.3. Locking</a></li>
|
||||
<li><a href="#org908461b">1.4. <span class="todo TODO">TODO</span> Copy</a></li>
|
||||
<li><a href="#org28ae9f3">1.5. Destroy</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc9dc377" class="outline-2">
|
||||
<h2 id="orgc9dc377"><span class="section-number-2">1</span> Context handling</h2>
|
||||
<div id="outline-container-orgccc7ece" class="outline-2">
|
||||
<h2 id="orgccc7ece"><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="org5bd40ab"><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="orgf9e7e98"><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-org702517e" class="outline-3">
|
||||
<h3 id="org702517e"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-orga141b8f" class="outline-3">
|
||||
<h3 id="orga141b8f"><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="#orgc1cd890">qmckl<sub>context</sub><sub>create</sub></a>, <a href="#org42c1916">qmckl<sub>context</sub><sub>destroy</sub></a> and <a href="#orgd636f3f">qmckl<sub>context</sub><sub>copy</sub></a>
|
||||
<a href="#orgc2af241">qmckl<sub>context</sub><sub>create</sub></a>, <a href="#org28ae9f3">qmckl<sub>context</sub><sub>destroy</sub></a> and <a href="#org908461b">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-orgc1cd890" class="outline-3">
|
||||
<h3 id="orgc1cd890"><span class="section-number-3">1.2</span> Creation</h3>
|
||||
<div id="outline-container-orgc2af241" class="outline-3">
|
||||
<h3 id="orgc2af241"><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-org8fcf3e9" class="outline-3">
|
||||
<h3 id="org8fcf3e9"><span class="section-number-3">1.3</span> Locking</h3>
|
||||
<div id="outline-container-org7597b9e" class="outline-3">
|
||||
<h3 id="org7597b9e"><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-orgd636f3f" class="outline-3">
|
||||
<h3 id="orgd636f3f"><span class="section-number-3">1.4</span> <span class="todo TODO">TODO</span> Copy</h3>
|
||||
<div id="outline-container-org908461b" class="outline-3">
|
||||
<h3 id="org908461b"><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-org42c1916" class="outline-3">
|
||||
<h3 id="org42c1916"><span class="section-number-3">1.5</span> Destroy</h3>
|
||||
<div id="outline-container-org28ae9f3" class="outline-3">
|
||||
<h3 id="org28ae9f3"><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-09-27 Mon 09:32</p>
|
||||
<p class="date">Created: 2021-09-28 Tue 22:27</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-09-27 Mon 09:32 -->
|
||||
<!-- 2021-09-28 Tue 22:27 -->
|
||||
<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="#org3e7b417">1. Squared distance</a>
|
||||
<li><a href="#org6a76e32">1. Squared distance</a>
|
||||
<ul>
|
||||
<li><a href="#orga50c777">1.1. <code>qmckl_distance_sq</code></a>
|
||||
<li><a href="#orgafebee4">1.1. <code>qmckl_distance_sq</code></a>
|
||||
<ul>
|
||||
<li><a href="#orgd564705">1.1.1. Requirements</a></li>
|
||||
<li><a href="#org23744c9">1.1.2. C header</a></li>
|
||||
<li><a href="#org0fbbc13">1.1.3. Source</a></li>
|
||||
<li><a href="#orgf4d4fd8">1.1.4. Performance</a></li>
|
||||
<li><a href="#org13ca246">1.1.1. Requirements</a></li>
|
||||
<li><a href="#orgbc384ec">1.1.2. C header</a></li>
|
||||
<li><a href="#orgb7080af">1.1.3. Source</a></li>
|
||||
<li><a href="#org48fe748">1.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orga2cbc48">2. Distance</a>
|
||||
<li><a href="#orge9dfc14">2. Distance</a>
|
||||
<ul>
|
||||
<li><a href="#org70b1c85">2.1. <code>qmckl_distance</code></a>
|
||||
<li><a href="#org79661e5">2.1. <code>qmckl_distance</code></a>
|
||||
<ul>
|
||||
<li><a href="#org0a700be">2.1.1. Requirements</a></li>
|
||||
<li><a href="#org8f3aafe">2.1.2. C header</a></li>
|
||||
<li><a href="#org3960cb1">2.1.3. Source</a></li>
|
||||
<li><a href="#org1c583f2">2.1.4. Performance</a></li>
|
||||
<li><a href="#orgf976c99">2.1.1. Requirements</a></li>
|
||||
<li><a href="#org5cfe04b">2.1.2. C header</a></li>
|
||||
<li><a href="#orge3edf06">2.1.3. Source</a></li>
|
||||
<li><a href="#org40b18b6">2.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org5557f56">3. Rescaled Distance</a>
|
||||
<li><a href="#orgb94c748">3. Rescaled Distance</a>
|
||||
<ul>
|
||||
<li><a href="#org7123bb3">3.1. <code>qmckl_distance_rescaled</code></a>
|
||||
<li><a href="#org243a56f">3.1. <code>qmckl_distance_rescaled</code></a>
|
||||
<ul>
|
||||
<li><a href="#orgb860495">3.1.1. Requirements</a></li>
|
||||
<li><a href="#orga0abd8b">3.1.2. C header</a></li>
|
||||
<li><a href="#org2209caa">3.1.3. Source</a></li>
|
||||
<li><a href="#orgdd7679b">3.1.4. Performance</a></li>
|
||||
<li><a href="#org0691a4c">3.1.1. Requirements</a></li>
|
||||
<li><a href="#org15aa7b0">3.1.2. C header</a></li>
|
||||
<li><a href="#org1ea0063">3.1.3. Source</a></li>
|
||||
<li><a href="#org8d14138">3.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org0d630ba">4. Rescaled Distance Derivatives</a>
|
||||
<li><a href="#org3b01d33">4. Rescaled Distance Derivatives</a>
|
||||
<ul>
|
||||
<li><a href="#orgcf5e9e8">4.1. <code>qmckl_distance_rescaled_deriv_e</code></a>
|
||||
<li><a href="#org4610270">4.1. <code>qmckl_distance_rescaled_deriv_e</code></a>
|
||||
<ul>
|
||||
<li><a href="#orgf54db8b">4.1.1. Requirements</a></li>
|
||||
<li><a href="#orga71bd44">4.1.2. C header</a></li>
|
||||
<li><a href="#org84d735b">4.1.3. Source</a></li>
|
||||
<li><a href="#org75b7110">4.1.4. Performance</a></li>
|
||||
<li><a href="#org1394f26">4.1.1. Requirements</a></li>
|
||||
<li><a href="#orgb395f3f">4.1.2. C header</a></li>
|
||||
<li><a href="#orgd57d585">4.1.3. Source</a></li>
|
||||
<li><a href="#org7ffbc88">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-org3e7b417" class="outline-2">
|
||||
<h2 id="org3e7b417"><span class="section-number-2">1</span> Squared distance</h2>
|
||||
<div id="outline-container-org6a76e32" class="outline-2">
|
||||
<h2 id="org6a76e32"><span class="section-number-2">1</span> Squared distance</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
</div>
|
||||
<div id="outline-container-orga50c777" class="outline-3">
|
||||
<h3 id="orga50c777"><span class="section-number-3">1.1</span> <code>qmckl_distance_sq</code></h3>
|
||||
<div id="outline-container-orgafebee4" class="outline-3">
|
||||
<h3 id="orgafebee4"><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="org0609eba" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org8638f71" 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-orgd564705" class="outline-4">
|
||||
<h4 id="orgd564705"><span class="section-number-4">1.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org13ca246" class="outline-4">
|
||||
<h4 id="org13ca246"><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-org23744c9" class="outline-4">
|
||||
<h4 id="org23744c9"><span class="section-number-4">1.1.2</span> C header</h4>
|
||||
<div id="outline-container-orgbc384ec" class="outline-4">
|
||||
<h4 id="orgbc384ec"><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-org0fbbc13" class="outline-4">
|
||||
<h4 id="org0fbbc13"><span class="section-number-4">1.1.3</span> Source</h4>
|
||||
<div id="outline-container-orgb7080af" class="outline-4">
|
||||
<h4 id="orgb7080af"><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-orgf4d4fd8" class="outline-4">
|
||||
<h4 id="orgf4d4fd8"><span class="section-number-4">1.1.4</span> Performance</h4>
|
||||
<div id="outline-container-org48fe748" class="outline-4">
|
||||
<h4 id="org48fe748"><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-orga2cbc48" class="outline-2">
|
||||
<h2 id="orga2cbc48"><span class="section-number-2">2</span> Distance</h2>
|
||||
<div id="outline-container-orge9dfc14" class="outline-2">
|
||||
<h2 id="orge9dfc14"><span class="section-number-2">2</span> Distance</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-org70b1c85" class="outline-3">
|
||||
<h3 id="org70b1c85"><span class="section-number-3">2.1</span> <code>qmckl_distance</code></h3>
|
||||
<div id="outline-container-org79661e5" class="outline-3">
|
||||
<h3 id="org79661e5"><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="org5aa5a75" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org64d08ac" 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-org0a700be" class="outline-4">
|
||||
<h4 id="org0a700be"><span class="section-number-4">2.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-orgf976c99" class="outline-4">
|
||||
<h4 id="orgf976c99"><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-org8f3aafe" class="outline-4">
|
||||
<h4 id="org8f3aafe"><span class="section-number-4">2.1.2</span> C header</h4>
|
||||
<div id="outline-container-org5cfe04b" class="outline-4">
|
||||
<h4 id="org5cfe04b"><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-org3960cb1" class="outline-4">
|
||||
<h4 id="org3960cb1"><span class="section-number-4">2.1.3</span> Source</h4>
|
||||
<div id="outline-container-orge3edf06" class="outline-4">
|
||||
<h4 id="orge3edf06"><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-org1c583f2" class="outline-4">
|
||||
<h4 id="org1c583f2"><span class="section-number-4">2.1.4</span> Performance</h4>
|
||||
<div id="outline-container-org40b18b6" class="outline-4">
|
||||
<h4 id="org40b18b6"><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-org5557f56" class="outline-2">
|
||||
<h2 id="org5557f56"><span class="section-number-2">3</span> Rescaled Distance</h2>
|
||||
<div id="outline-container-orgb94c748" class="outline-2">
|
||||
<h2 id="orgb94c748"><span class="section-number-2">3</span> Rescaled Distance</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
</div>
|
||||
<div id="outline-container-org7123bb3" class="outline-3">
|
||||
<h3 id="org7123bb3"><span class="section-number-3">3.1</span> <code>qmckl_distance_rescaled</code></h3>
|
||||
<div id="outline-container-org243a56f" class="outline-3">
|
||||
<h3 id="org243a56f"><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="org1204b0a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org9537108" 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-orgb860495" class="outline-4">
|
||||
<h4 id="orgb860495"><span class="section-number-4">3.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org0691a4c" class="outline-4">
|
||||
<h4 id="org0691a4c"><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-orga0abd8b" class="outline-4">
|
||||
<h4 id="orga0abd8b"><span class="section-number-4">3.1.2</span> C header</h4>
|
||||
<div id="outline-container-org15aa7b0" class="outline-4">
|
||||
<h4 id="org15aa7b0"><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-org2209caa" class="outline-4">
|
||||
<h4 id="org2209caa"><span class="section-number-4">3.1.3</span> Source</h4>
|
||||
<div id="outline-container-org1ea0063" class="outline-4">
|
||||
<h4 id="org1ea0063"><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-orgdd7679b" class="outline-4">
|
||||
<h4 id="orgdd7679b"><span class="section-number-4">3.1.4</span> Performance</h4>
|
||||
<div id="outline-container-org8d14138" class="outline-4">
|
||||
<h4 id="org8d14138"><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-org0d630ba" class="outline-2">
|
||||
<h2 id="org0d630ba"><span class="section-number-2">4</span> Rescaled Distance Derivatives</h2>
|
||||
<div id="outline-container-org3b01d33" class="outline-2">
|
||||
<h2 id="org3b01d33"><span class="section-number-2">4</span> Rescaled Distance Derivatives</h2>
|
||||
<div class="outline-text-2" id="text-4">
|
||||
</div>
|
||||
<div id="outline-container-orgcf5e9e8" class="outline-3">
|
||||
<h3 id="orgcf5e9e8"><span class="section-number-3">4.1</span> <code>qmckl_distance_rescaled_deriv_e</code></h3>
|
||||
<div id="outline-container-org4610270" class="outline-3">
|
||||
<h3 id="org4610270"><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="org4cd4f9d" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgfe00350" 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-orgf54db8b" class="outline-4">
|
||||
<h4 id="orgf54db8b"><span class="section-number-4">4.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org1394f26" class="outline-4">
|
||||
<h4 id="org1394f26"><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-orga71bd44" class="outline-4">
|
||||
<h4 id="orga71bd44"><span class="section-number-4">4.1.2</span> C header</h4>
|
||||
<div id="outline-container-orgb395f3f" class="outline-4">
|
||||
<h4 id="orgb395f3f"><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-org84d735b" class="outline-4">
|
||||
<h4 id="org84d735b"><span class="section-number-4">4.1.3</span> Source</h4>
|
||||
<div id="outline-container-orgd57d585" class="outline-4">
|
||||
<h4 id="orgd57d585"><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-org75b7110" class="outline-4">
|
||||
<h4 id="org75b7110"><span class="section-number-4">4.1.4</span> Performance</h4>
|
||||
<div id="outline-container-org7ffbc88" class="outline-4">
|
||||
<h4 id="org7ffbc88"><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-09-27 Mon 09:32</p>
|
||||
<p class="date">Created: 2021-09-28 Tue 22:27</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-09-27 Mon 09:32 -->
|
||||
<!-- 2021-09-28 Tue 22:27 -->
|
||||
<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="#org3b8d383">1. Context</a>
|
||||
<li><a href="#orge52d57f">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#orge46d0a9">1.1. Data structure</a></li>
|
||||
<li><a href="#org4efddec">1.2. Access functions</a>
|
||||
<li><a href="#org648fe39">1.1. Data structure</a></li>
|
||||
<li><a href="#org38799b1">1.2. Access functions</a>
|
||||
<ul>
|
||||
<li><a href="#orgd407b18">1.2.1. Number of electrons</a></li>
|
||||
<li><a href="#org8643a58">1.2.2. Number of walkers</a></li>
|
||||
<li><a href="#org6a8023d">1.2.3. Scaling factors Kappa</a></li>
|
||||
<li><a href="#org0aac00d">1.2.4. Electron coordinates</a></li>
|
||||
<li><a href="#org9a002ab">1.2.1. Number of electrons</a></li>
|
||||
<li><a href="#orge6c64e1">1.2.2. Number of walkers</a></li>
|
||||
<li><a href="#org314b28d">1.2.3. Scaling factors Kappa</a></li>
|
||||
<li><a href="#orgdf1a227">1.2.4. Electron coordinates</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org0aa436b">1.3. Initialization functions</a></li>
|
||||
<li><a href="#orgc54ceb3">1.4. Test</a></li>
|
||||
<li><a href="#org677a4f6">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org552cfd9">1.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org4292d71">2. Computation</a>
|
||||
<li><a href="#orgc43f9a0">2. Computation</a>
|
||||
<ul>
|
||||
<li><a href="#org7f8e3ee">2.1. Electron-electron distances</a>
|
||||
<li><a href="#orge6cef4d">2.1. Electron-electron distances</a>
|
||||
<ul>
|
||||
<li><a href="#org9aa6643">2.1.1. Get</a></li>
|
||||
<li><a href="#org14ae384">2.1.2. Compute</a></li>
|
||||
<li><a href="#org5195031">2.1.3. Test</a></li>
|
||||
<li><a href="#org007a409">2.1.1. Get</a></li>
|
||||
<li><a href="#orgd4f2061">2.1.2. Compute</a></li>
|
||||
<li><a href="#orgda43558">2.1.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org55ef221">2.2. Electron-electron rescaled distances</a>
|
||||
<li><a href="#orge944de3">2.2. Electron-electron rescaled distances</a>
|
||||
<ul>
|
||||
<li><a href="#org1b113a8">2.2.1. Get</a></li>
|
||||
<li><a href="#orgc079e13">2.2.2. Compute</a></li>
|
||||
<li><a href="#orgeefa700">2.2.3. Test</a></li>
|
||||
<li><a href="#org49b3066">2.2.1. Get</a></li>
|
||||
<li><a href="#org760ddfa">2.2.2. Compute</a></li>
|
||||
<li><a href="#orgd820c7a">2.2.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org30b7818">2.3. Electron-electron rescaled distance gradients and laplacian with respect to electron coords</a>
|
||||
<li><a href="#org44bcc55">2.3. Electron-electron rescaled distance gradients and laplacian with respect to electron coords</a>
|
||||
<ul>
|
||||
<li><a href="#orga7f867d">2.3.1. Get</a></li>
|
||||
<li><a href="#org804286f">2.3.2. Compute</a></li>
|
||||
<li><a href="#org0acd13e">2.3.3. Test</a></li>
|
||||
<li><a href="#org99173e5">2.3.1. Get</a></li>
|
||||
<li><a href="#orgd805141">2.3.2. Compute</a></li>
|
||||
<li><a href="#org315995f">2.3.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org73656a7">2.4. Electron-nucleus distances</a>
|
||||
<li><a href="#orge534488">2.4. Electron-nucleus distances</a>
|
||||
<ul>
|
||||
<li><a href="#orga50be03">2.4.1. Get</a></li>
|
||||
<li><a href="#orgca5db8a">2.4.2. Compute</a></li>
|
||||
<li><a href="#org19e28e5">2.4.3. Test</a></li>
|
||||
<li><a href="#org9db2f65">2.4.1. Get</a></li>
|
||||
<li><a href="#org8021775">2.4.2. Compute</a></li>
|
||||
<li><a href="#orga26de23">2.4.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org2166c70">2.5. Electron-nucleus rescaled distances</a>
|
||||
<li><a href="#org8e98b1e">2.5. Electron-nucleus rescaled distances</a>
|
||||
<ul>
|
||||
<li><a href="#org6506780">2.5.1. Get</a></li>
|
||||
<li><a href="#org2b2aea2">2.5.2. Compute</a></li>
|
||||
<li><a href="#org817113a">2.5.3. Test</a></li>
|
||||
<li><a href="#org632008a">2.5.1. Get</a></li>
|
||||
<li><a href="#org154551e">2.5.2. Compute</a></li>
|
||||
<li><a href="#org4ca0d49">2.5.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orge216684">2.6. Electron-nucleus rescaled distance gradients and laplacian with respect to electron coords</a>
|
||||
<li><a href="#orgc17fed4">2.6. Electron-nucleus rescaled distance gradients and laplacian with respect to electron coords</a>
|
||||
<ul>
|
||||
<li><a href="#org78b4e47">2.6.1. Get</a></li>
|
||||
<li><a href="#orgea9044e">2.6.2. Compute</a></li>
|
||||
<li><a href="#org1d8608e">2.6.3. Test</a></li>
|
||||
<li><a href="#org94449b6">2.6.1. Get</a></li>
|
||||
<li><a href="#orgb8cf2ca">2.6.2. Compute</a></li>
|
||||
<li><a href="#orgbfb7e8a">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-org3b8d383" class="outline-2">
|
||||
<h2 id="org3b8d383"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-orge52d57f" class="outline-2">
|
||||
<h2 id="orge52d57f"><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-orge46d0a9" class="outline-3">
|
||||
<h3 id="orge46d0a9"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-org648fe39" class="outline-3">
|
||||
<h3 id="org648fe39"><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-org4efddec" class="outline-3">
|
||||
<h3 id="org4efddec"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div id="outline-container-org38799b1" class="outline-3">
|
||||
<h3 id="org38799b1"><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-orgd407b18" class="outline-4">
|
||||
<h4 id="orgd407b18"><span class="section-number-4">1.2.1</span> Number of electrons</h4>
|
||||
<div id="outline-container-org9a002ab" class="outline-4">
|
||||
<h4 id="org9a002ab"><span class="section-number-4">1.2.1</span> Number of electrons</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8643a58" class="outline-4">
|
||||
<h4 id="org8643a58"><span class="section-number-4">1.2.2</span> Number of walkers</h4>
|
||||
<div id="outline-container-orge6c64e1" class="outline-4">
|
||||
<h4 id="orge6c64e1"><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-org6a8023d" class="outline-4">
|
||||
<h4 id="org6a8023d"><span class="section-number-4">1.2.3</span> Scaling factors Kappa</h4>
|
||||
<div id="outline-container-org314b28d" class="outline-4">
|
||||
<h4 id="org314b28d"><span class="section-number-4">1.2.3</span> Scaling factors Kappa</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0aac00d" class="outline-4">
|
||||
<h4 id="org0aac00d"><span class="section-number-4">1.2.4</span> Electron coordinates</h4>
|
||||
<div id="outline-container-orgdf1a227" class="outline-4">
|
||||
<h4 id="orgdf1a227"><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-org0aa436b" class="outline-3">
|
||||
<h3 id="org0aa436b"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-org677a4f6" class="outline-3">
|
||||
<h3 id="org677a4f6"><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-orgc54ceb3" class="outline-3">
|
||||
<h3 id="orgc54ceb3"><span class="section-number-3">1.4</span> Test</h3>
|
||||
<div id="outline-container-org552cfd9" class="outline-3">
|
||||
<h3 id="org552cfd9"><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-org4292d71" class="outline-2">
|
||||
<h2 id="org4292d71"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div id="outline-container-orgc43f9a0" class="outline-2">
|
||||
<h2 id="orgc43f9a0"><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-org7f8e3ee" class="outline-3">
|
||||
<h3 id="org7f8e3ee"><span class="section-number-3">2.1</span> Electron-electron distances</h3>
|
||||
<div id="outline-container-orge6cef4d" class="outline-3">
|
||||
<h3 id="orge6cef4d"><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-org9aa6643" class="outline-4">
|
||||
<h4 id="org9aa6643"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div id="outline-container-org007a409" class="outline-4">
|
||||
<h4 id="org007a409"><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-org14ae384" class="outline-4">
|
||||
<h4 id="org14ae384"><span class="section-number-4">2.1.2</span> Compute</h4>
|
||||
<div id="outline-container-orgd4f2061" class="outline-4">
|
||||
<h4 id="orgd4f2061"><span class="section-number-4">2.1.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-1-2">
|
||||
<table id="org44ff3c3" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org1674c4c" 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-org5195031" class="outline-4">
|
||||
<h4 id="org5195031"><span class="section-number-4">2.1.3</span> Test</h4>
|
||||
<div id="outline-container-orgda43558" class="outline-4">
|
||||
<h4 id="orgda43558"><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-org55ef221" class="outline-3">
|
||||
<h3 id="org55ef221"><span class="section-number-3">2.2</span> Electron-electron rescaled distances</h3>
|
||||
<div id="outline-container-orge944de3" class="outline-3">
|
||||
<h3 id="orge944de3"><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-org1b113a8" class="outline-4">
|
||||
<h4 id="org1b113a8"><span class="section-number-4">2.2.1</span> Get</h4>
|
||||
<div id="outline-container-org49b3066" class="outline-4">
|
||||
<h4 id="org49b3066"><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-orgc079e13" class="outline-4">
|
||||
<h4 id="orgc079e13"><span class="section-number-4">2.2.2</span> Compute</h4>
|
||||
<div id="outline-container-org760ddfa" class="outline-4">
|
||||
<h4 id="org760ddfa"><span class="section-number-4">2.2.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-2-2">
|
||||
<table id="orgf914130" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org0b605aa" 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-orgeefa700" class="outline-4">
|
||||
<h4 id="orgeefa700"><span class="section-number-4">2.2.3</span> Test</h4>
|
||||
<div id="outline-container-orgd820c7a" class="outline-4">
|
||||
<h4 id="orgd820c7a"><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-org30b7818" class="outline-3">
|
||||
<h3 id="org30b7818"><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-org44bcc55" class="outline-3">
|
||||
<h3 id="org44bcc55"><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-orga7f867d" class="outline-4">
|
||||
<h4 id="orga7f867d"><span class="section-number-4">2.3.1</span> Get</h4>
|
||||
<div id="outline-container-org99173e5" class="outline-4">
|
||||
<h4 id="org99173e5"><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-org804286f" class="outline-4">
|
||||
<h4 id="org804286f"><span class="section-number-4">2.3.2</span> Compute</h4>
|
||||
<div id="outline-container-orgd805141" class="outline-4">
|
||||
<h4 id="orgd805141"><span class="section-number-4">2.3.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-3-2">
|
||||
<table id="org6ee6ed4" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org10b5b25" 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-org0acd13e" class="outline-4">
|
||||
<h4 id="org0acd13e"><span class="section-number-4">2.3.3</span> Test</h4>
|
||||
<div id="outline-container-org315995f" class="outline-4">
|
||||
<h4 id="org315995f"><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-org73656a7" class="outline-3">
|
||||
<h3 id="org73656a7"><span class="section-number-3">2.4</span> Electron-nucleus distances</h3>
|
||||
<div id="outline-container-orge534488" class="outline-3">
|
||||
<h3 id="orge534488"><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-orga50be03" class="outline-4">
|
||||
<h4 id="orga50be03"><span class="section-number-4">2.4.1</span> Get</h4>
|
||||
<div id="outline-container-org9db2f65" class="outline-4">
|
||||
<h4 id="org9db2f65"><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-orgca5db8a" class="outline-4">
|
||||
<h4 id="orgca5db8a"><span class="section-number-4">2.4.2</span> Compute</h4>
|
||||
<div id="outline-container-org8021775" class="outline-4">
|
||||
<h4 id="org8021775"><span class="section-number-4">2.4.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-4-2">
|
||||
<table id="orgc921795" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgc72ae0a" 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-org19e28e5" class="outline-4">
|
||||
<h4 id="org19e28e5"><span class="section-number-4">2.4.3</span> Test</h4>
|
||||
<div id="outline-container-orga26de23" class="outline-4">
|
||||
<h4 id="orga26de23"><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-org2166c70" class="outline-3">
|
||||
<h3 id="org2166c70"><span class="section-number-3">2.5</span> Electron-nucleus rescaled distances</h3>
|
||||
<div id="outline-container-org8e98b1e" class="outline-3">
|
||||
<h3 id="org8e98b1e"><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-org6506780" class="outline-4">
|
||||
<h4 id="org6506780"><span class="section-number-4">2.5.1</span> Get</h4>
|
||||
<div id="outline-container-org632008a" class="outline-4">
|
||||
<h4 id="org632008a"><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-org2b2aea2" class="outline-4">
|
||||
<h4 id="org2b2aea2"><span class="section-number-4">2.5.2</span> Compute</h4>
|
||||
<div id="outline-container-org154551e" class="outline-4">
|
||||
<h4 id="org154551e"><span class="section-number-4">2.5.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-5-2">
|
||||
<table id="org7dd76a6" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org13d7b8a" 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-org817113a" class="outline-4">
|
||||
<h4 id="org817113a"><span class="section-number-4">2.5.3</span> Test</h4>
|
||||
<div id="outline-container-org4ca0d49" class="outline-4">
|
||||
<h4 id="org4ca0d49"><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-orge216684" class="outline-3">
|
||||
<h3 id="orge216684"><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-orgc17fed4" class="outline-3">
|
||||
<h3 id="orgc17fed4"><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-org78b4e47" class="outline-4">
|
||||
<h4 id="org78b4e47"><span class="section-number-4">2.6.1</span> Get</h4>
|
||||
<div id="outline-container-org94449b6" class="outline-4">
|
||||
<h4 id="org94449b6"><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-orgea9044e" class="outline-4">
|
||||
<h4 id="orgea9044e"><span class="section-number-4">2.6.2</span> Compute</h4>
|
||||
<div id="outline-container-orgb8cf2ca" class="outline-4">
|
||||
<h4 id="orgb8cf2ca"><span class="section-number-4">2.6.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-6-2">
|
||||
<table id="org27dec91" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org6256e21" 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-org1d8608e" class="outline-4">
|
||||
<h4 id="org1d8608e"><span class="section-number-4">2.6.3</span> Test</h4>
|
||||
<div id="outline-container-orgbfb7e8a" class="outline-4">
|
||||
<h4 id="orgbfb7e8a"><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-09-27 Mon 09:32</p>
|
||||
<p class="date">Created: 2021-09-28 Tue 22:27</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-09-27 Mon 09:32 -->
|
||||
<!-- 2021-09-28 Tue 22:27 -->
|
||||
<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="#org7af8e11">1. Decoding errors</a></li>
|
||||
<li><a href="#org494f23d">2. Data structure in context</a></li>
|
||||
<li><a href="#orgc3ee9e0">3. Updating errors in the context</a></li>
|
||||
<li><a href="#orge4090e8">4. Get the error</a></li>
|
||||
<li><a href="#org811fd7a">5. Failing</a></li>
|
||||
<li><a href="#org2b8671e">1. Decoding errors</a></li>
|
||||
<li><a href="#orgf0e862d">2. Data structure in context</a></li>
|
||||
<li><a href="#org74e3e8f">3. Updating errors in the context</a></li>
|
||||
<li><a href="#org871fce0">4. Get the error</a></li>
|
||||
<li><a href="#orgd604335">5. Failing</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7af8e11" class="outline-2">
|
||||
<h2 id="org7af8e11"><span class="section-number-2">1</span> Decoding errors</h2>
|
||||
<div id="outline-container-org2b8671e" class="outline-2">
|
||||
<h2 id="org2b8671e"><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-org494f23d" class="outline-2">
|
||||
<h2 id="org494f23d"><span class="section-number-2">2</span> Data structure in context</h2>
|
||||
<div id="outline-container-orgf0e862d" class="outline-2">
|
||||
<h2 id="orgf0e862d"><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-orgc3ee9e0" class="outline-2">
|
||||
<h2 id="orgc3ee9e0"><span class="section-number-2">3</span> Updating errors in the context</h2>
|
||||
<div id="outline-container-org74e3e8f" class="outline-2">
|
||||
<h2 id="org74e3e8f"><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-orge4090e8" class="outline-2">
|
||||
<h2 id="orge4090e8"><span class="section-number-2">4</span> Get the error</h2>
|
||||
<div id="outline-container-org871fce0" class="outline-2">
|
||||
<h2 id="org871fce0"><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-org811fd7a" class="outline-2">
|
||||
<h2 id="org811fd7a"><span class="section-number-2">5</span> Failing</h2>
|
||||
<div id="outline-container-orgd604335" class="outline-2">
|
||||
<h2 id="orgd604335"><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-09-27 Mon 09:32</p>
|
||||
<p class="date">Created: 2021-09-28 Tue 22:27</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-09-27 Mon 09:32 -->
|
||||
<!-- 2021-09-28 Tue 22:27 -->
|
||||
<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="#org7a03226">1. Context</a>
|
||||
<li><a href="#org21e7b78">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#org27e4278">1.1. Data structure</a></li>
|
||||
<li><a href="#orgd53d54a">1.2. Access functions</a></li>
|
||||
<li><a href="#orgb6d8ad2">1.3. Initialization functions</a></li>
|
||||
<li><a href="#orgc1c0db0">1.4. Test</a></li>
|
||||
<li><a href="#org949f8f4">1.1. Data structure</a></li>
|
||||
<li><a href="#org3f5b9fc">1.2. Access functions</a></li>
|
||||
<li><a href="#org72ae234">1.3. Initialization functions</a></li>
|
||||
<li><a href="#orgc248a9e">1.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org6d70b5d">2. Computation</a>
|
||||
<li><a href="#org013118e">2. Computation</a>
|
||||
<ul>
|
||||
<li><a href="#org5e29a21">2.1. Asymptotic component for \(f_{ee}\)</a>
|
||||
<li><a href="#org2afc95f">2.1. Asymptotic component for \(f_{ee}\)</a>
|
||||
<ul>
|
||||
<li><a href="#org679a8db">2.1.1. Get</a></li>
|
||||
<li><a href="#orge936c93">2.1.2. Compute</a></li>
|
||||
<li><a href="#org7ade3b2">2.1.3. Test</a></li>
|
||||
<li><a href="#org1926731">2.1.1. Get</a></li>
|
||||
<li><a href="#org6ef54cb">2.1.2. Compute</a></li>
|
||||
<li><a href="#org63af135">2.1.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org04b4a31">2.2. Electron-electron component \(f_{ee}\)</a>
|
||||
<li><a href="#orga537ae6">2.2. Electron-electron component \(f_{ee}\)</a>
|
||||
<ul>
|
||||
<li><a href="#org24ea2a6">2.2.1. Get</a></li>
|
||||
<li><a href="#orga493057">2.2.2. Compute</a></li>
|
||||
<li><a href="#org47012b5">2.2.3. Test</a></li>
|
||||
<li><a href="#org63d742e">2.2.1. Get</a></li>
|
||||
<li><a href="#org45dda0c">2.2.2. Compute</a></li>
|
||||
<li><a href="#org5148cbb">2.2.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org4391885">2.3. Electron-electron component derivative \(f'_{ee}\)</a>
|
||||
<li><a href="#org4cee841">2.3. Electron-electron component derivative \(f'_{ee}\)</a>
|
||||
<ul>
|
||||
<li><a href="#org45dd21b">2.3.1. Get</a></li>
|
||||
<li><a href="#orge85b90a">2.3.2. Compute</a></li>
|
||||
<li><a href="#orge8a0d14">2.3.3. Test</a></li>
|
||||
<li><a href="#org75886f6">2.3.1. Get</a></li>
|
||||
<li><a href="#org030c6f1">2.3.2. Compute</a></li>
|
||||
<li><a href="#org3ea055a">2.3.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org19bea90">2.4. Electron-nucleus component \(f_{en}\)</a>
|
||||
<li><a href="#org23637f9">2.4. Electron-nucleus component \(f_{en}\)</a>
|
||||
<ul>
|
||||
<li><a href="#org932c53e">2.4.1. Get</a></li>
|
||||
<li><a href="#org93c0aee">2.4.2. Compute</a></li>
|
||||
<li><a href="#orgad41ecc">2.4.3. Test</a></li>
|
||||
<li><a href="#org0c3a08e">2.4.1. Get</a></li>
|
||||
<li><a href="#orgcf48bd5">2.4.2. Compute</a></li>
|
||||
<li><a href="#org196c1f9">2.4.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orga97ec02">2.5. Electron-nucleus component derivative \(f'_{en}\)</a>
|
||||
<li><a href="#org3842b9e">2.5. Electron-nucleus component derivative \(f'_{en}\)</a>
|
||||
<ul>
|
||||
<li><a href="#org3bf3a6b">2.5.1. Get</a></li>
|
||||
<li><a href="#org2f11be5">2.5.2. Compute</a></li>
|
||||
<li><a href="#orgf17358f">2.5.3. Test</a></li>
|
||||
<li><a href="#org7af6d68">2.5.1. Get</a></li>
|
||||
<li><a href="#org70f7c52">2.5.2. Compute</a></li>
|
||||
<li><a href="#orgb2a7535">2.5.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgdd24464">2.6. Electron-electron rescaled distances for each order</a>
|
||||
<li><a href="#orgb12d662">2.6. Electron-electron rescaled distances for each order</a>
|
||||
<ul>
|
||||
<li><a href="#org7fbd9ad">2.6.1. Get</a></li>
|
||||
<li><a href="#org630254e">2.6.2. Compute</a></li>
|
||||
<li><a href="#org07e27ad">2.6.3. Test</a></li>
|
||||
<li><a href="#orgbaa55f9">2.6.1. Get</a></li>
|
||||
<li><a href="#orgec6ff2e">2.6.2. Compute</a></li>
|
||||
<li><a href="#orgfda9499">2.6.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgb554479">2.7. Electron-electron rescaled distances for each order and derivatives</a>
|
||||
<li><a href="#org3d6624f">2.7. Electron-electron rescaled distances for each order and derivatives</a>
|
||||
<ul>
|
||||
<li><a href="#orge44aba9">2.7.1. Get</a></li>
|
||||
<li><a href="#org3feac00">2.7.2. Compute</a></li>
|
||||
<li><a href="#orgd963717">2.7.3. Test</a></li>
|
||||
<li><a href="#org30cb075">2.7.1. Get</a></li>
|
||||
<li><a href="#orgf875801">2.7.2. Compute</a></li>
|
||||
<li><a href="#org039ec81">2.7.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgf1bc0ec">2.8. Electron-nucleus rescaled distances for each order</a>
|
||||
<li><a href="#org6b98a12">2.8. Electron-nucleus rescaled distances for each order</a>
|
||||
<ul>
|
||||
<li><a href="#orgf3114ce">2.8.1. Get</a></li>
|
||||
<li><a href="#org8884e77">2.8.2. Compute</a></li>
|
||||
<li><a href="#org9b309b3">2.8.3. Test</a></li>
|
||||
<li><a href="#orgd459261">2.8.1. Get</a></li>
|
||||
<li><a href="#orgcc2853f">2.8.2. Compute</a></li>
|
||||
<li><a href="#orgf3b5dd6">2.8.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org1fc7222">2.9. Electron-nucleus rescaled distances for each order and derivatives</a>
|
||||
<li><a href="#org5ca94c5">2.9. Electron-nucleus rescaled distances for each order and derivatives</a>
|
||||
<ul>
|
||||
<li><a href="#orge6ccdf5">2.9.1. Get</a></li>
|
||||
<li><a href="#org0120dd0">2.9.2. Compute</a></li>
|
||||
<li><a href="#orgdf273a7">2.9.3. Test</a></li>
|
||||
<li><a href="#org0edb542">2.9.1. Get</a></li>
|
||||
<li><a href="#orgd58d373">2.9.2. Compute</a></li>
|
||||
<li><a href="#orgfc1cd13">2.9.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgb0d20dd">2.10. Prepare for electron-electron-nucleus Jastrow \(f_{een}\)</a>
|
||||
<li><a href="#org2fa3468">2.10. Prepare for electron-electron-nucleus Jastrow \(f_{een}\)</a>
|
||||
<ul>
|
||||
<li><a href="#org445fdad">2.10.1. Get</a></li>
|
||||
<li><a href="#org5fb690b">2.10.2. Compute dim<sub>cord</sub><sub>vect</sub></a></li>
|
||||
<li><a href="#org78ae3e6">2.10.3. Compute cord<sub>vect</sub><sub>full</sub></a></li>
|
||||
<li><a href="#org9ab670f">2.10.4. Compute lkpm<sub>combined</sub><sub>index</sub></a></li>
|
||||
<li><a href="#org6d78742">2.10.5. Test</a></li>
|
||||
<li><a href="#org78cf3e7">2.10.1. Get</a></li>
|
||||
<li><a href="#org6814eed">2.10.2. Compute dim<sub>cord</sub><sub>vect</sub></a></li>
|
||||
<li><a href="#orgcd35a4d">2.10.3. Compute cord<sub>vect</sub><sub>full</sub></a></li>
|
||||
<li><a href="#org949e81b">2.10.4. Compute lkpm<sub>combined</sub><sub>index</sub></a></li>
|
||||
<li><a href="#orgd1cf2a1">2.10.5. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org35b9962">2.11. Electron-electron-nucleus Jastrow \(f_{een}\)</a>
|
||||
<li><a href="#org5be8b9f">2.11. Electron-electron-nucleus Jastrow \(f_{een}\)</a>
|
||||
<ul>
|
||||
<li><a href="#org99ccb6f">2.11.1. Get</a></li>
|
||||
<li><a href="#org5b168c7">2.11.2. Compute</a></li>
|
||||
<li><a href="#orgab810d0">2.11.3. Test</a></li>
|
||||
<li><a href="#orgf52bd25">2.11.1. Get</a></li>
|
||||
<li><a href="#org69b350f">2.11.2. Compute</a></li>
|
||||
<li><a href="#org5f253b6">2.11.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orga3fdc62">2.12. Electron-electron-nucleus Jastrow \(f_{een}\) derivative</a>
|
||||
<li><a href="#org288462c">2.12. Electron-electron-nucleus Jastrow \(f_{een}\) derivative</a>
|
||||
<ul>
|
||||
<li><a href="#orgff2de46">2.12.1. Get</a></li>
|
||||
<li><a href="#org4f18cdc">2.12.2. Compute</a></li>
|
||||
<li><a href="#org1596d01">2.12.3. Test</a></li>
|
||||
<li><a href="#orge237c70">2.12.1. Get</a></li>
|
||||
<li><a href="#orgd77c0dd">2.12.2. Compute</a></li>
|
||||
<li><a href="#orgdae02d8">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-org7a03226" class="outline-2">
|
||||
<h2 id="org7a03226"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-org21e7b78" class="outline-2">
|
||||
<h2 id="org21e7b78"><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="orgbaf0ee0" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org3d8e545" 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="org9c9e7cc"><span style="color: #a020f0;">import</span> numpy <span style="color: #a020f0;">as</span> np
|
||||
<pre class="src src-python" id="orge680216"><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-org27e4278" class="outline-3">
|
||||
<h3 id="org27e4278"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-org949f8f4" class="outline-3">
|
||||
<h3 id="org949f8f4"><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-orgd53d54a" class="outline-3">
|
||||
<h3 id="orgd53d54a"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div id="outline-container-org3f5b9fc" class="outline-3">
|
||||
<h3 id="org3f5b9fc"><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-orgb6d8ad2" class="outline-3">
|
||||
<h3 id="orgb6d8ad2"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-org72ae234" class="outline-3">
|
||||
<h3 id="org72ae234"><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-orgc1c0db0" class="outline-3">
|
||||
<h3 id="orgc1c0db0"><span class="section-number-3">1.4</span> Test</h3>
|
||||
<div id="outline-container-orgc248a9e" class="outline-3">
|
||||
<h3 id="orgc248a9e"><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-org6d70b5d" class="outline-2">
|
||||
<h2 id="org6d70b5d"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div id="outline-container-org013118e" class="outline-2">
|
||||
<h2 id="org013118e"><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-org5e29a21" class="outline-3">
|
||||
<h3 id="org5e29a21"><span class="section-number-3">2.1</span> Asymptotic component for \(f_{ee}\)</h3>
|
||||
<div id="outline-container-org2afc95f" class="outline-3">
|
||||
<h3 id="org2afc95f"><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-org679a8db" class="outline-4">
|
||||
<h4 id="org679a8db"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div id="outline-container-org1926731" class="outline-4">
|
||||
<h4 id="org1926731"><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-orge936c93" class="outline-4">
|
||||
<h4 id="orge936c93"><span class="section-number-4">2.1.2</span> Compute</h4>
|
||||
<div id="outline-container-org6ef54cb" class="outline-4">
|
||||
<h4 id="org6ef54cb"><span class="section-number-4">2.1.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-1-2">
|
||||
<table id="org156d250" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org3082578" 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-org7ade3b2" class="outline-4">
|
||||
<h4 id="org7ade3b2"><span class="section-number-4">2.1.3</span> Test</h4>
|
||||
<div id="outline-container-org63af135" class="outline-4">
|
||||
<h4 id="org63af135"><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-org04b4a31" class="outline-3">
|
||||
<h3 id="org04b4a31"><span class="section-number-3">2.2</span> Electron-electron component \(f_{ee}\)</h3>
|
||||
<div id="outline-container-orga537ae6" class="outline-3">
|
||||
<h3 id="orga537ae6"><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-org24ea2a6" class="outline-4">
|
||||
<h4 id="org24ea2a6"><span class="section-number-4">2.2.1</span> Get</h4>
|
||||
<div id="outline-container-org63d742e" class="outline-4">
|
||||
<h4 id="org63d742e"><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-orga493057" class="outline-4">
|
||||
<h4 id="orga493057"><span class="section-number-4">2.2.2</span> Compute</h4>
|
||||
<div id="outline-container-org45dda0c" class="outline-4">
|
||||
<h4 id="org45dda0c"><span class="section-number-4">2.2.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-2-2">
|
||||
<table id="org4a79f98" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org55b6d86" 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-org47012b5" class="outline-4">
|
||||
<h4 id="org47012b5"><span class="section-number-4">2.2.3</span> Test</h4>
|
||||
<div id="outline-container-org5148cbb" class="outline-4">
|
||||
<h4 id="org5148cbb"><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-org4391885" class="outline-3">
|
||||
<h3 id="org4391885"><span class="section-number-3">2.3</span> Electron-electron component derivative \(f'_{ee}\)</h3>
|
||||
<div id="outline-container-org4cee841" class="outline-3">
|
||||
<h3 id="org4cee841"><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-org45dd21b" class="outline-4">
|
||||
<h4 id="org45dd21b"><span class="section-number-4">2.3.1</span> Get</h4>
|
||||
<div id="outline-container-org75886f6" class="outline-4">
|
||||
<h4 id="org75886f6"><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-orge85b90a" class="outline-4">
|
||||
<h4 id="orge85b90a"><span class="section-number-4">2.3.2</span> Compute</h4>
|
||||
<div id="outline-container-org030c6f1" class="outline-4">
|
||||
<h4 id="org030c6f1"><span class="section-number-4">2.3.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-3-2">
|
||||
<table id="orge7469be" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgdf751b6" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1848,8 +1848,8 @@ TODO: Add equation
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orge8a0d14" class="outline-4">
|
||||
<h4 id="orge8a0d14"><span class="section-number-4">2.3.3</span> Test</h4>
|
||||
<div id="outline-container-org3ea055a" class="outline-4">
|
||||
<h4 id="org3ea055a"><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-org19bea90" class="outline-3">
|
||||
<h3 id="org19bea90"><span class="section-number-3">2.4</span> Electron-nucleus component \(f_{en}\)</h3>
|
||||
<div id="outline-container-org23637f9" class="outline-3">
|
||||
<h3 id="org23637f9"><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-org932c53e" class="outline-4">
|
||||
<h4 id="org932c53e"><span class="section-number-4">2.4.1</span> Get</h4>
|
||||
<div id="outline-container-org0c3a08e" class="outline-4">
|
||||
<h4 id="org0c3a08e"><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-org93c0aee" class="outline-4">
|
||||
<h4 id="org93c0aee"><span class="section-number-4">2.4.2</span> Compute</h4>
|
||||
<div id="outline-container-orgcf48bd5" class="outline-4">
|
||||
<h4 id="orgcf48bd5"><span class="section-number-4">2.4.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-4-2">
|
||||
<table id="org6369416" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org7f2d8bf" 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-orgad41ecc" class="outline-4">
|
||||
<h4 id="orgad41ecc"><span class="section-number-4">2.4.3</span> Test</h4>
|
||||
<div id="outline-container-org196c1f9" class="outline-4">
|
||||
<h4 id="org196c1f9"><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-orga97ec02" class="outline-3">
|
||||
<h3 id="orga97ec02"><span class="section-number-3">2.5</span> Electron-nucleus component derivative \(f'_{en}\)</h3>
|
||||
<div id="outline-container-org3842b9e" class="outline-3">
|
||||
<h3 id="org3842b9e"><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-org3bf3a6b" class="outline-4">
|
||||
<h4 id="org3bf3a6b"><span class="section-number-4">2.5.1</span> Get</h4>
|
||||
<div id="outline-container-org7af6d68" class="outline-4">
|
||||
<h4 id="org7af6d68"><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-org2f11be5" class="outline-4">
|
||||
<h4 id="org2f11be5"><span class="section-number-4">2.5.2</span> Compute</h4>
|
||||
<div id="outline-container-org70f7c52" class="outline-4">
|
||||
<h4 id="org70f7c52"><span class="section-number-4">2.5.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-5-2">
|
||||
<table id="orge65b255" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org6c18d6b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2333,8 +2333,8 @@ TODO: write equations.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgf17358f" class="outline-4">
|
||||
<h4 id="orgf17358f"><span class="section-number-4">2.5.3</span> Test</h4>
|
||||
<div id="outline-container-orgb2a7535" class="outline-4">
|
||||
<h4 id="orgb2a7535"><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-orgdd24464" class="outline-3">
|
||||
<h3 id="orgdd24464"><span class="section-number-3">2.6</span> Electron-electron rescaled distances for each order</h3>
|
||||
<div id="outline-container-orgb12d662" class="outline-3">
|
||||
<h3 id="orgb12d662"><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-org7fbd9ad" class="outline-4">
|
||||
<h4 id="org7fbd9ad"><span class="section-number-4">2.6.1</span> Get</h4>
|
||||
<div id="outline-container-orgbaa55f9" class="outline-4">
|
||||
<h4 id="orgbaa55f9"><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-org630254e" class="outline-4">
|
||||
<h4 id="org630254e"><span class="section-number-4">2.6.2</span> Compute</h4>
|
||||
<div id="outline-container-orgec6ff2e" class="outline-4">
|
||||
<h4 id="orgec6ff2e"><span class="section-number-4">2.6.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-6-2">
|
||||
<table id="org27b23a2" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org6cf7357" 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-org07e27ad" class="outline-4">
|
||||
<h4 id="org07e27ad"><span class="section-number-4">2.6.3</span> Test</h4>
|
||||
<div id="outline-container-orgfda9499" class="outline-4">
|
||||
<h4 id="orgfda9499"><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-orgb554479" class="outline-3">
|
||||
<h3 id="orgb554479"><span class="section-number-3">2.7</span> Electron-electron rescaled distances for each order and derivatives</h3>
|
||||
<div id="outline-container-org3d6624f" class="outline-3">
|
||||
<h3 id="org3d6624f"><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-orge44aba9" class="outline-4">
|
||||
<h4 id="orge44aba9"><span class="section-number-4">2.7.1</span> Get</h4>
|
||||
<div id="outline-container-org30cb075" class="outline-4">
|
||||
<h4 id="org30cb075"><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-org3feac00" class="outline-4">
|
||||
<h4 id="org3feac00"><span class="section-number-4">2.7.2</span> Compute</h4>
|
||||
<div id="outline-container-orgf875801" class="outline-4">
|
||||
<h4 id="orgf875801"><span class="section-number-4">2.7.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-7-2">
|
||||
<table id="orge70ac1d" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org054c64d" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2786,8 +2786,8 @@ TODO: write formulae
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgd963717" class="outline-4">
|
||||
<h4 id="orgd963717"><span class="section-number-4">2.7.3</span> Test</h4>
|
||||
<div id="outline-container-org039ec81" class="outline-4">
|
||||
<h4 id="org039ec81"><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-orgf1bc0ec" class="outline-3">
|
||||
<h3 id="orgf1bc0ec"><span class="section-number-3">2.8</span> Electron-nucleus rescaled distances for each order</h3>
|
||||
<div id="outline-container-org6b98a12" class="outline-3">
|
||||
<h3 id="org6b98a12"><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-orgf3114ce" class="outline-4">
|
||||
<h4 id="orgf3114ce"><span class="section-number-4">2.8.1</span> Get</h4>
|
||||
<div id="outline-container-orgd459261" class="outline-4">
|
||||
<h4 id="orgd459261"><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-org8884e77" class="outline-4">
|
||||
<h4 id="org8884e77"><span class="section-number-4">2.8.2</span> Compute</h4>
|
||||
<div id="outline-container-orgcc2853f" class="outline-4">
|
||||
<h4 id="orgcc2853f"><span class="section-number-4">2.8.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-8-2">
|
||||
<table id="orgcef41d2" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org983f259" 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-org9b309b3" class="outline-4">
|
||||
<h4 id="org9b309b3"><span class="section-number-4">2.8.3</span> Test</h4>
|
||||
<div id="outline-container-orgf3b5dd6" class="outline-4">
|
||||
<h4 id="orgf3b5dd6"><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-org1fc7222" class="outline-3">
|
||||
<h3 id="org1fc7222"><span class="section-number-3">2.9</span> Electron-nucleus rescaled distances for each order and derivatives</h3>
|
||||
<div id="outline-container-org5ca94c5" class="outline-3">
|
||||
<h3 id="org5ca94c5"><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-orge6ccdf5" class="outline-4">
|
||||
<h4 id="orge6ccdf5"><span class="section-number-4">2.9.1</span> Get</h4>
|
||||
<div id="outline-container-org0edb542" class="outline-4">
|
||||
<h4 id="org0edb542"><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-org0120dd0" class="outline-4">
|
||||
<h4 id="org0120dd0"><span class="section-number-4">2.9.2</span> Compute</h4>
|
||||
<div id="outline-container-orgd58d373" class="outline-4">
|
||||
<h4 id="orgd58d373"><span class="section-number-4">2.9.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-9-2">
|
||||
<table id="org3ce0568" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgfe73b1f" 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-orgdf273a7" class="outline-4">
|
||||
<h4 id="orgdf273a7"><span class="section-number-4">2.9.3</span> Test</h4>
|
||||
<div id="outline-container-orgfc1cd13" class="outline-4">
|
||||
<h4 id="orgfc1cd13"><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-orgb0d20dd" class="outline-3">
|
||||
<h3 id="orgb0d20dd"><span class="section-number-3">2.10</span> Prepare for electron-electron-nucleus Jastrow \(f_{een}\)</h3>
|
||||
<div id="outline-container-org2fa3468" class="outline-3">
|
||||
<h3 id="org2fa3468"><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-org445fdad" class="outline-4">
|
||||
<h4 id="org445fdad"><span class="section-number-4">2.10.1</span> Get</h4>
|
||||
<div id="outline-container-org78cf3e7" class="outline-4">
|
||||
<h4 id="org78cf3e7"><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-org5fb690b" class="outline-4">
|
||||
<h4 id="org5fb690b"><span class="section-number-4">2.10.2</span> Compute dim<sub>cord</sub><sub>vect</sub></h4>
|
||||
<div id="outline-container-org6814eed" class="outline-4">
|
||||
<h4 id="org6814eed"><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="orga1dd9de" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org42b4a63" 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-org78ae3e6" class="outline-4">
|
||||
<h4 id="org78ae3e6"><span class="section-number-4">2.10.3</span> Compute cord<sub>vect</sub><sub>full</sub></h4>
|
||||
<div id="outline-container-orgcd35a4d" class="outline-4">
|
||||
<h4 id="orgcd35a4d"><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="org8c0a5a0" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org94b8f28" 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-org9ab670f" class="outline-4">
|
||||
<h4 id="org9ab670f"><span class="section-number-4">2.10.4</span> Compute lkpm<sub>combined</sub><sub>index</sub></h4>
|
||||
<div id="outline-container-org949e81b" class="outline-4">
|
||||
<h4 id="org949e81b"><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="org7dae8be" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgcdc5d6a" 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-org6d78742" class="outline-4">
|
||||
<h4 id="org6d78742"><span class="section-number-4">2.10.5</span> Test</h4>
|
||||
<div id="outline-container-orgd1cf2a1" class="outline-4">
|
||||
<h4 id="orgd1cf2a1"><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-org35b9962" class="outline-3">
|
||||
<h3 id="org35b9962"><span class="section-number-3">2.11</span> Electron-electron-nucleus Jastrow \(f_{een}\)</h3>
|
||||
<div id="outline-container-org5be8b9f" class="outline-3">
|
||||
<h3 id="org5be8b9f"><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-org99ccb6f" class="outline-4">
|
||||
<h4 id="org99ccb6f"><span class="section-number-4">2.11.1</span> Get</h4>
|
||||
<div id="outline-container-orgf52bd25" class="outline-4">
|
||||
<h4 id="orgf52bd25"><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-org5b168c7" class="outline-4">
|
||||
<h4 id="org5b168c7"><span class="section-number-4">2.11.2</span> Compute</h4>
|
||||
<div id="outline-container-org69b350f" class="outline-4">
|
||||
<h4 id="org69b350f"><span class="section-number-4">2.11.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-11-2">
|
||||
<table id="org527ec23" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org775c28f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -3850,8 +3850,8 @@ TODO: write equations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgab810d0" class="outline-4">
|
||||
<h4 id="orgab810d0"><span class="section-number-4">2.11.3</span> Test</h4>
|
||||
<div id="outline-container-org5f253b6" class="outline-4">
|
||||
<h4 id="org5f253b6"><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-orga3fdc62" class="outline-3">
|
||||
<h3 id="orga3fdc62"><span class="section-number-3">2.12</span> Electron-electron-nucleus Jastrow \(f_{een}\) derivative</h3>
|
||||
<div id="outline-container-org288462c" class="outline-3">
|
||||
<h3 id="org288462c"><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-orgff2de46" class="outline-4">
|
||||
<h4 id="orgff2de46"><span class="section-number-4">2.12.1</span> Get</h4>
|
||||
<div id="outline-container-orge237c70" class="outline-4">
|
||||
<h4 id="orge237c70"><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-org4f18cdc" class="outline-4">
|
||||
<h4 id="org4f18cdc"><span class="section-number-4">2.12.2</span> Compute</h4>
|
||||
<div id="outline-container-orgd77c0dd" class="outline-4">
|
||||
<h4 id="orgd77c0dd"><span class="section-number-4">2.12.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-12-2">
|
||||
<table id="org8727703" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgac6a7da" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -4118,8 +4118,8 @@ TODO: write equations.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org1596d01" class="outline-4">
|
||||
<h4 id="org1596d01"><span class="section-number-4">2.12.3</span> Test</h4>
|
||||
<div id="outline-container-orgdae02d8" class="outline-4">
|
||||
<h4 id="orgdae02d8"><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-09-27 Mon 09:32</p>
|
||||
<p class="date">Created: 2021-09-28 Tue 22:27</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-09-27 Mon 09:32 -->
|
||||
<!-- 2021-09-28 Tue 22:27 -->
|
||||
<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="#orge59d9d6">1. Memory data structure for the context</a></li>
|
||||
<li><a href="#org14dad8c">2. Passing info to allocation routines</a></li>
|
||||
<li><a href="#org4a74803">3. Allocation/deallocation functions</a></li>
|
||||
<li><a href="#orgaa89246">1. Memory data structure for the context</a></li>
|
||||
<li><a href="#orgff46ec4">2. Passing info to allocation routines</a></li>
|
||||
<li><a href="#orgce958d6">3. Allocation/deallocation functions</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge59d9d6" class="outline-2">
|
||||
<h2 id="orge59d9d6"><span class="section-number-2">1</span> Memory data structure for the context</h2>
|
||||
<div id="outline-container-orgaa89246" class="outline-2">
|
||||
<h2 id="orgaa89246"><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-org14dad8c" class="outline-2">
|
||||
<h2 id="org14dad8c"><span class="section-number-2">2</span> Passing info to allocation routines</h2>
|
||||
<div id="outline-container-orgff46ec4" class="outline-2">
|
||||
<h2 id="orgff46ec4"><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-org4a74803" class="outline-2">
|
||||
<h2 id="org4a74803"><span class="section-number-2">3</span> Allocation/deallocation functions</h2>
|
||||
<div id="outline-container-orgce958d6" class="outline-2">
|
||||
<h2 id="orgce958d6"><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-09-27 Mon 09:32</p>
|
||||
<p class="date">Created: 2021-09-28 Tue 22:27</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-09-27 Mon 09:32 -->
|
||||
<!-- 2021-09-28 Tue 22:27 -->
|
||||
<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="#org92432d5">1. Context</a>
|
||||
<li><a href="#orgb65782e">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#orge32a74d">1.1. Data structure</a></li>
|
||||
<li><a href="#orga2b92e7">1.2. Access functions</a></li>
|
||||
<li><a href="#org0383abf">1.3. Initialization functions</a></li>
|
||||
<li><a href="#orgf214fcb">1.4. Test</a></li>
|
||||
<li><a href="#org44bc39f">1.1. Data structure</a></li>
|
||||
<li><a href="#orga4fcd70">1.2. Access functions</a></li>
|
||||
<li><a href="#org22f0e47">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org49e87c9">1.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgeb1e202">2. Computation</a>
|
||||
<li><a href="#org4b74fbd">2. Computation</a>
|
||||
<ul>
|
||||
<li><a href="#org56a09bb">2.1. Nucleus-nucleus distances</a>
|
||||
<li><a href="#org04091c4">2.1. Nucleus-nucleus distances</a>
|
||||
<ul>
|
||||
<li><a href="#orgd3e6f8d">2.1.1. Get</a></li>
|
||||
<li><a href="#org7bb7347">2.1.2. Compute</a></li>
|
||||
<li><a href="#orgd362837">2.1.3. Test</a></li>
|
||||
<li><a href="#org26ba049">2.1.1. Get</a></li>
|
||||
<li><a href="#orgf628c8c">2.1.2. Compute</a></li>
|
||||
<li><a href="#orgc3e893c">2.1.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org10d0cee">2.2. Nucleus-nucleus rescaled distances</a>
|
||||
<li><a href="#orgdf2307f">2.2. Nucleus-nucleus rescaled distances</a>
|
||||
<ul>
|
||||
<li><a href="#org2d23a12">2.2.1. Get</a></li>
|
||||
<li><a href="#org9b0728a">2.2.2. Compute</a></li>
|
||||
<li><a href="#org018fb8c">2.2.3. Test</a></li>
|
||||
<li><a href="#org527dbd6">2.2.1. Get</a></li>
|
||||
<li><a href="#org8ea6e3a">2.2.2. Compute</a></li>
|
||||
<li><a href="#orgb4118f8">2.2.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org42b5dc6">2.3. Nuclear repulsion energy</a>
|
||||
<li><a href="#org9b52b00">2.3. Nuclear repulsion energy</a>
|
||||
<ul>
|
||||
<li><a href="#org068a075">2.3.1. Get</a></li>
|
||||
<li><a href="#orgb786946">2.3.2. Compute</a></li>
|
||||
<li><a href="#org05ffc08">2.3.3. Test</a></li>
|
||||
<li><a href="#org34e59d6">2.3.1. Get</a></li>
|
||||
<li><a href="#org0c05565">2.3.2. Compute</a></li>
|
||||
<li><a href="#orgf0d6a1e">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-org92432d5" class="outline-2">
|
||||
<h2 id="org92432d5"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-orgb65782e" class="outline-2">
|
||||
<h2 id="orgb65782e"><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-orge32a74d" class="outline-3">
|
||||
<h3 id="orge32a74d"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-org44bc39f" class="outline-3">
|
||||
<h3 id="org44bc39f"><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-orga2b92e7" class="outline-3">
|
||||
<h3 id="orga2b92e7"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div id="outline-container-orga4fcd70" class="outline-3">
|
||||
<h3 id="orga4fcd70"><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-org0383abf" class="outline-3">
|
||||
<h3 id="org0383abf"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-org22f0e47" class="outline-3">
|
||||
<h3 id="org22f0e47"><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-orgf214fcb" class="outline-3">
|
||||
<h3 id="orgf214fcb"><span class="section-number-3">1.4</span> Test</h3>
|
||||
<div id="outline-container-org49e87c9" class="outline-3">
|
||||
<h3 id="org49e87c9"><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-orgeb1e202" class="outline-2">
|
||||
<h2 id="orgeb1e202"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div id="outline-container-org4b74fbd" class="outline-2">
|
||||
<h2 id="org4b74fbd"><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-org56a09bb" class="outline-3">
|
||||
<h3 id="org56a09bb"><span class="section-number-3">2.1</span> Nucleus-nucleus distances</h3>
|
||||
<div id="outline-container-org04091c4" class="outline-3">
|
||||
<h3 id="org04091c4"><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-orgd3e6f8d" class="outline-4">
|
||||
<h4 id="orgd3e6f8d"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div id="outline-container-org26ba049" class="outline-4">
|
||||
<h4 id="org26ba049"><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-org7bb7347" class="outline-4">
|
||||
<h4 id="org7bb7347"><span class="section-number-4">2.1.2</span> Compute</h4>
|
||||
<div id="outline-container-orgf628c8c" class="outline-4">
|
||||
<h4 id="orgf628c8c"><span class="section-number-4">2.1.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-1-2">
|
||||
<table id="org35d3ada" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgeeaa384" 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-orgd362837" class="outline-4">
|
||||
<h4 id="orgd362837"><span class="section-number-4">2.1.3</span> Test</h4>
|
||||
<div id="outline-container-orgc3e893c" class="outline-4">
|
||||
<h4 id="orgc3e893c"><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-org10d0cee" class="outline-3">
|
||||
<h3 id="org10d0cee"><span class="section-number-3">2.2</span> Nucleus-nucleus rescaled distances</h3>
|
||||
<div id="outline-container-orgdf2307f" class="outline-3">
|
||||
<h3 id="orgdf2307f"><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-org2d23a12" class="outline-4">
|
||||
<h4 id="org2d23a12"><span class="section-number-4">2.2.1</span> Get</h4>
|
||||
<div id="outline-container-org527dbd6" class="outline-4">
|
||||
<h4 id="org527dbd6"><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-org9b0728a" class="outline-4">
|
||||
<h4 id="org9b0728a"><span class="section-number-4">2.2.2</span> Compute</h4>
|
||||
<div id="outline-container-org8ea6e3a" class="outline-4">
|
||||
<h4 id="org8ea6e3a"><span class="section-number-4">2.2.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-2-2">
|
||||
<table id="org1228e92" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgd6ea099" 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-org018fb8c" class="outline-4">
|
||||
<h4 id="org018fb8c"><span class="section-number-4">2.2.3</span> Test</h4>
|
||||
<div id="outline-container-orgb4118f8" class="outline-4">
|
||||
<h4 id="orgb4118f8"><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-org42b5dc6" class="outline-3">
|
||||
<h3 id="org42b5dc6"><span class="section-number-3">2.3</span> Nuclear repulsion energy</h3>
|
||||
<div id="outline-container-org9b52b00" class="outline-3">
|
||||
<h3 id="org9b52b00"><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-org068a075" class="outline-4">
|
||||
<h4 id="org068a075"><span class="section-number-4">2.3.1</span> Get</h4>
|
||||
<div id="outline-container-org34e59d6" class="outline-4">
|
||||
<h4 id="org34e59d6"><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-orgb786946" class="outline-4">
|
||||
<h4 id="orgb786946"><span class="section-number-4">2.3.2</span> Compute</h4>
|
||||
<div id="outline-container-org0c05565" class="outline-4">
|
||||
<h4 id="org0c05565"><span class="section-number-4">2.3.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-3-2">
|
||||
<table id="orgacb5d84" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org01ec820" 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-org05ffc08" class="outline-4">
|
||||
<h4 id="org05ffc08"><span class="section-number-4">2.3.3</span> Test</h4>
|
||||
<div id="outline-container-orgf0d6a1e" class="outline-4">
|
||||
<h4 id="orgf0d6a1e"><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-09-27 Mon 09:32</p>
|
||||
<p class="date">Created: 2021-09-28 Tue 22:27</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-09-27 Mon 09:32 -->
|
||||
<!-- 2021-09-28 Tue 22:27 -->
|
||||
<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="#org4c3e138">1. Control of the numerical precision</a></li>
|
||||
<li><a href="#org5026a7d">2. Precision</a></li>
|
||||
<li><a href="#orgc26a233">3. Range</a></li>
|
||||
<li><a href="#orga7ae167">4. Helper functions</a></li>
|
||||
<li><a href="#orgbbd46ff">1. Control of the numerical precision</a></li>
|
||||
<li><a href="#org28e0cbd">2. Precision</a></li>
|
||||
<li><a href="#orgd6528e3">3. Range</a></li>
|
||||
<li><a href="#org8f41215">4. Helper functions</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4c3e138" class="outline-2">
|
||||
<h2 id="org4c3e138"><span class="section-number-2">1</span> Control of the numerical precision</h2>
|
||||
<div id="outline-container-orgbbd46ff" class="outline-2">
|
||||
<h2 id="orgbbd46ff"><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="orgfb6f7c4" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org8de4d85" 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-org5026a7d" class="outline-2">
|
||||
<h2 id="org5026a7d"><span class="section-number-2">2</span> Precision</h2>
|
||||
<div id="outline-container-org28e0cbd" class="outline-2">
|
||||
<h2 id="org28e0cbd"><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-orgc26a233" class="outline-2">
|
||||
<h2 id="orgc26a233"><span class="section-number-2">3</span> Range</h2>
|
||||
<div id="outline-container-orgd6528e3" class="outline-2">
|
||||
<h2 id="orgd6528e3"><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-orga7ae167" class="outline-2">
|
||||
<h2 id="orga7ae167"><span class="section-number-2">4</span> Helper functions</h2>
|
||||
<div id="outline-container-org8f41215" class="outline-2">
|
||||
<h2 id="org8f41215"><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-09-27 Mon 09:32</p>
|
||||
<p class="date">Created: 2021-09-28 Tue 22:27</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-09-27 Mon 09:32 -->
|
||||
<!-- 2021-09-28 Tue 22:27 -->
|
||||
<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="#orgf7e9017">1. Headers</a></li>
|
||||
<li><a href="#org9913048">2. Naïve Sherman-Morrison</a>
|
||||
<li><a href="#orgf2f1379">1. Headers</a></li>
|
||||
<li><a href="#org3409152">2. Naïve Sherman-Morrison</a>
|
||||
<ul>
|
||||
<li><a href="#org82376ea">2.1. <code>qmckl_sherman_morrison</code></a>
|
||||
<li><a href="#org1f52907">2.1. <code>qmckl_sherman_morrison</code></a>
|
||||
<ul>
|
||||
<li><a href="#org42563a8">2.1.1. Requirements</a></li>
|
||||
<li><a href="#org2c6de0c">2.1.2. C header</a></li>
|
||||
<li><a href="#org0c6b6b6">2.1.3. Source</a></li>
|
||||
<li><a href="#org8a45add">2.1.4. Performance</a></li>
|
||||
<li><a href="#org8475876">2.1.1. Requirements</a></li>
|
||||
<li><a href="#orge9fc428">2.1.2. C header</a></li>
|
||||
<li><a href="#orgf788947">2.1.3. Source</a></li>
|
||||
<li><a href="#org7297014">2.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org462d5c4">3. Woodbury 2x2</a>
|
||||
<li><a href="#org082d13d">3. Woodbury 2x2</a>
|
||||
<ul>
|
||||
<li><a href="#org7b56d75">3.1. <code>qmckl_woodbury_2</code></a>
|
||||
<li><a href="#org01ce830">3.1. <code>qmckl_woodbury_2</code></a>
|
||||
<ul>
|
||||
<li><a href="#org7d65a36">3.1.1. Requirements</a></li>
|
||||
<li><a href="#org5242796">3.1.2. C header</a></li>
|
||||
<li><a href="#org277fa40">3.1.3. Source</a></li>
|
||||
<li><a href="#org31ccda3">3.1.4. Performance</a></li>
|
||||
<li><a href="#orgcf8cfd6">3.1.1. Requirements</a></li>
|
||||
<li><a href="#orgc13d61d">3.1.2. C header</a></li>
|
||||
<li><a href="#org3fea8ec">3.1.3. Source</a></li>
|
||||
<li><a href="#org3c90641">3.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org1c9e9c8">4. Woodbury 3x3</a>
|
||||
<li><a href="#org9134732">4. Woodbury 3x3</a>
|
||||
<ul>
|
||||
<li><a href="#org4dc2367">4.1. <code>qmckl_woodbury_3</code></a>
|
||||
<li><a href="#org2657414">4.1. <code>qmckl_woodbury_3</code></a>
|
||||
<ul>
|
||||
<li><a href="#org9cded3d">4.1.1. Requirements</a></li>
|
||||
<li><a href="#org573f1a9">4.1.2. C header</a></li>
|
||||
<li><a href="#orgad396f4">4.1.3. Source</a></li>
|
||||
<li><a href="#org4486497">4.1.4. Performance…</a></li>
|
||||
<li><a href="#orga394247">4.1.1. Requirements</a></li>
|
||||
<li><a href="#org0a2b2f1">4.1.2. C header</a></li>
|
||||
<li><a href="#orgf205a36">4.1.3. Source</a></li>
|
||||
<li><a href="#orga54063f">4.1.4. Performance…</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org28cbe65">5. Sherman-Morrison with update splitting</a>
|
||||
<li><a href="#org3de62af">5. Sherman-Morrison with update splitting</a>
|
||||
<ul>
|
||||
<li><a href="#org13d6416">5.1. <code>qmckl_sherman_morrison_splitting</code></a>
|
||||
<li><a href="#orgf9c9956">5.1. <code>qmckl_sherman_morrison_splitting</code></a>
|
||||
<ul>
|
||||
<li><a href="#orgc306fa0">5.1.1. Requirements</a></li>
|
||||
<li><a href="#org8d4f01a">5.1.2. C header</a></li>
|
||||
<li><a href="#orgcc63bac">5.1.3. Source</a></li>
|
||||
<li><a href="#org924d7d1">5.1.4. Performance…</a></li>
|
||||
<li><a href="#org3624732">5.1.1. Requirements</a></li>
|
||||
<li><a href="#orgd2b835d">5.1.2. C header</a></li>
|
||||
<li><a href="#org60383e9">5.1.3. Source</a></li>
|
||||
<li><a href="#org847854d">5.1.4. Performance…</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org2d4bb30">6. Woodbury 3x3 and 2x2 with Sherman-Morrison and update splitting</a>
|
||||
<li><a href="#org8166ec4">6. Woodbury 3x3 and 2x2 with Sherman-Morrison and update splitting</a>
|
||||
<ul>
|
||||
<li><a href="#org9f2b586">6.1. <code>qmckl_sherman_morrison_smw32s</code></a>
|
||||
<li><a href="#org4c373d9">6.1. <code>qmckl_sherman_morrison_smw32s</code></a>
|
||||
<ul>
|
||||
<li><a href="#org229ab7d">6.1.1. Requirements</a></li>
|
||||
<li><a href="#org593d2cd">6.1.2. C header</a></li>
|
||||
<li><a href="#org7b80782">6.1.3. Source</a></li>
|
||||
<li><a href="#org4d6534c">6.1.4. Performance…</a></li>
|
||||
<li><a href="#org2f605a9">6.1.1. Requirements</a></li>
|
||||
<li><a href="#orgaa9b101">6.1.2. C header</a></li>
|
||||
<li><a href="#org8ae53ec">6.1.3. Source</a></li>
|
||||
<li><a href="#orgeded056">6.1.4. Performance…</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org0fa4841">7. Helper Functions</a>
|
||||
<li><a href="#org532e981">7. Helper Functions</a>
|
||||
<ul>
|
||||
<li><a href="#orgc7ab7e9">7.1. <code>qmckl_slagel_splitting</code></a>
|
||||
<li><a href="#org5dec6a3">7.1. <code>qmckl_slagel_splitting</code></a>
|
||||
<ul>
|
||||
<li><a href="#orge7d8be1">7.1.1. Requirements</a></li>
|
||||
<li><a href="#orga5f9f0a">7.1.2. C header</a></li>
|
||||
<li><a href="#org4df0348">7.1.3. Source</a></li>
|
||||
<li><a href="#orgc39a7d5">7.1.4. Performance</a></li>
|
||||
<li><a href="#orgb1a41e3">7.1.1. Requirements</a></li>
|
||||
<li><a href="#orgf993732">7.1.2. C header</a></li>
|
||||
<li><a href="#org222c067">7.1.3. Source</a></li>
|
||||
<li><a href="#orgf7b8396">7.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgbacc198">8. End of files</a></li>
|
||||
<li><a href="#org8149db6">8. End of files</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf7e9017" class="outline-2">
|
||||
<h2 id="orgf7e9017"><span class="section-number-2">1</span> Headers</h2>
|
||||
<div id="outline-container-orgf2f1379" class="outline-2">
|
||||
<h2 id="orgf2f1379"><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>
|
||||
@ -432,12 +432,12 @@ for the JavaScript code in this tag.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9913048" class="outline-2">
|
||||
<h2 id="org9913048"><span class="section-number-2">2</span> Naïve Sherman-Morrison</h2>
|
||||
<div id="outline-container-org3409152" class="outline-2">
|
||||
<h2 id="org3409152"><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-org82376ea" class="outline-3">
|
||||
<h3 id="org82376ea"><span class="section-number-3">2.1</span> <code>qmckl_sherman_morrison</code></h3>
|
||||
<div id="outline-container-org1f52907" class="outline-3">
|
||||
<h3 id="org1f52907"><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 +474,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="org2acaf08" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org2da6b3b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -539,8 +539,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-org42563a8" class="outline-4">
|
||||
<h4 id="org42563a8"><span class="section-number-4">2.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org8475876" class="outline-4">
|
||||
<h4 id="org8475876"><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 +554,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-org2c6de0c" class="outline-4">
|
||||
<h4 id="org2c6de0c"><span class="section-number-4">2.1.2</span> C header</h4>
|
||||
<div id="outline-container-orge9fc428" class="outline-4">
|
||||
<h4 id="orge9fc428"><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,8 +571,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-org0c6b6b6" class="outline-4">
|
||||
<h4 id="org0c6b6b6"><span class="section-number-4">2.1.3</span> Source</h4>
|
||||
<div id="outline-container-orgf788947" class="outline-4">
|
||||
<h4 id="orgf788947"><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-c"><span style="color: #483d8b;">#include</span> <span style="color: #8b2252;"><stdbool.h></span>
|
||||
@ -635,8 +635,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-org8a45add" class="outline-4">
|
||||
<h4 id="org8a45add"><span class="section-number-4">2.1.4</span> Performance</h4>
|
||||
<div id="outline-container-org7297014" class="outline-4">
|
||||
<h4 id="org7297014"><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
|
||||
@ -648,12 +648,12 @@ where applying the update causes singular behaviour.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org462d5c4" class="outline-2">
|
||||
<h2 id="org462d5c4"><span class="section-number-2">3</span> Woodbury 2x2</h2>
|
||||
<div id="outline-container-org082d13d" class="outline-2">
|
||||
<h2 id="org082d13d"><span class="section-number-2">3</span> Woodbury 2x2</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
</div>
|
||||
<div id="outline-container-org7b56d75" class="outline-3">
|
||||
<h3 id="org7b56d75"><span class="section-number-3">3.1</span> <code>qmckl_woodbury_2</code></h3>
|
||||
<div id="outline-container-org01ce830" class="outline-3">
|
||||
<h3 id="org01ce830"><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
|
||||
@ -671,7 +671,7 @@ where
|
||||
</p>
|
||||
|
||||
|
||||
<table id="org968eee8" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org36d74de" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -729,8 +729,8 @@ where
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7d65a36" class="outline-4">
|
||||
<h4 id="org7d65a36"><span class="section-number-4">3.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-orgcf8cfd6" class="outline-4">
|
||||
<h4 id="orgcf8cfd6"><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>
|
||||
@ -743,8 +743,8 @@ where
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5242796" class="outline-4">
|
||||
<h4 id="org5242796"><span class="section-number-4">3.1.2</span> C header</h4>
|
||||
<div id="outline-container-orgc13d61d" class="outline-4">
|
||||
<h4 id="orgc13d61d"><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> (
|
||||
@ -759,8 +759,8 @@ where
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org277fa40" class="outline-4">
|
||||
<h4 id="org277fa40"><span class="section-number-4">3.1.3</span> Source</h4>
|
||||
<div id="outline-container-org3fea8ec" class="outline-4">
|
||||
<h4 id="org3fea8ec"><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-c"><span style="color: #483d8b;">#include</span> <span style="color: #8b2252;"><stdbool.h></span>
|
||||
@ -840,8 +840,8 @@ where
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org31ccda3" class="outline-4">
|
||||
<h4 id="org31ccda3"><span class="section-number-4">3.1.4</span> Performance</h4>
|
||||
<div id="outline-container-org3c90641" class="outline-4">
|
||||
<h4 id="org3c90641"><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
|
||||
@ -852,12 +852,12 @@ it is sure they will not result in a singular matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1c9e9c8" class="outline-2">
|
||||
<h2 id="org1c9e9c8"><span class="section-number-2">4</span> Woodbury 3x3</h2>
|
||||
<div id="outline-container-org9134732" class="outline-2">
|
||||
<h2 id="org9134732"><span class="section-number-2">4</span> Woodbury 3x3</h2>
|
||||
<div class="outline-text-2" id="text-4">
|
||||
</div>
|
||||
<div id="outline-container-org4dc2367" class="outline-3">
|
||||
<h3 id="org4dc2367"><span class="section-number-3">4.1</span> <code>qmckl_woodbury_3</code></h3>
|
||||
<div id="outline-container-org2657414" class="outline-3">
|
||||
<h3 id="org2657414"><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
|
||||
@ -871,7 +871,7 @@ except for the sizes of the following matrices:
|
||||
\(D := VS^{-1}\), a \(3 \times Dim\) matrix
|
||||
</p>
|
||||
|
||||
<table id="orga2cb22f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org513115d" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -929,8 +929,8 @@ except for the sizes of the following matrices:
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9cded3d" class="outline-4">
|
||||
<h4 id="org9cded3d"><span class="section-number-4">4.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-orga394247" class="outline-4">
|
||||
<h4 id="orga394247"><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>
|
||||
@ -943,8 +943,8 @@ except for the sizes of the following matrices:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org573f1a9" class="outline-4">
|
||||
<h4 id="org573f1a9"><span class="section-number-4">4.1.2</span> C header</h4>
|
||||
<div id="outline-container-org0a2b2f1" class="outline-4">
|
||||
<h4 id="org0a2b2f1"><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> (
|
||||
@ -959,8 +959,8 @@ except for the sizes of the following matrices:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgad396f4" class="outline-4">
|
||||
<h4 id="orgad396f4"><span class="section-number-4">4.1.3</span> Source</h4>
|
||||
<div id="outline-container-orgf205a36" class="outline-4">
|
||||
<h4 id="orgf205a36"><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-c"><span style="color: #483d8b;">#include</span> <span style="color: #8b2252;"><stdbool.h></span>
|
||||
@ -1055,8 +1055,8 @@ except for the sizes of the following matrices:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4486497" class="outline-4">
|
||||
<h4 id="org4486497"><span class="section-number-4">4.1.4</span> Performance…</h4>
|
||||
<div id="outline-container-orga54063f" class="outline-4">
|
||||
<h4 id="orga54063f"><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
|
||||
@ -1067,12 +1067,12 @@ it is sure they will not result in a singular matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org28cbe65" class="outline-2">
|
||||
<h2 id="org28cbe65"><span class="section-number-2">5</span> Sherman-Morrison with update splitting</h2>
|
||||
<div id="outline-container-org3de62af" class="outline-2">
|
||||
<h2 id="org3de62af"><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-org13d6416" class="outline-3">
|
||||
<h3 id="org13d6416"><span class="section-number-3">5.1</span> <code>qmckl_sherman_morrison_splitting</code></h3>
|
||||
<div id="outline-container-orgf9c9956" class="outline-3">
|
||||
<h3 id="orgf9c9956"><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
|
||||
@ -1089,7 +1089,7 @@ case the Slater-matrix that would have resulted from applying the updates is sin
|
||||
kernel exits with an exit code.
|
||||
</p>
|
||||
|
||||
<table id="orgee2886a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org71d747b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1154,8 +1154,8 @@ kernel exits with an exit code.
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc306fa0" class="outline-4">
|
||||
<h4 id="orgc306fa0"><span class="section-number-4">5.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org3624732" class="outline-4">
|
||||
<h4 id="org3624732"><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>
|
||||
@ -1169,8 +1169,8 @@ kernel exits with an exit code.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8d4f01a" class="outline-4">
|
||||
<h4 id="org8d4f01a"><span class="section-number-4">5.1.2</span> C header</h4>
|
||||
<div id="outline-container-orgd2b835d" class="outline-4">
|
||||
<h4 id="orgd2b835d"><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> (
|
||||
@ -1186,8 +1186,8 @@ kernel exits with an exit code.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgcc63bac" class="outline-4">
|
||||
<h4 id="orgcc63bac"><span class="section-number-4">5.1.3</span> Source</h4>
|
||||
<div id="outline-container-org60383e9" class="outline-4">
|
||||
<h4 id="org60383e9"><span class="section-number-4">5.1.3</span> 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>
|
||||
@ -1221,8 +1221,8 @@ kernel exits with an exit code.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org924d7d1" class="outline-4">
|
||||
<h4 id="org924d7d1"><span class="section-number-4">5.1.4</span> Performance…</h4>
|
||||
<div id="outline-container-org847854d" class="outline-4">
|
||||
<h4 id="org847854d"><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.
|
||||
@ -1232,12 +1232,12 @@ This kernel performs best when there are 2 or more rank-1 update cycles and fail
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2d4bb30" class="outline-2">
|
||||
<h2 id="org2d4bb30"><span class="section-number-2">6</span> Woodbury 3x3 and 2x2 with Sherman-Morrison and update splitting</h2>
|
||||
<div id="outline-container-org8166ec4" class="outline-2">
|
||||
<h2 id="org8166ec4"><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-org9f2b586" class="outline-3">
|
||||
<h3 id="org9f2b586"><span class="section-number-3">6.1</span> <code>qmckl_sherman_morrison_smw32s</code></h3>
|
||||
<div id="outline-container-org4c373d9" class="outline-3">
|
||||
<h3 id="org4c373d9"><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,
|
||||
@ -1247,7 +1247,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="org60c4e79" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgfee9afa" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1312,8 +1312,8 @@ with Woodbury 2x2 instead of sending them all to Sherman-Morrison with update sp
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org229ab7d" class="outline-4">
|
||||
<h4 id="org229ab7d"><span class="section-number-4">6.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org2f605a9" class="outline-4">
|
||||
<h4 id="org2f605a9"><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>
|
||||
@ -1327,8 +1327,8 @@ with Woodbury 2x2 instead of sending them all to Sherman-Morrison with update sp
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org593d2cd" class="outline-4">
|
||||
<h4 id="org593d2cd"><span class="section-number-4">6.1.2</span> C header</h4>
|
||||
<div id="outline-container-orgaa9b101" class="outline-4">
|
||||
<h4 id="orgaa9b101"><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> (
|
||||
@ -1344,8 +1344,8 @@ with Woodbury 2x2 instead of sending them all to Sherman-Morrison with update sp
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7b80782" class="outline-4">
|
||||
<h4 id="org7b80782"><span class="section-number-4">6.1.3</span> Source</h4>
|
||||
<div id="outline-container-org8ae53ec" class="outline-4">
|
||||
<h4 id="org8ae53ec"><span class="section-number-4">6.1.3</span> 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>
|
||||
@ -1421,8 +1421,8 @@ with Woodbury 2x2 instead of sending them all to Sherman-Morrison with update sp
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4d6534c" class="outline-4">
|
||||
<h4 id="org4d6534c"><span class="section-number-4">6.1.4</span> Performance…</h4>
|
||||
<div id="outline-container-orgeded056" class="outline-4">
|
||||
<h4 id="orgeded056"><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.
|
||||
@ -1432,8 +1432,8 @@ This kernel performs best for update cycles with 2 or more rank-1 updates and th
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0fa4841" class="outline-2">
|
||||
<h2 id="org0fa4841"><span class="section-number-2">7</span> Helper Functions</h2>
|
||||
<div id="outline-container-org532e981" class="outline-2">
|
||||
<h2 id="org532e981"><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.
|
||||
@ -1441,8 +1441,8 @@ These functions can only be used internally by the kernels in this module.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc7ab7e9" class="outline-3">
|
||||
<h3 id="orgc7ab7e9"><span class="section-number-3">7.1</span> <code>qmckl_slagel_splitting</code></h3>
|
||||
<div id="outline-container-org5dec6a3" class="outline-3">
|
||||
<h3 id="org5dec6a3"><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.
|
||||
@ -1457,7 +1457,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="orgea37144" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgdca9c6c" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1537,8 +1537,8 @@ as \(\frac{1}{2}u_j\). One half is applied immediately, the other half will be a
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orge7d8be1" class="outline-4">
|
||||
<h4 id="orge7d8be1"><span class="section-number-4">7.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-orgb1a41e3" class="outline-4">
|
||||
<h4 id="orgb1a41e3"><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>
|
||||
@ -1554,8 +1554,8 @@ as \(\frac{1}{2}u_j\). One half is applied immediately, the other half will be a
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga5f9f0a" class="outline-4">
|
||||
<h4 id="orga5f9f0a"><span class="section-number-4">7.1.2</span> C header</h4>
|
||||
<div id="outline-container-orgf993732" class="outline-4">
|
||||
<h4 id="orgf993732"><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> (
|
||||
@ -1573,8 +1573,8 @@ as \(\frac{1}{2}u_j\). One half is applied immediately, the other half will be a
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4df0348" class="outline-4">
|
||||
<h4 id="org4df0348"><span class="section-number-4">7.1.3</span> Source</h4>
|
||||
<div id="outline-container-org222c067" class="outline-4">
|
||||
<h4 id="org222c067"><span class="section-number-4">7.1.3</span> 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>
|
||||
@ -1647,8 +1647,8 @@ as \(\frac{1}{2}u_j\). One half is applied immediately, the other half will be a
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc39a7d5" class="outline-4">
|
||||
<h4 id="orgc39a7d5"><span class="section-number-4">7.1.4</span> Performance</h4>
|
||||
<div id="outline-container-orgf7b8396" class="outline-4">
|
||||
<h4 id="orgf7b8396"><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
|
||||
@ -1659,8 +1659,8 @@ with Sherman-Morrison and update splitting. Please look at the performance recco
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgbacc198" class="outline-2">
|
||||
<h2 id="orgbacc198"><span class="section-number-2">8</span> End of files</h2>
|
||||
<div id="outline-container-org8149db6" class="outline-2">
|
||||
<h2 id="org8149db6"><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);
|
||||
@ -1674,7 +1674,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-09-27 Mon 09:32</p>
|
||||
<p class="date">Created: 2021-09-28 Tue 22:27</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
59084
qmckl_tests.html
59084
qmckl_tests.html
File diff suppressed because it is too large
Load Diff
@ -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-09-27 Mon 09:32 -->
|
||||
<!-- 2021-09-28 Tue 22:27 -->
|
||||
<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="#org8efc234">1. Matrix operations</a>
|
||||
<li><a href="#org6dcc6b0">1. Matrix operations</a>
|
||||
<ul>
|
||||
<li><a href="#org98c9022">1.1. <code>qmckl_transpose</code></a>
|
||||
<li><a href="#orgbfc7ff2">1.1. <code>qmckl_transpose</code></a>
|
||||
<ul>
|
||||
<li><a href="#org9ea3f1d">1.1.1. Requirements</a></li>
|
||||
<li><a href="#orge156dcf">1.1.2. C header</a></li>
|
||||
<li><a href="#orgc306e0e">1.1.3. Source</a></li>
|
||||
<li><a href="#orgadb7ea6">1.1.1. Requirements</a></li>
|
||||
<li><a href="#orgaf751c6">1.1.2. C header</a></li>
|
||||
<li><a href="#org623aea6">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-org8efc234" class="outline-2">
|
||||
<h2 id="org8efc234"><span class="section-number-2">1</span> Matrix operations</h2>
|
||||
<div id="outline-container-org6dcc6b0" class="outline-2">
|
||||
<h2 id="org6dcc6b0"><span class="section-number-2">1</span> Matrix operations</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
</div>
|
||||
<div id="outline-container-org98c9022" class="outline-3">
|
||||
<h3 id="org98c9022"><span class="section-number-3">1.1</span> <code>qmckl_transpose</code></h3>
|
||||
<div id="outline-container-orgbfc7ff2" class="outline-3">
|
||||
<h3 id="orgbfc7ff2"><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="org1f03cba" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org7d480be" 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-org9ea3f1d" class="outline-4">
|
||||
<h4 id="org9ea3f1d"><span class="section-number-4">1.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-orgadb7ea6" class="outline-4">
|
||||
<h4 id="orgadb7ea6"><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-orge156dcf" class="outline-4">
|
||||
<h4 id="orge156dcf"><span class="section-number-4">1.1.2</span> C header</h4>
|
||||
<div id="outline-container-orgaf751c6" class="outline-4">
|
||||
<h4 id="orgaf751c6"><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-orgc306e0e" class="outline-4">
|
||||
<h4 id="orgc306e0e"><span class="section-number-4">1.1.3</span> Source</h4>
|
||||
<div id="outline-container-org623aea6" class="outline-4">
|
||||
<h4 id="org623aea6"><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-09-27 Mon 09:32</p>
|
||||
<p class="date">Created: 2021-09-28 Tue 22:27</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