mirror of
https://github.com/TREX-CoE/qmckl.git
synced 2024-11-03 20:54:09 +01:00
Deploying to gh-pages from @ TREX-CoE/qmckl@de03986bda 🚀
This commit is contained in:
parent
46449c8644
commit
4ccffa22bb
@ -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-14 Tue 10:20 -->
|
||||
<!-- 2021-09-18 Sat 16:13 -->
|
||||
<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-14 Tue 10:20</p>
|
||||
<p class="date">Created: 2021-09-18 Sat 16:13</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-14 Tue 10:20 -->
|
||||
<!-- 2021-09-18 Sat 16:13 -->
|
||||
<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="#orgeb570d5">1. Using QMCkl</a></li>
|
||||
<li><a href="#org093b3d1">2. Developing in QMCkl</a>
|
||||
<li><a href="#org2296795">1. Using QMCkl</a></li>
|
||||
<li><a href="#org36f131a">2. Developing in QMCkl</a>
|
||||
<ul>
|
||||
<li><a href="#org1c1e878">2.1. Literate programming</a></li>
|
||||
<li><a href="#org43af1f4">2.2. Source code editing</a></li>
|
||||
<li><a href="#org30ad0be">2.3. Choice of the programming language</a></li>
|
||||
<li><a href="#org35dd88b">2.4. Coding rules</a></li>
|
||||
<li><a href="#orgae23672">2.5. Design of the library</a></li>
|
||||
<li><a href="#orgb83c3ef">2.6. Naming conventions</a></li>
|
||||
<li><a href="#org4e3af4a">2.7. Application programming interface</a></li>
|
||||
<li><a href="#org69ff180">2.8. Global state</a></li>
|
||||
<li><a href="#org786b281">2.9. Headers</a></li>
|
||||
<li><a href="#org80d047e">2.10. Low-level functions</a></li>
|
||||
<li><a href="#orgfecfd97">2.11. High-level functions</a></li>
|
||||
<li><a href="#orgbe228ee">2.12. Numerical precision</a></li>
|
||||
<li><a href="#orge7257da">2.13. Algorithms</a></li>
|
||||
<li><a href="#orgf104c21">2.1. Literate programming</a></li>
|
||||
<li><a href="#orgb3e5973">2.2. Source code editing</a></li>
|
||||
<li><a href="#org719d9b8">2.3. Choice of the programming language</a></li>
|
||||
<li><a href="#org61f7cf1">2.4. Coding rules</a></li>
|
||||
<li><a href="#org130cdec">2.5. Design of the library</a></li>
|
||||
<li><a href="#org7f97c41">2.6. Naming conventions</a></li>
|
||||
<li><a href="#org806477c">2.7. Application programming interface</a></li>
|
||||
<li><a href="#org51c1435">2.8. Global state</a></li>
|
||||
<li><a href="#org128bd11">2.9. Headers</a></li>
|
||||
<li><a href="#org38f6680">2.10. Low-level functions</a></li>
|
||||
<li><a href="#org9d2a978">2.11. High-level functions</a></li>
|
||||
<li><a href="#org767552c">2.12. Numerical precision</a></li>
|
||||
<li><a href="#org077f636">2.13. Algorithms</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgeb570d5" class="outline-2">
|
||||
<h2 id="orgeb570d5"><span class="section-number-2">1</span> Using QMCkl</h2>
|
||||
<div id="outline-container-org2296795" class="outline-2">
|
||||
<h2 id="org2296795"><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-org093b3d1" class="outline-2">
|
||||
<h2 id="org093b3d1"><span class="section-number-2">2</span> Developing in QMCkl</h2>
|
||||
<div id="outline-container-org36f131a" class="outline-2">
|
||||
<h2 id="org36f131a"><span class="section-number-2">2</span> Developing in QMCkl</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-org1c1e878" class="outline-3">
|
||||
<h3 id="org1c1e878"><span class="section-number-3">2.1</span> Literate programming</h3>
|
||||
<div id="outline-container-orgf104c21" class="outline-3">
|
||||
<h3 id="orgf104c21"><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-org43af1f4" class="outline-3">
|
||||
<h3 id="org43af1f4"><span class="section-number-3">2.2</span> Source code editing</h3>
|
||||
<div id="outline-container-orgb3e5973" class="outline-3">
|
||||
<h3 id="orgb3e5973"><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-org30ad0be" class="outline-3">
|
||||
<h3 id="org30ad0be"><span class="section-number-3">2.3</span> Choice of the programming language</h3>
|
||||
<div id="outline-container-org719d9b8" class="outline-3">
|
||||
<h3 id="org719d9b8"><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-org35dd88b" class="outline-3">
|
||||
<h3 id="org35dd88b"><span class="section-number-3">2.4</span> Coding rules</h3>
|
||||
<div id="outline-container-org61f7cf1" class="outline-3">
|
||||
<h3 id="org61f7cf1"><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-orgae23672" class="outline-3">
|
||||
<h3 id="orgae23672"><span class="section-number-3">2.5</span> Design of the library</h3>
|
||||
<div id="outline-container-org130cdec" class="outline-3">
|
||||
<h3 id="org130cdec"><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-orgb83c3ef" class="outline-3">
|
||||
<h3 id="orgb83c3ef"><span class="section-number-3">2.6</span> Naming conventions</h3>
|
||||
<div id="outline-container-org7f97c41" class="outline-3">
|
||||
<h3 id="org7f97c41"><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-org4e3af4a" class="outline-3">
|
||||
<h3 id="org4e3af4a"><span class="section-number-3">2.7</span> Application programming interface</h3>
|
||||
<div id="outline-container-org806477c" class="outline-3">
|
||||
<h3 id="org806477c"><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-org69ff180" class="outline-3">
|
||||
<h3 id="org69ff180"><span class="section-number-3">2.8</span> Global state</h3>
|
||||
<div id="outline-container-org51c1435" class="outline-3">
|
||||
<h3 id="org51c1435"><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="org5a8fed2">=context=</a> contains the global
|
||||
<code>qmckl_context_create</code> function. The <a id="org5dd2094">=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-org786b281" class="outline-3">
|
||||
<h3 id="org786b281"><span class="section-number-3">2.9</span> Headers</h3>
|
||||
<div id="outline-container-org128bd11" class="outline-3">
|
||||
<h3 id="org128bd11"><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-org80d047e" class="outline-3">
|
||||
<h3 id="org80d047e"><span class="section-number-3">2.10</span> Low-level functions</h3>
|
||||
<div id="outline-container-org38f6680" class="outline-3">
|
||||
<h3 id="org38f6680"><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="#org5a8fed2"><code>context</code></a>. They are not allowed to allocate/deallocate memory, and
|
||||
<a href="#org5dd2094"><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-orgfecfd97" class="outline-3">
|
||||
<h3 id="orgfecfd97"><span class="section-number-3">2.11</span> High-level functions</h3>
|
||||
<div id="outline-container-org9d2a978" class="outline-3">
|
||||
<h3 id="org9d2a978"><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="#org5a8fed2"><code>context</code></a> variable.
|
||||
the <a href="#org5dd2094"><code>context</code></a> variable.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgbe228ee" class="outline-3">
|
||||
<h3 id="orgbe228ee"><span class="section-number-3">2.12</span> Numerical precision</h3>
|
||||
<div id="outline-container-org767552c" class="outline-3">
|
||||
<h3 id="org767552c"><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="#org5a8fed2"><code>context</code></a>
|
||||
functions will use the precision specified in the <a href="#org5dd2094"><code>context</code></a>
|
||||
variable.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge7257da" class="outline-3">
|
||||
<h3 id="orge7257da"><span class="section-number-3">2.13</span> Algorithms</h3>
|
||||
<div id="outline-container-org077f636" class="outline-3">
|
||||
<h3 id="org077f636"><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-14 Tue 10:20</p>
|
||||
<p class="date">Created: 2021-09-18 Sat 16:13</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
260
qmckl_ao.html
260
qmckl_ao.html
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-09-14 Tue 10:20 -->
|
||||
<!-- 2021-09-18 Sat 16:13 -->
|
||||
<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="#org1af3628">1. Context</a>
|
||||
<li><a href="#orgaaa6601">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#org0fc470b">1.1. Data structure</a></li>
|
||||
<li><a href="#org92020ab">1.2. Access functions</a></li>
|
||||
<li><a href="#org15f2b4c">1.3. Initialization functions</a></li>
|
||||
<li><a href="#orgca694ac">1.4. Fortran interfaces</a></li>
|
||||
<li><a href="#org5182a46">1.1. Data structure</a></li>
|
||||
<li><a href="#orga3aa8d5">1.2. Access functions</a></li>
|
||||
<li><a href="#org5f0cac9">1.3. Initialization functions</a></li>
|
||||
<li><a href="#orgf19a538">1.4. Fortran interfaces</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgb492669">2. Radial part</a>
|
||||
<li><a href="#org083803a">2. Radial part</a>
|
||||
<ul>
|
||||
<li><a href="#orgf3c3e85">2.1. <span class="todo TODO">TODO</span> Helper functions to accelerate calculations</a></li>
|
||||
<li><a href="#org9ecf1a7">2.2. General functions for Gaussian basis functions</a></li>
|
||||
<li><a href="#orgae4e231">2.3. <span class="todo TODO">TODO</span> General functions for Slater basis functions</a></li>
|
||||
<li><a href="#org5ca5720">2.4. <span class="todo TODO">TODO</span> General functions for Radial functions on a grid</a></li>
|
||||
<li><a href="#org5c6da90">2.5. Computation of primitives</a>
|
||||
<li><a href="#orgd7c5c84">2.1. <span class="todo TODO">TODO</span> Helper functions to accelerate calculations</a></li>
|
||||
<li><a href="#org9d29d58">2.2. General functions for Gaussian basis functions</a></li>
|
||||
<li><a href="#org48e1bc9">2.3. <span class="todo TODO">TODO</span> General functions for Slater basis functions</a></li>
|
||||
<li><a href="#orgc338b70">2.4. <span class="todo TODO">TODO</span> General functions for Radial functions on a grid</a></li>
|
||||
<li><a href="#org8f34db9">2.5. Computation of primitives</a>
|
||||
<ul>
|
||||
<li><a href="#org5b3f983">2.5.1. Get</a></li>
|
||||
<li><a href="#orgcea5fd9">2.5.2. Provide</a></li>
|
||||
<li><a href="#org56bd04c">2.5.3. Compute</a></li>
|
||||
<li><a href="#org68da68a">2.5.4. Test</a></li>
|
||||
<li><a href="#orgb93ef0c">2.5.5. Ideas for improvement</a></li>
|
||||
<li><a href="#orgc72eb1f">2.5.1. Get</a></li>
|
||||
<li><a href="#orged1e33a">2.5.2. Provide</a></li>
|
||||
<li><a href="#org0fe94b4">2.5.3. Compute</a></li>
|
||||
<li><a href="#org8439a10">2.5.4. Test</a></li>
|
||||
<li><a href="#orgc170828">2.5.5. Ideas for improvement</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org164d6c9">2.6. Computation of shells</a>
|
||||
<li><a href="#org18412b0">2.6. Computation of shells</a>
|
||||
<ul>
|
||||
<li><a href="#orge843f9f">2.6.1. Get</a></li>
|
||||
<li><a href="#org1c4be52">2.6.2. Provide</a></li>
|
||||
<li><a href="#org16d3cbf">2.6.3. Compute</a></li>
|
||||
<li><a href="#orgabe90e5">2.6.4. Test</a></li>
|
||||
<li><a href="#orge9763cf">2.6.1. Get</a></li>
|
||||
<li><a href="#orgc8e6ec7">2.6.2. Provide</a></li>
|
||||
<li><a href="#orgc65bba9">2.6.3. Compute</a></li>
|
||||
<li><a href="#orgf4c736f">2.6.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgbd307dd">3. Polynomial part</a>
|
||||
<li><a href="#org44220bd">3. Polynomial part</a>
|
||||
<ul>
|
||||
<li><a href="#orge3690ed">3.1. General functions for Powers of \(x-X_i\)</a>
|
||||
<li><a href="#org07c0442">3.1. General functions for Powers of \(x-X_i\)</a>
|
||||
<ul>
|
||||
<li><a href="#org4eaa736">3.1.1. Requirements</a></li>
|
||||
<li><a href="#org38cd942">3.1.2. C Header</a></li>
|
||||
<li><a href="#org1551768">3.1.3. Source</a></li>
|
||||
<li><a href="#orgf66e477">3.1.4. C interface</a></li>
|
||||
<li><a href="#org47644f0">3.1.5. Fortran interface</a></li>
|
||||
<li><a href="#orga17f5e2">3.1.6. Test</a></li>
|
||||
<li><a href="#org301b4e3">3.1.1. Requirements</a></li>
|
||||
<li><a href="#org8c3b67a">3.1.2. C Header</a></li>
|
||||
<li><a href="#orgf57f735">3.1.3. Source</a></li>
|
||||
<li><a href="#org58d502b">3.1.4. C interface</a></li>
|
||||
<li><a href="#orga560da5">3.1.5. Fortran interface</a></li>
|
||||
<li><a href="#orge0e618a">3.1.6. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgb871c38">3.2. General functions for Value, Gradient and Laplacian of a polynomial</a>
|
||||
<li><a href="#org1c8f005">3.2. General functions for Value, Gradient and Laplacian of a polynomial</a>
|
||||
<ul>
|
||||
<li><a href="#orgb89c969">3.2.1. Requirements</a></li>
|
||||
<li><a href="#org25bce9c">3.2.2. C Header</a></li>
|
||||
<li><a href="#org677088d">3.2.3. Source</a></li>
|
||||
<li><a href="#org52259a8">3.2.4. C interface</a></li>
|
||||
<li><a href="#orgf81297c">3.2.5. Fortran interface</a></li>
|
||||
<li><a href="#org6948bae">3.2.6. Test</a></li>
|
||||
<li><a href="#org751923e">3.2.1. Requirements</a></li>
|
||||
<li><a href="#org75f0912">3.2.2. C Header</a></li>
|
||||
<li><a href="#orgbe1662f">3.2.3. Source</a></li>
|
||||
<li><a href="#orga53e6ba">3.2.4. C interface</a></li>
|
||||
<li><a href="#org1efeaa9">3.2.5. Fortran interface</a></li>
|
||||
<li><a href="#org8cd1dab">3.2.6. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org58320f8">4. Combining radial and polynomial parts</a>
|
||||
<li><a href="#org26fcc59">4. Combining radial and polynomial parts</a>
|
||||
<ul>
|
||||
<li>
|
||||
<ul>
|
||||
<li><a href="#orgfeb22ae">4.0.1. Get</a></li>
|
||||
<li><a href="#org2b9ec5a">4.0.2. Provide</a></li>
|
||||
<li><a href="#org7f99782">4.0.3. Compute</a></li>
|
||||
<li><a href="#org739c3de">4.0.4. Test</a></li>
|
||||
<li><a href="#org754114d">4.0.1. Get</a></li>
|
||||
<li><a href="#org9ae8ab1">4.0.2. Provide</a></li>
|
||||
<li><a href="#org4f70899">4.0.3. Compute</a></li>
|
||||
<li><a href="#org97d717b">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-org1af3628" class="outline-2">
|
||||
<h2 id="org1af3628"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-orgaaa6601" class="outline-2">
|
||||
<h2 id="orgaaa6601"><span class="section-number-2">1</span> Context</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
The following arrays are stored in the context:
|
||||
@ -679,8 +679,8 @@ prim_factor = [ 1.0006253235944540e+01, 2.4169531573445120e+00, 7.96109248497664
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0fc470b" class="outline-3">
|
||||
<h3 id="org0fc470b"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-org5182a46" class="outline-3">
|
||||
<h3 id="org5182a46"><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-org92020ab" class="outline-3">
|
||||
<h3 id="org92020ab"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div id="outline-container-orga3aa8d5" class="outline-3">
|
||||
<h3 id="orga3aa8d5"><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-org15f2b4c" class="outline-3">
|
||||
<h3 id="org15f2b4c"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-org5f0cac9" class="outline-3">
|
||||
<h3 id="org5f0cac9"><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-orgca694ac" class="outline-3">
|
||||
<h3 id="orgca694ac"><span class="section-number-3">1.4</span> Fortran interfaces</h3>
|
||||
<div id="outline-container-orgf19a538" class="outline-3">
|
||||
<h3 id="orgf19a538"><span class="section-number-3">1.4</span> Fortran interfaces</h3>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb492669" class="outline-2">
|
||||
<h2 id="orgb492669"><span class="section-number-2">2</span> Radial part</h2>
|
||||
<div id="outline-container-org083803a" class="outline-2">
|
||||
<h2 id="org083803a"><span class="section-number-2">2</span> Radial part</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-orgf3c3e85" class="outline-3">
|
||||
<h3 id="orgf3c3e85"><span class="section-number-3">2.1</span> <span class="todo TODO">TODO</span> Helper functions to accelerate calculations</h3>
|
||||
<div id="outline-container-orgd7c5c84" class="outline-3">
|
||||
<h3 id="orgd7c5c84"><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-org9ecf1a7" class="outline-3">
|
||||
<h3 id="org9ecf1a7"><span class="section-number-3">2.2</span> General functions for Gaussian basis functions</h3>
|
||||
<div id="outline-container-org9d29d58" class="outline-3">
|
||||
<h3 id="org9d29d58"><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-orgae4e231" class="outline-3">
|
||||
<h3 id="orgae4e231"><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-org48e1bc9" class="outline-3">
|
||||
<h3 id="org48e1bc9"><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-org5ca5720" class="outline-3">
|
||||
<h3 id="org5ca5720"><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-orgc338b70" class="outline-3">
|
||||
<h3 id="orgc338b70"><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-org5c6da90" class="outline-3">
|
||||
<h3 id="org5c6da90"><span class="section-number-3">2.5</span> Computation of primitives</h3>
|
||||
<div id="outline-container-org8f34db9" class="outline-3">
|
||||
<h3 id="org8f34db9"><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-org5b3f983" class="outline-4">
|
||||
<h4 id="org5b3f983"><span class="section-number-4">2.5.1</span> Get</h4>
|
||||
<div id="outline-container-orgc72eb1f" class="outline-4">
|
||||
<h4 id="orgc72eb1f"><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-orgcea5fd9" class="outline-4">
|
||||
<h4 id="orgcea5fd9"><span class="section-number-4">2.5.2</span> Provide</h4>
|
||||
<div id="outline-container-orged1e33a" class="outline-4">
|
||||
<h4 id="orged1e33a"><span class="section-number-4">2.5.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org56bd04c" class="outline-4">
|
||||
<h4 id="org56bd04c"><span class="section-number-4">2.5.3</span> Compute</h4>
|
||||
<div id="outline-container-org0fe94b4" class="outline-4">
|
||||
<h4 id="org0fe94b4"><span class="section-number-4">2.5.3</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-5-3">
|
||||
<table id="org569f34d" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org3bd2fee" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1223,12 +1223,12 @@ Requirements
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org68da68a" class="outline-4">
|
||||
<h4 id="org68da68a"><span class="section-number-4">2.5.4</span> Test</h4>
|
||||
<div id="outline-container-org8439a10" class="outline-4">
|
||||
<h4 id="org8439a10"><span class="section-number-4">2.5.4</span> Test</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb93ef0c" class="outline-4">
|
||||
<h4 id="orgb93ef0c"><span class="section-number-4">2.5.5</span> Ideas for improvement</h4>
|
||||
<div id="outline-container-orgc170828" class="outline-4">
|
||||
<h4 id="orgc170828"><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>
|
||||
@ -1265,12 +1265,12 @@ k=0;
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org164d6c9" class="outline-3">
|
||||
<h3 id="org164d6c9"><span class="section-number-3">2.6</span> Computation of shells</h3>
|
||||
<div id="outline-container-org18412b0" class="outline-3">
|
||||
<h3 id="org18412b0"><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-orge843f9f" class="outline-4">
|
||||
<h4 id="orge843f9f"><span class="section-number-4">2.6.1</span> Get</h4>
|
||||
<div id="outline-container-orge9763cf" class="outline-4">
|
||||
<h4 id="orge9763cf"><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 +1279,14 @@ k=0;
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1c4be52" class="outline-4">
|
||||
<h4 id="org1c4be52"><span class="section-number-4">2.6.2</span> Provide</h4>
|
||||
<div id="outline-container-orgc8e6ec7" class="outline-4">
|
||||
<h4 id="orgc8e6ec7"><span class="section-number-4">2.6.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org16d3cbf" class="outline-4">
|
||||
<h4 id="org16d3cbf"><span class="section-number-4">2.6.3</span> Compute</h4>
|
||||
<div id="outline-container-orgc65bba9" class="outline-4">
|
||||
<h4 id="orgc65bba9"><span class="section-number-4">2.6.3</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-6-3">
|
||||
<table id="org3aa02df" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org3d4f728" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1518,14 +1518,14 @@ k=0;
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgabe90e5" class="outline-4">
|
||||
<h4 id="orgabe90e5"><span class="section-number-4">2.6.4</span> Test</h4>
|
||||
<div id="outline-container-orgf4c736f" class="outline-4">
|
||||
<h4 id="orgf4c736f"><span class="section-number-4">2.6.4</span> Test</h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgbd307dd" class="outline-2">
|
||||
<h2 id="orgbd307dd"><span class="section-number-2">3</span> Polynomial part</h2>
|
||||
<div id="outline-container-org44220bd" class="outline-2">
|
||||
<h2 id="org44220bd"><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 +1545,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-orge3690ed" class="outline-3">
|
||||
<h3 id="orge3690ed"><span class="section-number-3">3.1</span> General functions for Powers of \(x-X_i\)</h3>
|
||||
<div id="outline-container-org07c0442" class="outline-3">
|
||||
<h3 id="org07c0442"><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 +1558,7 @@ the \(n\) points:
|
||||
\[ P_{ik} = X_i^k \]
|
||||
</p>
|
||||
|
||||
<table id="orge8389a7" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org69482ad" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1616,8 +1616,8 @@ the \(n\) points:
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4eaa736" class="outline-4">
|
||||
<h4 id="org4eaa736"><span class="section-number-4">3.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org301b4e3" class="outline-4">
|
||||
<h4 id="org301b4e3"><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 +1630,8 @@ the \(n\) points:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org38cd942" class="outline-4">
|
||||
<h4 id="org38cd942"><span class="section-number-4">3.1.2</span> C Header</h4>
|
||||
<div id="outline-container-org8c3b67a" class="outline-4">
|
||||
<h4 id="org8c3b67a"><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 +1646,8 @@ the \(n\) points:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1551768" class="outline-4">
|
||||
<h4 id="org1551768"><span class="section-number-4">3.1.3</span> Source</h4>
|
||||
<div id="outline-container-orgf57f735" class="outline-4">
|
||||
<h4 id="orgf57f735"><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 +1698,15 @@ the \(n\) points:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf66e477" class="outline-4">
|
||||
<h4 id="orgf66e477"><span class="section-number-4">3.1.4</span> C interface</h4>
|
||||
<div id="outline-container-org58d502b" class="outline-4">
|
||||
<h4 id="org58d502b"><span class="section-number-4">3.1.4</span> C interface</h4>
|
||||
</div>
|
||||
<div id="outline-container-org47644f0" class="outline-4">
|
||||
<h4 id="org47644f0"><span class="section-number-4">3.1.5</span> Fortran interface</h4>
|
||||
<div id="outline-container-orga560da5" class="outline-4">
|
||||
<h4 id="orga560da5"><span class="section-number-4">3.1.5</span> Fortran interface</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga17f5e2" class="outline-4">
|
||||
<h4 id="orga17f5e2"><span class="section-number-4">3.1.6</span> Test</h4>
|
||||
<div id="outline-container-orge0e618a" class="outline-4">
|
||||
<h4 id="orge0e618a"><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 +1757,8 @@ the \(n\) points:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb871c38" class="outline-3">
|
||||
<h3 id="orgb871c38"><span class="section-number-3">3.2</span> General functions for Value, Gradient and Laplacian of a polynomial</h3>
|
||||
<div id="outline-container-org1c8f005" class="outline-3">
|
||||
<h3 id="org1c8f005"><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 +1803,7 @@ Laplacians at a given point in space, of all polynomials with an
|
||||
angular momentum up to <code>lmax</code>.
|
||||
</p>
|
||||
|
||||
<table id="org352c89c" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgd5c0058" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1882,8 +1882,8 @@ angular momentum up to <code>lmax</code>.
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb89c969" class="outline-4">
|
||||
<h4 id="orgb89c969"><span class="section-number-4">3.2.1</span> Requirements</h4>
|
||||
<div id="outline-container-org751923e" class="outline-4">
|
||||
<h4 id="org751923e"><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 +1908,8 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org25bce9c" class="outline-4">
|
||||
<h4 id="org25bce9c"><span class="section-number-4">3.2.2</span> C Header</h4>
|
||||
<div id="outline-container-org75f0912" class="outline-4">
|
||||
<h4 id="org75f0912"><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 +1927,8 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org677088d" class="outline-4">
|
||||
<h4 id="org677088d"><span class="section-number-4">3.2.3</span> Source</h4>
|
||||
<div id="outline-container-orgbe1662f" class="outline-4">
|
||||
<h4 id="orgbe1662f"><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 +2062,16 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org52259a8" class="outline-4">
|
||||
<h4 id="org52259a8"><span class="section-number-4">3.2.4</span> C interface</h4>
|
||||
<div id="outline-container-orga53e6ba" class="outline-4">
|
||||
<h4 id="orga53e6ba"><span class="section-number-4">3.2.4</span> C interface</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf81297c" class="outline-4">
|
||||
<h4 id="orgf81297c"><span class="section-number-4">3.2.5</span> Fortran interface</h4>
|
||||
<div id="outline-container-org1efeaa9" class="outline-4">
|
||||
<h4 id="org1efeaa9"><span class="section-number-4">3.2.5</span> Fortran interface</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6948bae" class="outline-4">
|
||||
<h4 id="org6948bae"><span class="section-number-4">3.2.6</span> Test</h4>
|
||||
<div id="outline-container-org8cd1dab" class="outline-4">
|
||||
<h4 id="org8cd1dab"><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 +2176,12 @@ assert(0 == test_qmckl_ao_polynomial_vgl(context));
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org58320f8" class="outline-2">
|
||||
<h2 id="org58320f8"><span class="section-number-2">4</span> Combining radial and polynomial parts</h2>
|
||||
<div id="outline-container-org26fcc59" class="outline-2">
|
||||
<h2 id="org26fcc59"><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-orgfeb22ae" class="outline-4">
|
||||
<h4 id="orgfeb22ae"><span class="section-number-4">4.0.1</span> Get</h4>
|
||||
<div id="outline-container-org754114d" class="outline-4">
|
||||
<h4 id="org754114d"><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 +2190,14 @@ assert(0 == test_qmckl_ao_polynomial_vgl(context));
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2b9ec5a" class="outline-4">
|
||||
<h4 id="org2b9ec5a"><span class="section-number-4">4.0.2</span> Provide</h4>
|
||||
<div id="outline-container-org9ae8ab1" class="outline-4">
|
||||
<h4 id="org9ae8ab1"><span class="section-number-4">4.0.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7f99782" class="outline-4">
|
||||
<h4 id="org7f99782"><span class="section-number-4">4.0.3</span> Compute</h4>
|
||||
<div id="outline-container-org4f70899" class="outline-4">
|
||||
<h4 id="org4f70899"><span class="section-number-4">4.0.3</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-4-0-3">
|
||||
<table id="org1234495" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org3a221ba" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2473,14 +2473,14 @@ assert(0 == test_qmckl_ao_polynomial_vgl(context));
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org739c3de" class="outline-4">
|
||||
<h4 id="org739c3de"><span class="section-number-4">4.0.4</span> Test</h4>
|
||||
<div id="outline-container-org97d717b" class="outline-4">
|
||||
<h4 id="org97d717b"><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-14 Tue 10:20</p>
|
||||
<p class="date">Created: 2021-09-18 Sat 16:13</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-14 Tue 10:20 -->
|
||||
<!-- 2021-09-18 Sat 16:13 -->
|
||||
<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="#org5ffe74d">1. Context handling</a>
|
||||
<li><a href="#org7ddef2f">1. Context handling</a>
|
||||
<ul>
|
||||
<li><a href="#org89255d2">1.1. Data structure</a></li>
|
||||
<li><a href="#orge45eb87">1.2. Creation</a></li>
|
||||
<li><a href="#org065e761">1.3. Locking</a></li>
|
||||
<li><a href="#orgc319b4e">1.4. <span class="todo TODO">TODO</span> Copy</a></li>
|
||||
<li><a href="#org80fcb35">1.5. Destroy</a></li>
|
||||
<li><a href="#orgdd8384e">1.1. Data structure</a></li>
|
||||
<li><a href="#orgff80318">1.2. Creation</a></li>
|
||||
<li><a href="#orgabf5d14">1.3. Locking</a></li>
|
||||
<li><a href="#orgf41b70e">1.4. <span class="todo TODO">TODO</span> Copy</a></li>
|
||||
<li><a href="#orga200a89">1.5. Destroy</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5ffe74d" class="outline-2">
|
||||
<h2 id="org5ffe74d"><span class="section-number-2">1</span> Context handling</h2>
|
||||
<div id="outline-container-org7ddef2f" class="outline-2">
|
||||
<h2 id="org7ddef2f"><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="org2d31921"><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="org3fdaca5"><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-org89255d2" class="outline-3">
|
||||
<h3 id="org89255d2"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-orgdd8384e" class="outline-3">
|
||||
<h3 id="orgdd8384e"><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="#orge45eb87">qmckl<sub>context</sub><sub>create</sub></a>, <a href="#org80fcb35">qmckl<sub>context</sub><sub>destroy</sub></a> and <a href="#orgc319b4e">qmckl<sub>context</sub><sub>copy</sub></a>
|
||||
<a href="#orgff80318">qmckl<sub>context</sub><sub>create</sub></a>, <a href="#orga200a89">qmckl<sub>context</sub><sub>destroy</sub></a> and <a href="#orgf41b70e">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-orge45eb87" class="outline-3">
|
||||
<h3 id="orge45eb87"><span class="section-number-3">1.2</span> Creation</h3>
|
||||
<div id="outline-container-orgff80318" class="outline-3">
|
||||
<h3 id="orgff80318"><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-org065e761" class="outline-3">
|
||||
<h3 id="org065e761"><span class="section-number-3">1.3</span> Locking</h3>
|
||||
<div id="outline-container-orgabf5d14" class="outline-3">
|
||||
<h3 id="orgabf5d14"><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-orgc319b4e" class="outline-3">
|
||||
<h3 id="orgc319b4e"><span class="section-number-3">1.4</span> <span class="todo TODO">TODO</span> Copy</h3>
|
||||
<div id="outline-container-orgf41b70e" class="outline-3">
|
||||
<h3 id="orgf41b70e"><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-org80fcb35" class="outline-3">
|
||||
<h3 id="org80fcb35"><span class="section-number-3">1.5</span> Destroy</h3>
|
||||
<div id="outline-container-orga200a89" class="outline-3">
|
||||
<h3 id="orga200a89"><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-14 Tue 10:20</p>
|
||||
<p class="date">Created: 2021-09-18 Sat 16:13</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-14 Tue 10:20 -->
|
||||
<!-- 2021-09-18 Sat 16:13 -->
|
||||
<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="#org49084c4">1. Squared distance</a>
|
||||
<li><a href="#orge4f7abd">1. Squared distance</a>
|
||||
<ul>
|
||||
<li><a href="#org3b1366b">1.1. <code>qmckl_distance_sq</code></a>
|
||||
<li><a href="#orgb8f57f1">1.1. <code>qmckl_distance_sq</code></a>
|
||||
<ul>
|
||||
<li><a href="#org76a6c90">1.1.1. Requirements</a></li>
|
||||
<li><a href="#org1793f4f">1.1.2. C header</a></li>
|
||||
<li><a href="#orge6bff6a">1.1.3. Source</a></li>
|
||||
<li><a href="#org20ca01c">1.1.4. Performance</a></li>
|
||||
<li><a href="#org25e3c78">1.1.1. Requirements</a></li>
|
||||
<li><a href="#org07dbc15">1.1.2. C header</a></li>
|
||||
<li><a href="#orgf7c1a5e">1.1.3. Source</a></li>
|
||||
<li><a href="#orgddb0aae">1.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org5c52b72">2. Distance</a>
|
||||
<li><a href="#org48463f0">2. Distance</a>
|
||||
<ul>
|
||||
<li><a href="#orgbdf82b6">2.1. <code>qmckl_distance</code></a>
|
||||
<li><a href="#org8438579">2.1. <code>qmckl_distance</code></a>
|
||||
<ul>
|
||||
<li><a href="#org794eba0">2.1.1. Requirements</a></li>
|
||||
<li><a href="#org10065b1">2.1.2. C header</a></li>
|
||||
<li><a href="#orgd7f028f">2.1.3. Source</a></li>
|
||||
<li><a href="#org4ea1ebd">2.1.4. Performance</a></li>
|
||||
<li><a href="#org0114e60">2.1.1. Requirements</a></li>
|
||||
<li><a href="#orge05f210">2.1.2. C header</a></li>
|
||||
<li><a href="#org73f60a6">2.1.3. Source</a></li>
|
||||
<li><a href="#org045f5d9">2.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgfaf6c03">3. Rescaled Distance</a>
|
||||
<li><a href="#orgb01e20d">3. Rescaled Distance</a>
|
||||
<ul>
|
||||
<li><a href="#orgaf564df">3.1. <code>qmckl_distance_rescaled</code></a>
|
||||
<li><a href="#orgf4f09bd">3.1. <code>qmckl_distance_rescaled</code></a>
|
||||
<ul>
|
||||
<li><a href="#org2559ffe">3.1.1. Requirements</a></li>
|
||||
<li><a href="#orga87bfe2">3.1.2. C header</a></li>
|
||||
<li><a href="#orgdc30f4b">3.1.3. Source</a></li>
|
||||
<li><a href="#org1f791e2">3.1.4. Performance</a></li>
|
||||
<li><a href="#orgb24e85d">3.1.1. Requirements</a></li>
|
||||
<li><a href="#orgd4bd475">3.1.2. C header</a></li>
|
||||
<li><a href="#org528699c">3.1.3. Source</a></li>
|
||||
<li><a href="#org95d3cb2">3.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgf90d659">4. Rescaled Distance Derivatives</a>
|
||||
<li><a href="#orgeeb32de">4. Rescaled Distance Derivatives</a>
|
||||
<ul>
|
||||
<li><a href="#org7ebdb39">4.1. <code>qmckl_distance_rescaled_deriv_e</code></a>
|
||||
<li><a href="#orgd0b0c58">4.1. <code>qmckl_distance_rescaled_deriv_e</code></a>
|
||||
<ul>
|
||||
<li><a href="#org14c33ae">4.1.1. Requirements</a></li>
|
||||
<li><a href="#org0601c32">4.1.2. C header</a></li>
|
||||
<li><a href="#org69f86d2">4.1.3. Source</a></li>
|
||||
<li><a href="#org2e50f7c">4.1.4. Performance</a></li>
|
||||
<li><a href="#org19ad7c6">4.1.1. Requirements</a></li>
|
||||
<li><a href="#org83314ea">4.1.2. C header</a></li>
|
||||
<li><a href="#orgd7f9398">4.1.3. Source</a></li>
|
||||
<li><a href="#orgbc40533">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-org49084c4" class="outline-2">
|
||||
<h2 id="org49084c4"><span class="section-number-2">1</span> Squared distance</h2>
|
||||
<div id="outline-container-orge4f7abd" class="outline-2">
|
||||
<h2 id="orge4f7abd"><span class="section-number-2">1</span> Squared distance</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
</div>
|
||||
<div id="outline-container-org3b1366b" class="outline-3">
|
||||
<h3 id="org3b1366b"><span class="section-number-3">1.1</span> <code>qmckl_distance_sq</code></h3>
|
||||
<div id="outline-container-orgb8f57f1" class="outline-3">
|
||||
<h3 id="orgb8f57f1"><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="orgb7285b3" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orga246424" 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-org76a6c90" class="outline-4">
|
||||
<h4 id="org76a6c90"><span class="section-number-4">1.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org25e3c78" class="outline-4">
|
||||
<h4 id="org25e3c78"><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-org1793f4f" class="outline-4">
|
||||
<h4 id="org1793f4f"><span class="section-number-4">1.1.2</span> C header</h4>
|
||||
<div id="outline-container-org07dbc15" class="outline-4">
|
||||
<h4 id="org07dbc15"><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-orge6bff6a" class="outline-4">
|
||||
<h4 id="orge6bff6a"><span class="section-number-4">1.1.3</span> Source</h4>
|
||||
<div id="outline-container-orgf7c1a5e" class="outline-4">
|
||||
<h4 id="orgf7c1a5e"><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-org20ca01c" class="outline-4">
|
||||
<h4 id="org20ca01c"><span class="section-number-4">1.1.4</span> Performance</h4>
|
||||
<div id="outline-container-orgddb0aae" class="outline-4">
|
||||
<h4 id="orgddb0aae"><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-org5c52b72" class="outline-2">
|
||||
<h2 id="org5c52b72"><span class="section-number-2">2</span> Distance</h2>
|
||||
<div id="outline-container-org48463f0" class="outline-2">
|
||||
<h2 id="org48463f0"><span class="section-number-2">2</span> Distance</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-orgbdf82b6" class="outline-3">
|
||||
<h3 id="orgbdf82b6"><span class="section-number-3">2.1</span> <code>qmckl_distance</code></h3>
|
||||
<div id="outline-container-org8438579" class="outline-3">
|
||||
<h3 id="org8438579"><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="orgd5986a6" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org4bdda1f" 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-org794eba0" class="outline-4">
|
||||
<h4 id="org794eba0"><span class="section-number-4">2.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org0114e60" class="outline-4">
|
||||
<h4 id="org0114e60"><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-org10065b1" class="outline-4">
|
||||
<h4 id="org10065b1"><span class="section-number-4">2.1.2</span> C header</h4>
|
||||
<div id="outline-container-orge05f210" class="outline-4">
|
||||
<h4 id="orge05f210"><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-orgd7f028f" class="outline-4">
|
||||
<h4 id="orgd7f028f"><span class="section-number-4">2.1.3</span> Source</h4>
|
||||
<div id="outline-container-org73f60a6" class="outline-4">
|
||||
<h4 id="org73f60a6"><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-org4ea1ebd" class="outline-4">
|
||||
<h4 id="org4ea1ebd"><span class="section-number-4">2.1.4</span> Performance</h4>
|
||||
<div id="outline-container-org045f5d9" class="outline-4">
|
||||
<h4 id="org045f5d9"><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-orgfaf6c03" class="outline-2">
|
||||
<h2 id="orgfaf6c03"><span class="section-number-2">3</span> Rescaled Distance</h2>
|
||||
<div id="outline-container-orgb01e20d" class="outline-2">
|
||||
<h2 id="orgb01e20d"><span class="section-number-2">3</span> Rescaled Distance</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
</div>
|
||||
<div id="outline-container-orgaf564df" class="outline-3">
|
||||
<h3 id="orgaf564df"><span class="section-number-3">3.1</span> <code>qmckl_distance_rescaled</code></h3>
|
||||
<div id="outline-container-orgf4f09bd" class="outline-3">
|
||||
<h3 id="orgf4f09bd"><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="orgb5f5d64" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org9983654" 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-org2559ffe" class="outline-4">
|
||||
<h4 id="org2559ffe"><span class="section-number-4">3.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-orgb24e85d" class="outline-4">
|
||||
<h4 id="orgb24e85d"><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-orga87bfe2" class="outline-4">
|
||||
<h4 id="orga87bfe2"><span class="section-number-4">3.1.2</span> C header</h4>
|
||||
<div id="outline-container-orgd4bd475" class="outline-4">
|
||||
<h4 id="orgd4bd475"><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-orgdc30f4b" class="outline-4">
|
||||
<h4 id="orgdc30f4b"><span class="section-number-4">3.1.3</span> Source</h4>
|
||||
<div id="outline-container-org528699c" class="outline-4">
|
||||
<h4 id="org528699c"><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-org1f791e2" class="outline-4">
|
||||
<h4 id="org1f791e2"><span class="section-number-4">3.1.4</span> Performance</h4>
|
||||
<div id="outline-container-org95d3cb2" class="outline-4">
|
||||
<h4 id="org95d3cb2"><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-orgf90d659" class="outline-2">
|
||||
<h2 id="orgf90d659"><span class="section-number-2">4</span> Rescaled Distance Derivatives</h2>
|
||||
<div id="outline-container-orgeeb32de" class="outline-2">
|
||||
<h2 id="orgeeb32de"><span class="section-number-2">4</span> Rescaled Distance Derivatives</h2>
|
||||
<div class="outline-text-2" id="text-4">
|
||||
</div>
|
||||
<div id="outline-container-org7ebdb39" class="outline-3">
|
||||
<h3 id="org7ebdb39"><span class="section-number-3">4.1</span> <code>qmckl_distance_rescaled_deriv_e</code></h3>
|
||||
<div id="outline-container-orgd0b0c58" class="outline-3">
|
||||
<h3 id="orgd0b0c58"><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="org3c598b7" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orga8b1fae" 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-org14c33ae" class="outline-4">
|
||||
<h4 id="org14c33ae"><span class="section-number-4">4.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org19ad7c6" class="outline-4">
|
||||
<h4 id="org19ad7c6"><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-org0601c32" class="outline-4">
|
||||
<h4 id="org0601c32"><span class="section-number-4">4.1.2</span> C header</h4>
|
||||
<div id="outline-container-org83314ea" class="outline-4">
|
||||
<h4 id="org83314ea"><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-org69f86d2" class="outline-4">
|
||||
<h4 id="org69f86d2"><span class="section-number-4">4.1.3</span> Source</h4>
|
||||
<div id="outline-container-orgd7f9398" class="outline-4">
|
||||
<h4 id="orgd7f9398"><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-org2e50f7c" class="outline-4">
|
||||
<h4 id="org2e50f7c"><span class="section-number-4">4.1.4</span> Performance</h4>
|
||||
<div id="outline-container-orgbc40533" class="outline-4">
|
||||
<h4 id="orgbc40533"><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-14 Tue 10:20</p>
|
||||
<p class="date">Created: 2021-09-18 Sat 16:13</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-14 Tue 10:20 -->
|
||||
<!-- 2021-09-18 Sat 16:13 -->
|
||||
<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="#org0d0366c">1. Context</a>
|
||||
<li><a href="#org3b647c7">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#org1c5259b">1.1. Data structure</a></li>
|
||||
<li><a href="#orgd768ab0">1.2. Access functions</a>
|
||||
<li><a href="#orga519dca">1.1. Data structure</a></li>
|
||||
<li><a href="#orga11b612">1.2. Access functions</a>
|
||||
<ul>
|
||||
<li><a href="#orga8d2b5c">1.2.1. Number of electrons</a></li>
|
||||
<li><a href="#org8097b7b">1.2.2. Number of walkers</a></li>
|
||||
<li><a href="#orgb6c146c">1.2.3. Scaling factors Kappa</a></li>
|
||||
<li><a href="#org974b520">1.2.4. Electron coordinates</a></li>
|
||||
<li><a href="#org2f21cf4">1.2.1. Number of electrons</a></li>
|
||||
<li><a href="#orgd59d4bf">1.2.2. Number of walkers</a></li>
|
||||
<li><a href="#org67742ce">1.2.3. Scaling factors Kappa</a></li>
|
||||
<li><a href="#org06fba60">1.2.4. Electron coordinates</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org3579e07">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org70238fe">1.4. Test</a></li>
|
||||
<li><a href="#orge341f01">1.3. Initialization functions</a></li>
|
||||
<li><a href="#orgada91e9">1.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgaf034b5">2. Computation</a>
|
||||
<li><a href="#orgaa0ff40">2. Computation</a>
|
||||
<ul>
|
||||
<li><a href="#orgdfacf95">2.1. Electron-electron distances</a>
|
||||
<li><a href="#orgcb08875">2.1. Electron-electron distances</a>
|
||||
<ul>
|
||||
<li><a href="#orgbd4859c">2.1.1. Get</a></li>
|
||||
<li><a href="#org5f59b10">2.1.2. Compute</a></li>
|
||||
<li><a href="#org77be20d">2.1.3. Test</a></li>
|
||||
<li><a href="#orgfd3364c">2.1.1. Get</a></li>
|
||||
<li><a href="#orgab2af42">2.1.2. Compute</a></li>
|
||||
<li><a href="#org29c029a">2.1.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgc0b1eb5">2.2. Electron-electron rescaled distances</a>
|
||||
<li><a href="#org5394924">2.2. Electron-electron rescaled distances</a>
|
||||
<ul>
|
||||
<li><a href="#org45e38db">2.2.1. Get</a></li>
|
||||
<li><a href="#orgb866ae0">2.2.2. Compute</a></li>
|
||||
<li><a href="#org80ace88">2.2.3. Test</a></li>
|
||||
<li><a href="#org38f6bd1">2.2.1. Get</a></li>
|
||||
<li><a href="#org1875f4b">2.2.2. Compute</a></li>
|
||||
<li><a href="#orga2a0675">2.2.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org82fb805">2.3. Electron-electron rescaled distance gradients and laplacian with respect to electron coords</a>
|
||||
<li><a href="#org7d02261">2.3. Electron-electron rescaled distance gradients and laplacian with respect to electron coords</a>
|
||||
<ul>
|
||||
<li><a href="#org92b9a3c">2.3.1. Get</a></li>
|
||||
<li><a href="#org569d91e">2.3.2. Compute</a></li>
|
||||
<li><a href="#org7c09631">2.3.3. Test</a></li>
|
||||
<li><a href="#orgece0c10">2.3.1. Get</a></li>
|
||||
<li><a href="#orgd2ea1f4">2.3.2. Compute</a></li>
|
||||
<li><a href="#org1bb405f">2.3.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org0b46c9d">2.4. Electron-nucleus distances</a>
|
||||
<li><a href="#orgca96a71">2.4. Electron-nucleus distances</a>
|
||||
<ul>
|
||||
<li><a href="#org69f6f65">2.4.1. Get</a></li>
|
||||
<li><a href="#org83bf627">2.4.2. Compute</a></li>
|
||||
<li><a href="#org4ad8269">2.4.3. Test</a></li>
|
||||
<li><a href="#org55adb18">2.4.1. Get</a></li>
|
||||
<li><a href="#org79ec4b1">2.4.2. Compute</a></li>
|
||||
<li><a href="#orgf49aae6">2.4.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orge3db38f">2.5. Electron-nucleus rescaled distances</a>
|
||||
<li><a href="#orgf53b4f4">2.5. Electron-nucleus rescaled distances</a>
|
||||
<ul>
|
||||
<li><a href="#org6c31932">2.5.1. Get</a></li>
|
||||
<li><a href="#org60d2b87">2.5.2. Compute</a></li>
|
||||
<li><a href="#orgde69879">2.5.3. Test</a></li>
|
||||
<li><a href="#org2f8896a">2.5.1. Get</a></li>
|
||||
<li><a href="#org3511a9b">2.5.2. Compute</a></li>
|
||||
<li><a href="#org7a2805c">2.5.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgdc98efa">2.6. Electron-nucleus rescaled distance gradients and laplacian with respect to electron coords</a>
|
||||
<li><a href="#org4c27750">2.6. Electron-nucleus rescaled distance gradients and laplacian with respect to electron coords</a>
|
||||
<ul>
|
||||
<li><a href="#org1779bc1">2.6.1. Get</a></li>
|
||||
<li><a href="#org3c30e11">2.6.2. Compute</a></li>
|
||||
<li><a href="#org5d06711">2.6.3. Test</a></li>
|
||||
<li><a href="#orgb863af5">2.6.1. Get</a></li>
|
||||
<li><a href="#orga781789">2.6.2. Compute</a></li>
|
||||
<li><a href="#orge0a7e0a">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-org0d0366c" class="outline-2">
|
||||
<h2 id="org0d0366c"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-org3b647c7" class="outline-2">
|
||||
<h2 id="org3b647c7"><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-org1c5259b" class="outline-3">
|
||||
<h3 id="org1c5259b"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-orga519dca" class="outline-3">
|
||||
<h3 id="orga519dca"><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-orgd768ab0" class="outline-3">
|
||||
<h3 id="orgd768ab0"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div id="outline-container-orga11b612" class="outline-3">
|
||||
<h3 id="orga11b612"><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-orga8d2b5c" class="outline-4">
|
||||
<h4 id="orga8d2b5c"><span class="section-number-4">1.2.1</span> Number of electrons</h4>
|
||||
<div id="outline-container-org2f21cf4" class="outline-4">
|
||||
<h4 id="org2f21cf4"><span class="section-number-4">1.2.1</span> Number of electrons</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8097b7b" class="outline-4">
|
||||
<h4 id="org8097b7b"><span class="section-number-4">1.2.2</span> Number of walkers</h4>
|
||||
<div id="outline-container-orgd59d4bf" class="outline-4">
|
||||
<h4 id="orgd59d4bf"><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-orgb6c146c" class="outline-4">
|
||||
<h4 id="orgb6c146c"><span class="section-number-4">1.2.3</span> Scaling factors Kappa</h4>
|
||||
<div id="outline-container-org67742ce" class="outline-4">
|
||||
<h4 id="org67742ce"><span class="section-number-4">1.2.3</span> Scaling factors Kappa</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org974b520" class="outline-4">
|
||||
<h4 id="org974b520"><span class="section-number-4">1.2.4</span> Electron coordinates</h4>
|
||||
<div id="outline-container-org06fba60" class="outline-4">
|
||||
<h4 id="org06fba60"><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-org3579e07" class="outline-3">
|
||||
<h3 id="org3579e07"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-orge341f01" class="outline-3">
|
||||
<h3 id="orge341f01"><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-org70238fe" class="outline-3">
|
||||
<h3 id="org70238fe"><span class="section-number-3">1.4</span> Test</h3>
|
||||
<div id="outline-container-orgada91e9" class="outline-3">
|
||||
<h3 id="orgada91e9"><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-orgaf034b5" class="outline-2">
|
||||
<h2 id="orgaf034b5"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div id="outline-container-orgaa0ff40" class="outline-2">
|
||||
<h2 id="orgaa0ff40"><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-orgdfacf95" class="outline-3">
|
||||
<h3 id="orgdfacf95"><span class="section-number-3">2.1</span> Electron-electron distances</h3>
|
||||
<div id="outline-container-orgcb08875" class="outline-3">
|
||||
<h3 id="orgcb08875"><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-orgbd4859c" class="outline-4">
|
||||
<h4 id="orgbd4859c"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div id="outline-container-orgfd3364c" class="outline-4">
|
||||
<h4 id="orgfd3364c"><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-org5f59b10" class="outline-4">
|
||||
<h4 id="org5f59b10"><span class="section-number-4">2.1.2</span> Compute</h4>
|
||||
<div id="outline-container-orgab2af42" class="outline-4">
|
||||
<h4 id="orgab2af42"><span class="section-number-4">2.1.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-1-2">
|
||||
<table id="orgce368fd" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgabec666" 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-org77be20d" class="outline-4">
|
||||
<h4 id="org77be20d"><span class="section-number-4">2.1.3</span> Test</h4>
|
||||
<div id="outline-container-org29c029a" class="outline-4">
|
||||
<h4 id="org29c029a"><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-orgc0b1eb5" class="outline-3">
|
||||
<h3 id="orgc0b1eb5"><span class="section-number-3">2.2</span> Electron-electron rescaled distances</h3>
|
||||
<div id="outline-container-org5394924" class="outline-3">
|
||||
<h3 id="org5394924"><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-org45e38db" class="outline-4">
|
||||
<h4 id="org45e38db"><span class="section-number-4">2.2.1</span> Get</h4>
|
||||
<div id="outline-container-org38f6bd1" class="outline-4">
|
||||
<h4 id="org38f6bd1"><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-orgb866ae0" class="outline-4">
|
||||
<h4 id="orgb866ae0"><span class="section-number-4">2.2.2</span> Compute</h4>
|
||||
<div id="outline-container-org1875f4b" class="outline-4">
|
||||
<h4 id="org1875f4b"><span class="section-number-4">2.2.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-2-2">
|
||||
<table id="org7bd45e5" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org926035b" 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-org80ace88" class="outline-4">
|
||||
<h4 id="org80ace88"><span class="section-number-4">2.2.3</span> Test</h4>
|
||||
<div id="outline-container-orga2a0675" class="outline-4">
|
||||
<h4 id="orga2a0675"><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-org82fb805" class="outline-3">
|
||||
<h3 id="org82fb805"><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-org7d02261" class="outline-3">
|
||||
<h3 id="org7d02261"><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-org92b9a3c" class="outline-4">
|
||||
<h4 id="org92b9a3c"><span class="section-number-4">2.3.1</span> Get</h4>
|
||||
<div id="outline-container-orgece0c10" class="outline-4">
|
||||
<h4 id="orgece0c10"><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-org569d91e" class="outline-4">
|
||||
<h4 id="org569d91e"><span class="section-number-4">2.3.2</span> Compute</h4>
|
||||
<div id="outline-container-orgd2ea1f4" class="outline-4">
|
||||
<h4 id="orgd2ea1f4"><span class="section-number-4">2.3.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-3-2">
|
||||
<table id="orgd2a975b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgdda48ff" 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-org7c09631" class="outline-4">
|
||||
<h4 id="org7c09631"><span class="section-number-4">2.3.3</span> Test</h4>
|
||||
<div id="outline-container-org1bb405f" class="outline-4">
|
||||
<h4 id="org1bb405f"><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-org0b46c9d" class="outline-3">
|
||||
<h3 id="org0b46c9d"><span class="section-number-3">2.4</span> Electron-nucleus distances</h3>
|
||||
<div id="outline-container-orgca96a71" class="outline-3">
|
||||
<h3 id="orgca96a71"><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-org69f6f65" class="outline-4">
|
||||
<h4 id="org69f6f65"><span class="section-number-4">2.4.1</span> Get</h4>
|
||||
<div id="outline-container-org55adb18" class="outline-4">
|
||||
<h4 id="org55adb18"><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-org83bf627" class="outline-4">
|
||||
<h4 id="org83bf627"><span class="section-number-4">2.4.2</span> Compute</h4>
|
||||
<div id="outline-container-org79ec4b1" class="outline-4">
|
||||
<h4 id="org79ec4b1"><span class="section-number-4">2.4.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-4-2">
|
||||
<table id="org547220a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org020e80b" 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-org4ad8269" class="outline-4">
|
||||
<h4 id="org4ad8269"><span class="section-number-4">2.4.3</span> Test</h4>
|
||||
<div id="outline-container-orgf49aae6" class="outline-4">
|
||||
<h4 id="orgf49aae6"><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-orge3db38f" class="outline-3">
|
||||
<h3 id="orge3db38f"><span class="section-number-3">2.5</span> Electron-nucleus rescaled distances</h3>
|
||||
<div id="outline-container-orgf53b4f4" class="outline-3">
|
||||
<h3 id="orgf53b4f4"><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-org6c31932" class="outline-4">
|
||||
<h4 id="org6c31932"><span class="section-number-4">2.5.1</span> Get</h4>
|
||||
<div id="outline-container-org2f8896a" class="outline-4">
|
||||
<h4 id="org2f8896a"><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-org60d2b87" class="outline-4">
|
||||
<h4 id="org60d2b87"><span class="section-number-4">2.5.2</span> Compute</h4>
|
||||
<div id="outline-container-org3511a9b" class="outline-4">
|
||||
<h4 id="org3511a9b"><span class="section-number-4">2.5.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-5-2">
|
||||
<table id="orgb335cd3" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org8d28d61" 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-orgde69879" class="outline-4">
|
||||
<h4 id="orgde69879"><span class="section-number-4">2.5.3</span> Test</h4>
|
||||
<div id="outline-container-org7a2805c" class="outline-4">
|
||||
<h4 id="org7a2805c"><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-orgdc98efa" class="outline-3">
|
||||
<h3 id="orgdc98efa"><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-org4c27750" class="outline-3">
|
||||
<h3 id="org4c27750"><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-org1779bc1" class="outline-4">
|
||||
<h4 id="org1779bc1"><span class="section-number-4">2.6.1</span> Get</h4>
|
||||
<div id="outline-container-orgb863af5" class="outline-4">
|
||||
<h4 id="orgb863af5"><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-org3c30e11" class="outline-4">
|
||||
<h4 id="org3c30e11"><span class="section-number-4">2.6.2</span> Compute</h4>
|
||||
<div id="outline-container-orga781789" class="outline-4">
|
||||
<h4 id="orga781789"><span class="section-number-4">2.6.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-6-2">
|
||||
<table id="orgf994b43" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org96a8c23" 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-org5d06711" class="outline-4">
|
||||
<h4 id="org5d06711"><span class="section-number-4">2.6.3</span> Test</h4>
|
||||
<div id="outline-container-orge0a7e0a" class="outline-4">
|
||||
<h4 id="orge0a7e0a"><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-14 Tue 10:20</p>
|
||||
<p class="date">Created: 2021-09-18 Sat 16:13</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-14 Tue 10:20 -->
|
||||
<!-- 2021-09-18 Sat 16:13 -->
|
||||
<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="#org8f4d859">1. Decoding errors</a></li>
|
||||
<li><a href="#org9d6d1f9">2. Data structure in context</a></li>
|
||||
<li><a href="#org23a2411">3. Updating errors in the context</a></li>
|
||||
<li><a href="#org1bb18f8">4. Get the error</a></li>
|
||||
<li><a href="#orgcd0f65e">5. Failing</a></li>
|
||||
<li><a href="#orge197eb1">1. Decoding errors</a></li>
|
||||
<li><a href="#org8b38c62">2. Data structure in context</a></li>
|
||||
<li><a href="#orgb458d80">3. Updating errors in the context</a></li>
|
||||
<li><a href="#org5453fd0">4. Get the error</a></li>
|
||||
<li><a href="#org780a8ae">5. Failing</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8f4d859" class="outline-2">
|
||||
<h2 id="org8f4d859"><span class="section-number-2">1</span> Decoding errors</h2>
|
||||
<div id="outline-container-orge197eb1" class="outline-2">
|
||||
<h2 id="orge197eb1"><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-org9d6d1f9" class="outline-2">
|
||||
<h2 id="org9d6d1f9"><span class="section-number-2">2</span> Data structure in context</h2>
|
||||
<div id="outline-container-org8b38c62" class="outline-2">
|
||||
<h2 id="org8b38c62"><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-org23a2411" class="outline-2">
|
||||
<h2 id="org23a2411"><span class="section-number-2">3</span> Updating errors in the context</h2>
|
||||
<div id="outline-container-orgb458d80" class="outline-2">
|
||||
<h2 id="orgb458d80"><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-org1bb18f8" class="outline-2">
|
||||
<h2 id="org1bb18f8"><span class="section-number-2">4</span> Get the error</h2>
|
||||
<div id="outline-container-org5453fd0" class="outline-2">
|
||||
<h2 id="org5453fd0"><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-orgcd0f65e" class="outline-2">
|
||||
<h2 id="orgcd0f65e"><span class="section-number-2">5</span> Failing</h2>
|
||||
<div id="outline-container-org780a8ae" class="outline-2">
|
||||
<h2 id="org780a8ae"><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-14 Tue 10:20</p>
|
||||
<p class="date">Created: 2021-09-18 Sat 16:13</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-14 Tue 10:20 -->
|
||||
<!-- 2021-09-18 Sat 16:13 -->
|
||||
<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="#orga49b3b8">1. Context</a>
|
||||
<li><a href="#org571d840">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#orgf1faa63">1.1. Data structure</a></li>
|
||||
<li><a href="#org805c518">1.2. Access functions</a></li>
|
||||
<li><a href="#org99eda01">1.3. Initialization functions</a></li>
|
||||
<li><a href="#orgee32824">1.4. Test</a></li>
|
||||
<li><a href="#orgea27f6b">1.1. Data structure</a></li>
|
||||
<li><a href="#org7842c32">1.2. Access functions</a></li>
|
||||
<li><a href="#org6babdb0">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org0d9e1ff">1.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org44b72ab">2. Computation</a>
|
||||
<li><a href="#org7918fa6">2. Computation</a>
|
||||
<ul>
|
||||
<li><a href="#org96494d5">2.1. Asymptotic component for \(f_{ee}\)</a>
|
||||
<li><a href="#orga28d5f2">2.1. Asymptotic component for \(f_{ee}\)</a>
|
||||
<ul>
|
||||
<li><a href="#orge3b68f5">2.1.1. Get</a></li>
|
||||
<li><a href="#org1b35006">2.1.2. Compute</a></li>
|
||||
<li><a href="#org37d8b11">2.1.3. Test</a></li>
|
||||
<li><a href="#org0be5a31">2.1.1. Get</a></li>
|
||||
<li><a href="#org37369b5">2.1.2. Compute</a></li>
|
||||
<li><a href="#org2de0ea4">2.1.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org126add8">2.2. Electron-electron component \(f_{ee}\)</a>
|
||||
<li><a href="#orgd27f638">2.2. Electron-electron component \(f_{ee}\)</a>
|
||||
<ul>
|
||||
<li><a href="#org4b58743">2.2.1. Get</a></li>
|
||||
<li><a href="#org0c7b328">2.2.2. Compute</a></li>
|
||||
<li><a href="#org39eaced">2.2.3. Test</a></li>
|
||||
<li><a href="#orgc4e1d95">2.2.1. Get</a></li>
|
||||
<li><a href="#org638e624">2.2.2. Compute</a></li>
|
||||
<li><a href="#orgaac4a77">2.2.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org94e6562">2.3. Electron-electron component derivative \(f'_{ee}\)</a>
|
||||
<li><a href="#org382ecfa">2.3. Electron-electron component derivative \(f'_{ee}\)</a>
|
||||
<ul>
|
||||
<li><a href="#org5d9191f">2.3.1. Get</a></li>
|
||||
<li><a href="#orgb6c2308">2.3.2. Compute</a></li>
|
||||
<li><a href="#orgc931a80">2.3.3. Test</a></li>
|
||||
<li><a href="#org6caa814">2.3.1. Get</a></li>
|
||||
<li><a href="#org7aa9a59">2.3.2. Compute</a></li>
|
||||
<li><a href="#orga6498b4">2.3.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org9a887a2">2.4. Electron-nucleus component \(f_{en}\)</a>
|
||||
<li><a href="#orgde2a6d0">2.4. Electron-nucleus component \(f_{en}\)</a>
|
||||
<ul>
|
||||
<li><a href="#org9a58ed6">2.4.1. Get</a></li>
|
||||
<li><a href="#org7020f56">2.4.2. Compute</a></li>
|
||||
<li><a href="#org7dd7068">2.4.3. Test</a></li>
|
||||
<li><a href="#org6ee5b9a">2.4.1. Get</a></li>
|
||||
<li><a href="#orged3667f">2.4.2. Compute</a></li>
|
||||
<li><a href="#org8834d1e">2.4.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org329c64a">2.5. Electron-nucleus component derivative \(f'_{en}\)</a>
|
||||
<li><a href="#org37694c2">2.5. Electron-nucleus component derivative \(f'_{en}\)</a>
|
||||
<ul>
|
||||
<li><a href="#orgb5275e4">2.5.1. Get</a></li>
|
||||
<li><a href="#org9f2fed4">2.5.2. Compute</a></li>
|
||||
<li><a href="#org100eb91">2.5.3. Test</a></li>
|
||||
<li><a href="#org48259bc">2.5.1. Get</a></li>
|
||||
<li><a href="#orgdf344a6">2.5.2. Compute</a></li>
|
||||
<li><a href="#org24b797d">2.5.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org8f500fa">2.6. Electron-electron rescaled distances for each order</a>
|
||||
<li><a href="#org61332bf">2.6. Electron-electron rescaled distances for each order</a>
|
||||
<ul>
|
||||
<li><a href="#org31407d8">2.6.1. Get</a></li>
|
||||
<li><a href="#org7fe315b">2.6.2. Compute</a></li>
|
||||
<li><a href="#orgf1e8fe5">2.6.3. Test</a></li>
|
||||
<li><a href="#org18d8848">2.6.1. Get</a></li>
|
||||
<li><a href="#org915b879">2.6.2. Compute</a></li>
|
||||
<li><a href="#orgc7418b3">2.6.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org4b9224e">2.7. Electron-electron rescaled distances for each order and derivatives</a>
|
||||
<li><a href="#orgcdd8d3b">2.7. Electron-electron rescaled distances for each order and derivatives</a>
|
||||
<ul>
|
||||
<li><a href="#org75fb743">2.7.1. Get</a></li>
|
||||
<li><a href="#org1f5ba18">2.7.2. Compute</a></li>
|
||||
<li><a href="#org74335c6">2.7.3. Test</a></li>
|
||||
<li><a href="#org9ed0150">2.7.1. Get</a></li>
|
||||
<li><a href="#org65c2c66">2.7.2. Compute</a></li>
|
||||
<li><a href="#org4c67c0c">2.7.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org0d0c733">2.8. Electron-nucleus rescaled distances for each order</a>
|
||||
<li><a href="#orga8112e2">2.8. Electron-nucleus rescaled distances for each order</a>
|
||||
<ul>
|
||||
<li><a href="#orgf9d592e">2.8.1. Get</a></li>
|
||||
<li><a href="#org94d6c6c">2.8.2. Compute</a></li>
|
||||
<li><a href="#org2cfd6b5">2.8.3. Test</a></li>
|
||||
<li><a href="#orgf1338a9">2.8.1. Get</a></li>
|
||||
<li><a href="#orgb1a6cdf">2.8.2. Compute</a></li>
|
||||
<li><a href="#orgf777eb7">2.8.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org228702c">2.9. Electron-nucleus rescaled distances for each order and derivatives</a>
|
||||
<li><a href="#org6124f0f">2.9. Electron-nucleus rescaled distances for each order and derivatives</a>
|
||||
<ul>
|
||||
<li><a href="#orgae208bc">2.9.1. Get</a></li>
|
||||
<li><a href="#orgca6f58b">2.9.2. Compute</a></li>
|
||||
<li><a href="#orgdcbac83">2.9.3. Test</a></li>
|
||||
<li><a href="#org7ba6599">2.9.1. Get</a></li>
|
||||
<li><a href="#orgf159716">2.9.2. Compute</a></li>
|
||||
<li><a href="#org6555b58">2.9.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org76672ac">2.10. Prepare for electron-electron-nucleus Jastrow \(f_{een}\)</a>
|
||||
<li><a href="#orga38f66c">2.10. Prepare for electron-electron-nucleus Jastrow \(f_{een}\)</a>
|
||||
<ul>
|
||||
<li><a href="#orgff77c12">2.10.1. Get</a></li>
|
||||
<li><a href="#orgfad59f1">2.10.2. Compute dim<sub>cord</sub><sub>vect</sub></a></li>
|
||||
<li><a href="#orgdf7d6e8">2.10.3. Compute cord<sub>vect</sub><sub>full</sub></a></li>
|
||||
<li><a href="#org3a94380">2.10.4. Compute lkpm<sub>combined</sub><sub>index</sub></a></li>
|
||||
<li><a href="#org3279eb7">2.10.5. Test</a></li>
|
||||
<li><a href="#orgc5ae66a">2.10.1. Get</a></li>
|
||||
<li><a href="#orgb3ae08b">2.10.2. Compute dim<sub>cord</sub><sub>vect</sub></a></li>
|
||||
<li><a href="#org5e08dbe">2.10.3. Compute cord<sub>vect</sub><sub>full</sub></a></li>
|
||||
<li><a href="#orgb9f73d0">2.10.4. Compute lkpm<sub>combined</sub><sub>index</sub></a></li>
|
||||
<li><a href="#org5b1884d">2.10.5. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgf3ac151">2.11. Electron-electron-nucleus Jastrow \(f_{een}\)</a>
|
||||
<li><a href="#org9772150">2.11. Electron-electron-nucleus Jastrow \(f_{een}\)</a>
|
||||
<ul>
|
||||
<li><a href="#org2e23eab">2.11.1. Get</a></li>
|
||||
<li><a href="#org109f690">2.11.2. Compute</a></li>
|
||||
<li><a href="#org2139377">2.11.3. Test</a></li>
|
||||
<li><a href="#org9e2e0f1">2.11.1. Get</a></li>
|
||||
<li><a href="#orgf910720">2.11.2. Compute</a></li>
|
||||
<li><a href="#orgd105dbd">2.11.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org8ad9820">2.12. Electron-electron-nucleus Jastrow \(f_{een}\) derivative</a>
|
||||
<li><a href="#org63fac8f">2.12. Electron-electron-nucleus Jastrow \(f_{een}\) derivative</a>
|
||||
<ul>
|
||||
<li><a href="#orgb717903">2.12.1. Get</a></li>
|
||||
<li><a href="#org2521078">2.12.2. Compute</a></li>
|
||||
<li><a href="#org2823831">2.12.3. Test</a></li>
|
||||
<li><a href="#org5204fb5">2.12.1. Get</a></li>
|
||||
<li><a href="#org7a0adfe">2.12.2. Compute</a></li>
|
||||
<li><a href="#org2da309f">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-orga49b3b8" class="outline-2">
|
||||
<h2 id="orga49b3b8"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-org571d840" class="outline-2">
|
||||
<h2 id="org571d840"><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="org66734a3" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org8595a76" 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="orgf28f0ed"><span style="color: #a020f0;">import</span> numpy <span style="color: #a020f0;">as</span> np
|
||||
<pre class="src src-python" id="org595f88d"><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-orgf1faa63" class="outline-3">
|
||||
<h3 id="orgf1faa63"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-orgea27f6b" class="outline-3">
|
||||
<h3 id="orgea27f6b"><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-org805c518" class="outline-3">
|
||||
<h3 id="org805c518"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div id="outline-container-org7842c32" class="outline-3">
|
||||
<h3 id="org7842c32"><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-org99eda01" class="outline-3">
|
||||
<h3 id="org99eda01"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-org6babdb0" class="outline-3">
|
||||
<h3 id="org6babdb0"><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-orgee32824" class="outline-3">
|
||||
<h3 id="orgee32824"><span class="section-number-3">1.4</span> Test</h3>
|
||||
<div id="outline-container-org0d9e1ff" class="outline-3">
|
||||
<h3 id="org0d9e1ff"><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-org44b72ab" class="outline-2">
|
||||
<h2 id="org44b72ab"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div id="outline-container-org7918fa6" class="outline-2">
|
||||
<h2 id="org7918fa6"><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-org96494d5" class="outline-3">
|
||||
<h3 id="org96494d5"><span class="section-number-3">2.1</span> Asymptotic component for \(f_{ee}\)</h3>
|
||||
<div id="outline-container-orga28d5f2" class="outline-3">
|
||||
<h3 id="orga28d5f2"><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-orge3b68f5" class="outline-4">
|
||||
<h4 id="orge3b68f5"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div id="outline-container-org0be5a31" class="outline-4">
|
||||
<h4 id="org0be5a31"><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-org1b35006" class="outline-4">
|
||||
<h4 id="org1b35006"><span class="section-number-4">2.1.2</span> Compute</h4>
|
||||
<div id="outline-container-org37369b5" class="outline-4">
|
||||
<h4 id="org37369b5"><span class="section-number-4">2.1.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-1-2">
|
||||
<table id="org84bb08f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org0951e59" 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-org37d8b11" class="outline-4">
|
||||
<h4 id="org37d8b11"><span class="section-number-4">2.1.3</span> Test</h4>
|
||||
<div id="outline-container-org2de0ea4" class="outline-4">
|
||||
<h4 id="org2de0ea4"><span class="section-number-4">2.1.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-1-3">
|
||||
<pre class="example">
|
||||
asym_one : 0.43340325572525706
|
||||
@ -1402,8 +1402,8 @@ rc = qmckl_get_jastrow_asymp_jasb(context, asymp_jasb);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org126add8" class="outline-3">
|
||||
<h3 id="org126add8"><span class="section-number-3">2.2</span> Electron-electron component \(f_{ee}\)</h3>
|
||||
<div id="outline-container-orgd27f638" class="outline-3">
|
||||
<h3 id="orgd27f638"><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>
|
||||
@ -1418,8 +1418,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-org4b58743" class="outline-4">
|
||||
<h4 id="org4b58743"><span class="section-number-4">2.2.1</span> Get</h4>
|
||||
<div id="outline-container-orgc4e1d95" class="outline-4">
|
||||
<h4 id="orgc4e1d95"><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>);
|
||||
@ -1428,10 +1428,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-org0c7b328" class="outline-4">
|
||||
<h4 id="org0c7b328"><span class="section-number-4">2.2.2</span> Compute</h4>
|
||||
<div id="outline-container-org638e624" class="outline-4">
|
||||
<h4 id="org638e624"><span class="section-number-4">2.2.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-2-2">
|
||||
<table id="orgf4328d0" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgbd8469a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1598,8 +1598,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-org39eaced" class="outline-4">
|
||||
<h4 id="org39eaced"><span class="section-number-4">2.2.3</span> Test</h4>
|
||||
<div id="outline-container-orgaac4a77" class="outline-4">
|
||||
<h4 id="orgaac4a77"><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>*/
|
||||
@ -1617,8 +1617,8 @@ rc = qmckl_get_jastrow_factor_ee(context, factor_ee);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org94e6562" class="outline-3">
|
||||
<h3 id="org94e6562"><span class="section-number-3">2.3</span> Electron-electron component derivative \(f'_{ee}\)</h3>
|
||||
<div id="outline-container-org382ecfa" class="outline-3">
|
||||
<h3 id="org382ecfa"><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
|
||||
@ -1633,8 +1633,8 @@ TODO: Add equation
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org5d9191f" class="outline-4">
|
||||
<h4 id="org5d9191f"><span class="section-number-4">2.3.1</span> Get</h4>
|
||||
<div id="outline-container-org6caa814" class="outline-4">
|
||||
<h4 id="org6caa814"><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>);
|
||||
@ -1643,10 +1643,10 @@ TODO: Add equation
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb6c2308" class="outline-4">
|
||||
<h4 id="orgb6c2308"><span class="section-number-4">2.3.2</span> Compute</h4>
|
||||
<div id="outline-container-org7aa9a59" class="outline-4">
|
||||
<h4 id="org7aa9a59"><span class="section-number-4">2.3.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-3-2">
|
||||
<table id="org6ca290a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org5fb96a4" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1853,8 +1853,8 @@ TODO: Add equation
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgc931a80" class="outline-4">
|
||||
<h4 id="orgc931a80"><span class="section-number-4">2.3.3</span> Test</h4>
|
||||
<div id="outline-container-orga6498b4" class="outline-4">
|
||||
<h4 id="orga6498b4"><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>*/
|
||||
@ -1876,8 +1876,8 @@ rc = qmckl_get_jastrow_factor_ee_deriv_e(context, &(factor_ee_deriv_e[0][0][
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9a887a2" class="outline-3">
|
||||
<h3 id="org9a887a2"><span class="section-number-3">2.4</span> Electron-nucleus component \(f_{en}\)</h3>
|
||||
<div id="outline-container-orgde2a6d0" class="outline-3">
|
||||
<h3 id="orgde2a6d0"><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>
|
||||
@ -1892,8 +1892,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-org9a58ed6" class="outline-4">
|
||||
<h4 id="org9a58ed6"><span class="section-number-4">2.4.1</span> Get</h4>
|
||||
<div id="outline-container-org6ee5b9a" class="outline-4">
|
||||
<h4 id="org6ee5b9a"><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>);
|
||||
@ -1902,10 +1902,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-org7020f56" class="outline-4">
|
||||
<h4 id="org7020f56"><span class="section-number-4">2.4.2</span> Compute</h4>
|
||||
<div id="outline-container-orged3667f" class="outline-4">
|
||||
<h4 id="orged3667f"><span class="section-number-4">2.4.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-4-2">
|
||||
<table id="org33a4a02" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgda6e178" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2079,8 +2079,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-org7dd7068" class="outline-4">
|
||||
<h4 id="org7dd7068"><span class="section-number-4">2.4.3</span> Test</h4>
|
||||
<div id="outline-container-org8834d1e" class="outline-4">
|
||||
<h4 id="org8834d1e"><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>*/
|
||||
@ -2098,8 +2098,8 @@ rc = qmckl_get_jastrow_factor_en(context, factor_en);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org329c64a" class="outline-3">
|
||||
<h3 id="org329c64a"><span class="section-number-3">2.5</span> Electron-nucleus component derivative \(f'_{en}\)</h3>
|
||||
<div id="outline-container-org37694c2" class="outline-3">
|
||||
<h3 id="org37694c2"><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
|
||||
@ -2112,8 +2112,8 @@ TODO: write equations.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb5275e4" class="outline-4">
|
||||
<h4 id="orgb5275e4"><span class="section-number-4">2.5.1</span> Get</h4>
|
||||
<div id="outline-container-org48259bc" class="outline-4">
|
||||
<h4 id="org48259bc"><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>);
|
||||
@ -2122,10 +2122,10 @@ TODO: write equations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9f2fed4" class="outline-4">
|
||||
<h4 id="org9f2fed4"><span class="section-number-4">2.5.2</span> Compute</h4>
|
||||
<div id="outline-container-orgdf344a6" class="outline-4">
|
||||
<h4 id="orgdf344a6"><span class="section-number-4">2.5.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-5-2">
|
||||
<table id="org4c07be9" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgd720791" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2338,8 +2338,8 @@ TODO: write equations.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org100eb91" class="outline-4">
|
||||
<h4 id="org100eb91"><span class="section-number-4">2.5.3</span> Test</h4>
|
||||
<div id="outline-container-org24b797d" class="outline-4">
|
||||
<h4 id="org24b797d"><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>*/
|
||||
@ -2361,8 +2361,8 @@ rc = qmckl_get_jastrow_factor_en_deriv_e(context, &(factor_en_deriv_e[0][0][
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8f500fa" class="outline-3">
|
||||
<h3 id="org8f500fa"><span class="section-number-3">2.6</span> Electron-electron rescaled distances for each order</h3>
|
||||
<div id="outline-container-org61332bf" class="outline-3">
|
||||
<h3 id="org61332bf"><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
|
||||
@ -2380,8 +2380,8 @@ where \(C_{ij}\) is the matrix of electron-electron distances.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org31407d8" class="outline-4">
|
||||
<h4 id="org31407d8"><span class="section-number-4">2.6.1</span> Get</h4>
|
||||
<div id="outline-container-org18d8848" class="outline-4">
|
||||
<h4 id="org18d8848"><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>);
|
||||
@ -2390,10 +2390,10 @@ where \(C_{ij}\) is the matrix of electron-electron distances.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7fe315b" class="outline-4">
|
||||
<h4 id="org7fe315b"><span class="section-number-4">2.6.2</span> Compute</h4>
|
||||
<div id="outline-container-org915b879" class="outline-4">
|
||||
<h4 id="org915b879"><span class="section-number-4">2.6.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-6-2">
|
||||
<table id="org8b9da06" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgb27ee4c" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2552,8 +2552,8 @@ where \(C_{ij}\) is the matrix of electron-electron distances.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf1e8fe5" class="outline-4">
|
||||
<h4 id="orgf1e8fe5"><span class="section-number-4">2.6.3</span> Test</h4>
|
||||
<div id="outline-container-orgc7418b3" class="outline-4">
|
||||
<h4 id="orgc7418b3"><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>));
|
||||
@ -2576,8 +2576,8 @@ rc = qmckl_get_jastrow_een_rescaled_e(context, &(een_rescaled_e[0][0][0][0])
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4b9224e" class="outline-3">
|
||||
<h3 id="org4b9224e"><span class="section-number-3">2.7</span> Electron-electron rescaled distances for each order and derivatives</h3>
|
||||
<div id="outline-container-orgcdd8d3b" class="outline-3">
|
||||
<h3 id="orgcdd8d3b"><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</code> stores the table of the rescaled distances between all
|
||||
@ -2591,8 +2591,8 @@ TODO: write formulae
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org75fb743" class="outline-4">
|
||||
<h4 id="org75fb743"><span class="section-number-4">2.7.1</span> Get</h4>
|
||||
<div id="outline-container-org9ed0150" class="outline-4">
|
||||
<h4 id="org9ed0150"><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>);
|
||||
@ -2601,10 +2601,10 @@ TODO: write formulae
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1f5ba18" class="outline-4">
|
||||
<h4 id="org1f5ba18"><span class="section-number-4">2.7.2</span> Compute</h4>
|
||||
<div id="outline-container-org65c2c66" class="outline-4">
|
||||
<h4 id="org65c2c66"><span class="section-number-4">2.7.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-7-2">
|
||||
<table id="orgcb8bb35" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org9054dfe" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2783,8 +2783,8 @@ TODO: write formulae
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org74335c6" class="outline-4">
|
||||
<h4 id="org74335c6"><span class="section-number-4">2.7.3</span> Test</h4>
|
||||
<div id="outline-container-org4c67c0c" class="outline-4">
|
||||
<h4 id="org4c67c0c"><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>
|
||||
@ -2795,8 +2795,8 @@ TODO: write formulae
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0d0c733" class="outline-3">
|
||||
<h3 id="org0d0c733"><span class="section-number-3">2.8</span> Electron-nucleus rescaled distances for each order</h3>
|
||||
<div id="outline-container-orga8112e2" class="outline-3">
|
||||
<h3 id="orga8112e2"><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
|
||||
@ -2814,8 +2814,8 @@ where \(C_{ia}\) is the matrix of electron-nucleus distances.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf9d592e" class="outline-4">
|
||||
<h4 id="orgf9d592e"><span class="section-number-4">2.8.1</span> Get</h4>
|
||||
<div id="outline-container-orgf1338a9" class="outline-4">
|
||||
<h4 id="orgf1338a9"><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>);
|
||||
@ -2824,10 +2824,10 @@ where \(C_{ia}\) is the matrix of electron-nucleus distances.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org94d6c6c" class="outline-4">
|
||||
<h4 id="org94d6c6c"><span class="section-number-4">2.8.2</span> Compute</h4>
|
||||
<div id="outline-container-orgb1a6cdf" class="outline-4">
|
||||
<h4 id="orgb1a6cdf"><span class="section-number-4">2.8.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-8-2">
|
||||
<table id="org72161c9" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orged16ff9" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2983,8 +2983,8 @@ where \(C_{ia}\) is the matrix of electron-nucleus distances.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2cfd6b5" class="outline-4">
|
||||
<h4 id="org2cfd6b5"><span class="section-number-4">2.8.3</span> Test</h4>
|
||||
<div id="outline-container-orgf777eb7" class="outline-4">
|
||||
<h4 id="orgf777eb7"><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>));
|
||||
@ -3006,8 +3006,8 @@ rc = qmckl_get_jastrow_een_rescaled_n(context, &(een_rescaled_n[0][0][0][0])
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org228702c" class="outline-3">
|
||||
<h3 id="org228702c"><span class="section-number-3">2.9</span> Electron-nucleus rescaled distances for each order and derivatives</h3>
|
||||
<div id="outline-container-org6124f0f" class="outline-3">
|
||||
<h3 id="org6124f0f"><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
|
||||
@ -3016,8 +3016,8 @@ electrons and nucleii raised to the power \(p\) defined by <code>cord_num</code>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgae208bc" class="outline-4">
|
||||
<h4 id="orgae208bc"><span class="section-number-4">2.9.1</span> Get</h4>
|
||||
<div id="outline-container-org7ba6599" class="outline-4">
|
||||
<h4 id="org7ba6599"><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>);
|
||||
@ -3026,10 +3026,10 @@ electrons and nucleii raised to the power \(p\) defined by <code>cord_num</code>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgca6f58b" class="outline-4">
|
||||
<h4 id="orgca6f58b"><span class="section-number-4">2.9.2</span> Compute</h4>
|
||||
<div id="outline-container-orgf159716" class="outline-4">
|
||||
<h4 id="orgf159716"><span class="section-number-4">2.9.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-9-2">
|
||||
<table id="org091dd6a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org18aa76e" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -3231,8 +3231,8 @@ electrons and nucleii raised to the power \(p\) defined by <code>cord_num</code>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgdcbac83" class="outline-4">
|
||||
<h4 id="orgdcbac83"><span class="section-number-4">2.9.3</span> Test</h4>
|
||||
<div id="outline-container-org6555b58" class="outline-4">
|
||||
<h4 id="org6555b58"><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: #b22222;">assert(qmckl_electron_provided(context));</span>
|
||||
@ -3243,8 +3243,8 @@ electrons and nucleii raised to the power \(p\) defined by <code>cord_num</code>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org76672ac" class="outline-3">
|
||||
<h3 id="org76672ac"><span class="section-number-3">2.10</span> Prepare for electron-electron-nucleus Jastrow \(f_{een}\)</h3>
|
||||
<div id="outline-container-orga38f66c" class="outline-3">
|
||||
<h3 id="orga38f66c"><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
|
||||
@ -3253,8 +3253,8 @@ calculation of the three-body jastrow <code>factor_een</code> and its derivative
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgff77c12" class="outline-4">
|
||||
<h4 id="orgff77c12"><span class="section-number-4">2.10.1</span> Get</h4>
|
||||
<div id="outline-container-orgc5ae66a" class="outline-4">
|
||||
<h4 id="orgc5ae66a"><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>);
|
||||
@ -3265,10 +3265,10 @@ calculation of the three-body jastrow <code>factor_een</code> and its derivative
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgfad59f1" class="outline-4">
|
||||
<h4 id="orgfad59f1"><span class="section-number-4">2.10.2</span> Compute dim<sub>cord</sub><sub>vect</sub></h4>
|
||||
<div id="outline-container-orgb3ae08b" class="outline-4">
|
||||
<h4 id="orgb3ae08b"><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="org5c437a0" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org99b992c" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -3358,10 +3358,10 @@ calculation of the three-body jastrow <code>factor_een</code> and its derivative
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgdf7d6e8" class="outline-4">
|
||||
<h4 id="orgdf7d6e8"><span class="section-number-4">2.10.3</span> Compute cord<sub>vect</sub><sub>full</sub></h4>
|
||||
<div id="outline-container-org5e08dbe" class="outline-4">
|
||||
<h4 id="org5e08dbe"><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="org0645523" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org08eb216" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -3501,10 +3501,10 @@ calculation of the three-body jastrow <code>factor_een</code> and its derivative
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org3a94380" class="outline-4">
|
||||
<h4 id="org3a94380"><span class="section-number-4">2.10.4</span> Compute lkpm<sub>combined</sub><sub>index</sub></h4>
|
||||
<div id="outline-container-orgb9f73d0" class="outline-4">
|
||||
<h4 id="orgb9f73d0"><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="org8d6b274" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgfa48d20" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -3614,8 +3614,8 @@ calculation of the three-body jastrow <code>factor_een</code> and its derivative
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org3279eb7" class="outline-4">
|
||||
<h4 id="org3279eb7"><span class="section-number-4">2.10.5</span> Test</h4>
|
||||
<div id="outline-container-org5b1884d" class="outline-4">
|
||||
<h4 id="org5b1884d"><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>
|
||||
@ -3627,8 +3627,8 @@ calculation of the three-body jastrow <code>factor_een</code> and its derivative
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf3ac151" class="outline-3">
|
||||
<h3 id="orgf3ac151"><span class="section-number-3">2.11</span> Electron-electron-nucleus Jastrow \(f_{een}\)</h3>
|
||||
<div id="outline-container-org9772150" class="outline-3">
|
||||
<h3 id="org9772150"><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>
|
||||
@ -3640,8 +3640,8 @@ TODO: write equations.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2e23eab" class="outline-4">
|
||||
<h4 id="org2e23eab"><span class="section-number-4">2.11.1</span> Get</h4>
|
||||
<div id="outline-container-org9e2e0f1" class="outline-4">
|
||||
<h4 id="org9e2e0f1"><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>);
|
||||
@ -3650,10 +3650,10 @@ TODO: write equations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org109f690" class="outline-4">
|
||||
<h4 id="org109f690"><span class="section-number-4">2.11.2</span> Compute</h4>
|
||||
<div id="outline-container-orgf910720" class="outline-4">
|
||||
<h4 id="orgf910720"><span class="section-number-4">2.11.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-11-2">
|
||||
<table id="orga663ccc" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org2d3e1f4" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -3838,8 +3838,8 @@ TODO: write equations.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org2139377" class="outline-4">
|
||||
<h4 id="org2139377"><span class="section-number-4">2.11.3</span> Test</h4>
|
||||
<div id="outline-container-orgd105dbd" class="outline-4">
|
||||
<h4 id="orgd105dbd"><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>*/
|
||||
@ -3852,8 +3852,8 @@ TODO: write equations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8ad9820" class="outline-3">
|
||||
<h3 id="org8ad9820"><span class="section-number-3">2.12</span> Electron-electron-nucleus Jastrow \(f_{een}\) derivative</h3>
|
||||
<div id="outline-container-org63fac8f" class="outline-3">
|
||||
<h3 id="org63fac8f"><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>
|
||||
@ -3865,8 +3865,8 @@ TODO: write equations.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb717903" class="outline-4">
|
||||
<h4 id="orgb717903"><span class="section-number-4">2.12.1</span> Get</h4>
|
||||
<div id="outline-container-org5204fb5" class="outline-4">
|
||||
<h4 id="org5204fb5"><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>);
|
||||
@ -3875,10 +3875,10 @@ TODO: write equations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2521078" class="outline-4">
|
||||
<h4 id="org2521078"><span class="section-number-4">2.12.2</span> Compute</h4>
|
||||
<div id="outline-container-org7a0adfe" class="outline-4">
|
||||
<h4 id="org7a0adfe"><span class="section-number-4">2.12.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-12-2">
|
||||
<table id="org046fc9b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org9a459b2" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -4103,8 +4103,8 @@ TODO: write equations.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org2823831" class="outline-4">
|
||||
<h4 id="org2823831"><span class="section-number-4">2.12.3</span> Test</h4>
|
||||
<div id="outline-container-org2da309f" class="outline-4">
|
||||
<h4 id="org2da309f"><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>
|
||||
@ -4118,7 +4118,7 @@ TODO: write equations.
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-09-14 Tue 10:20</p>
|
||||
<p class="date">Created: 2021-09-18 Sat 16:13</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-14 Tue 10:20 -->
|
||||
<!-- 2021-09-18 Sat 16:13 -->
|
||||
<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="#org7befdb2">1. Memory data structure for the context</a></li>
|
||||
<li><a href="#org100ca44">2. Passing info to allocation routines</a></li>
|
||||
<li><a href="#org03c11f2">3. Allocation/deallocation functions</a></li>
|
||||
<li><a href="#orgcad42e6">1. Memory data structure for the context</a></li>
|
||||
<li><a href="#org71554d7">2. Passing info to allocation routines</a></li>
|
||||
<li><a href="#org241412b">3. Allocation/deallocation functions</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7befdb2" class="outline-2">
|
||||
<h2 id="org7befdb2"><span class="section-number-2">1</span> Memory data structure for the context</h2>
|
||||
<div id="outline-container-orgcad42e6" class="outline-2">
|
||||
<h2 id="orgcad42e6"><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-org100ca44" class="outline-2">
|
||||
<h2 id="org100ca44"><span class="section-number-2">2</span> Passing info to allocation routines</h2>
|
||||
<div id="outline-container-org71554d7" class="outline-2">
|
||||
<h2 id="org71554d7"><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-org03c11f2" class="outline-2">
|
||||
<h2 id="org03c11f2"><span class="section-number-2">3</span> Allocation/deallocation functions</h2>
|
||||
<div id="outline-container-org241412b" class="outline-2">
|
||||
<h2 id="org241412b"><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-14 Tue 10:20</p>
|
||||
<p class="date">Created: 2021-09-18 Sat 16:13</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-14 Tue 10:20 -->
|
||||
<!-- 2021-09-18 Sat 16:13 -->
|
||||
<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="#org1d0aafd">1. Context</a>
|
||||
<li><a href="#org6646e2f">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#orgfbe6ffc">1.1. Data structure</a></li>
|
||||
<li><a href="#orgb0c3d9b">1.2. Access functions</a></li>
|
||||
<li><a href="#org9abcfb4">1.3. Initialization functions</a></li>
|
||||
<li><a href="#orgdc343e4">1.4. Test</a></li>
|
||||
<li><a href="#orgb55a7bb">1.1. Data structure</a></li>
|
||||
<li><a href="#org43e965f">1.2. Access functions</a></li>
|
||||
<li><a href="#org287ed3a">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org6e0ab09">1.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgfc277f4">2. Computation</a>
|
||||
<li><a href="#org2792a14">2. Computation</a>
|
||||
<ul>
|
||||
<li><a href="#org4d97ce7">2.1. Nucleus-nucleus distances</a>
|
||||
<li><a href="#orge8bb7f9">2.1. Nucleus-nucleus distances</a>
|
||||
<ul>
|
||||
<li><a href="#org9855563">2.1.1. Get</a></li>
|
||||
<li><a href="#org5c48948">2.1.2. Compute</a></li>
|
||||
<li><a href="#orgb9e3283">2.1.3. Test</a></li>
|
||||
<li><a href="#org6a89a66">2.1.1. Get</a></li>
|
||||
<li><a href="#org5cd7bc7">2.1.2. Compute</a></li>
|
||||
<li><a href="#orga11229a">2.1.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgf5a8618">2.2. Nucleus-nucleus rescaled distances</a>
|
||||
<li><a href="#org831f7d6">2.2. Nucleus-nucleus rescaled distances</a>
|
||||
<ul>
|
||||
<li><a href="#org0cc79d4">2.2.1. Get</a></li>
|
||||
<li><a href="#orgbccaeef">2.2.2. Compute</a></li>
|
||||
<li><a href="#orge8aaa97">2.2.3. Test</a></li>
|
||||
<li><a href="#org76aa14c">2.2.1. Get</a></li>
|
||||
<li><a href="#orgb06add4">2.2.2. Compute</a></li>
|
||||
<li><a href="#org5c62f01">2.2.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgc0065ae">2.3. Nuclear repulsion energy</a>
|
||||
<li><a href="#orga4d51e0">2.3. Nuclear repulsion energy</a>
|
||||
<ul>
|
||||
<li><a href="#org13b2a04">2.3.1. Get</a></li>
|
||||
<li><a href="#org7e1448f">2.3.2. Compute</a></li>
|
||||
<li><a href="#org8f72173">2.3.3. Test</a></li>
|
||||
<li><a href="#orgeaf29ae">2.3.1. Get</a></li>
|
||||
<li><a href="#orgfb633d2">2.3.2. Compute</a></li>
|
||||
<li><a href="#org1360a68">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-org1d0aafd" class="outline-2">
|
||||
<h2 id="org1d0aafd"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-org6646e2f" class="outline-2">
|
||||
<h2 id="org6646e2f"><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-orgfbe6ffc" class="outline-3">
|
||||
<h3 id="orgfbe6ffc"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-orgb55a7bb" class="outline-3">
|
||||
<h3 id="orgb55a7bb"><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-orgb0c3d9b" class="outline-3">
|
||||
<h3 id="orgb0c3d9b"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div id="outline-container-org43e965f" class="outline-3">
|
||||
<h3 id="org43e965f"><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-org9abcfb4" class="outline-3">
|
||||
<h3 id="org9abcfb4"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-org287ed3a" class="outline-3">
|
||||
<h3 id="org287ed3a"><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-orgdc343e4" class="outline-3">
|
||||
<h3 id="orgdc343e4"><span class="section-number-3">1.4</span> Test</h3>
|
||||
<div id="outline-container-org6e0ab09" class="outline-3">
|
||||
<h3 id="org6e0ab09"><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-orgfc277f4" class="outline-2">
|
||||
<h2 id="orgfc277f4"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div id="outline-container-org2792a14" class="outline-2">
|
||||
<h2 id="org2792a14"><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-org4d97ce7" class="outline-3">
|
||||
<h3 id="org4d97ce7"><span class="section-number-3">2.1</span> Nucleus-nucleus distances</h3>
|
||||
<div id="outline-container-orge8bb7f9" class="outline-3">
|
||||
<h3 id="orge8bb7f9"><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-org9855563" class="outline-4">
|
||||
<h4 id="org9855563"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div id="outline-container-org6a89a66" class="outline-4">
|
||||
<h4 id="org6a89a66"><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-org5c48948" class="outline-4">
|
||||
<h4 id="org5c48948"><span class="section-number-4">2.1.2</span> Compute</h4>
|
||||
<div id="outline-container-org5cd7bc7" class="outline-4">
|
||||
<h4 id="org5cd7bc7"><span class="section-number-4">2.1.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-1-2">
|
||||
<table id="org61daaa8" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgcf5d07b" 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-orgb9e3283" class="outline-4">
|
||||
<h4 id="orgb9e3283"><span class="section-number-4">2.1.3</span> Test</h4>
|
||||
<div id="outline-container-orga11229a" class="outline-4">
|
||||
<h4 id="orga11229a"><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-orgf5a8618" class="outline-3">
|
||||
<h3 id="orgf5a8618"><span class="section-number-3">2.2</span> Nucleus-nucleus rescaled distances</h3>
|
||||
<div id="outline-container-org831f7d6" class="outline-3">
|
||||
<h3 id="org831f7d6"><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-org0cc79d4" class="outline-4">
|
||||
<h4 id="org0cc79d4"><span class="section-number-4">2.2.1</span> Get</h4>
|
||||
<div id="outline-container-org76aa14c" class="outline-4">
|
||||
<h4 id="org76aa14c"><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-orgbccaeef" class="outline-4">
|
||||
<h4 id="orgbccaeef"><span class="section-number-4">2.2.2</span> Compute</h4>
|
||||
<div id="outline-container-orgb06add4" class="outline-4">
|
||||
<h4 id="orgb06add4"><span class="section-number-4">2.2.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-2-2">
|
||||
<table id="org55c48c2" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org3a8d8aa" 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-orge8aaa97" class="outline-4">
|
||||
<h4 id="orge8aaa97"><span class="section-number-4">2.2.3</span> Test</h4>
|
||||
<div id="outline-container-org5c62f01" class="outline-4">
|
||||
<h4 id="org5c62f01"><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-orgc0065ae" class="outline-3">
|
||||
<h3 id="orgc0065ae"><span class="section-number-3">2.3</span> Nuclear repulsion energy</h3>
|
||||
<div id="outline-container-orga4d51e0" class="outline-3">
|
||||
<h3 id="orga4d51e0"><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-org13b2a04" class="outline-4">
|
||||
<h4 id="org13b2a04"><span class="section-number-4">2.3.1</span> Get</h4>
|
||||
<div id="outline-container-orgeaf29ae" class="outline-4">
|
||||
<h4 id="orgeaf29ae"><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-org7e1448f" class="outline-4">
|
||||
<h4 id="org7e1448f"><span class="section-number-4">2.3.2</span> Compute</h4>
|
||||
<div id="outline-container-orgfb633d2" class="outline-4">
|
||||
<h4 id="orgfb633d2"><span class="section-number-4">2.3.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-3-2">
|
||||
<table id="org6739322" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgc23ecc1" 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-org8f72173" class="outline-4">
|
||||
<h4 id="org8f72173"><span class="section-number-4">2.3.3</span> Test</h4>
|
||||
<div id="outline-container-org1360a68" class="outline-4">
|
||||
<h4 id="org1360a68"><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-14 Tue 10:20</p>
|
||||
<p class="date">Created: 2021-09-18 Sat 16:13</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-14 Tue 10:20 -->
|
||||
<!-- 2021-09-18 Sat 16:13 -->
|
||||
<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="#orgaed89e3">1. Control of the numerical precision</a></li>
|
||||
<li><a href="#orgbe9f3ba">2. Precision</a></li>
|
||||
<li><a href="#org2b03115">3. Range</a></li>
|
||||
<li><a href="#orgc51f55f">4. Helper functions</a></li>
|
||||
<li><a href="#org7a7afac">1. Control of the numerical precision</a></li>
|
||||
<li><a href="#org2f615b0">2. Precision</a></li>
|
||||
<li><a href="#org0013e77">3. Range</a></li>
|
||||
<li><a href="#org2c972f9">4. Helper functions</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgaed89e3" class="outline-2">
|
||||
<h2 id="orgaed89e3"><span class="section-number-2">1</span> Control of the numerical precision</h2>
|
||||
<div id="outline-container-org7a7afac" class="outline-2">
|
||||
<h2 id="org7a7afac"><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="org4c42522" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org144f7c4" 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-orgbe9f3ba" class="outline-2">
|
||||
<h2 id="orgbe9f3ba"><span class="section-number-2">2</span> Precision</h2>
|
||||
<div id="outline-container-org2f615b0" class="outline-2">
|
||||
<h2 id="org2f615b0"><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-org2b03115" class="outline-2">
|
||||
<h2 id="org2b03115"><span class="section-number-2">3</span> Range</h2>
|
||||
<div id="outline-container-org0013e77" class="outline-2">
|
||||
<h2 id="org0013e77"><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-orgc51f55f" class="outline-2">
|
||||
<h2 id="orgc51f55f"><span class="section-number-2">4</span> Helper functions</h2>
|
||||
<div id="outline-container-org2c972f9" class="outline-2">
|
||||
<h2 id="org2c972f9"><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-14 Tue 10:20</p>
|
||||
<p class="date">Created: 2021-09-18 Sat 16:13</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-14 Tue 10:20 -->
|
||||
<!-- 2021-09-18 Sat 16:13 -->
|
||||
<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="#org76cd349">1. Headers</a></li>
|
||||
<li><a href="#org1eb38d2">2. Naïve Sherman-Morrison</a>
|
||||
<li><a href="#org064a391">1. Headers</a></li>
|
||||
<li><a href="#orga9a2066">2. Naïve Sherman-Morrison</a>
|
||||
<ul>
|
||||
<li><a href="#orgc434ea1">2.1. <code>qmckl_sherman_morrison</code></a>
|
||||
<li><a href="#orgf3cc110">2.1. <code>qmckl_sherman_morrison</code></a>
|
||||
<ul>
|
||||
<li><a href="#org34ae83a">2.1.1. Requirements</a></li>
|
||||
<li><a href="#org78cb275">2.1.2. C header</a></li>
|
||||
<li><a href="#org36cf130">2.1.3. Source</a></li>
|
||||
<li><a href="#orge5e06d5">2.1.4. Performance</a></li>
|
||||
<li><a href="#org96f8c06">2.1.1. Requirements</a></li>
|
||||
<li><a href="#org784b1fa">2.1.2. C header</a></li>
|
||||
<li><a href="#org0c992c6">2.1.3. Source</a></li>
|
||||
<li><a href="#orgef657f5">2.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org4e60820">3. Woodbury 2x2</a>
|
||||
<li><a href="#org84d0030">3. Woodbury 2x2</a>
|
||||
<ul>
|
||||
<li><a href="#org7e4a33b">3.1. <code>qmckl_woodbury_2</code></a>
|
||||
<li><a href="#org552ee22">3.1. <code>qmckl_woodbury_2</code></a>
|
||||
<ul>
|
||||
<li><a href="#org5e0c5d6">3.1.1. Requirements</a></li>
|
||||
<li><a href="#orge46590c">3.1.2. C header</a></li>
|
||||
<li><a href="#org9179061">3.1.3. Source</a></li>
|
||||
<li><a href="#org08a3d3c">3.1.4. Performance</a></li>
|
||||
<li><a href="#orgd31fd24">3.1.1. Requirements</a></li>
|
||||
<li><a href="#org42fc79b">3.1.2. C header</a></li>
|
||||
<li><a href="#org3460eca">3.1.3. Source</a></li>
|
||||
<li><a href="#org4fee222">3.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org7baf64d">4. Woodbury 3x3</a>
|
||||
<li><a href="#org8927e1c">4. Woodbury 3x3</a>
|
||||
<ul>
|
||||
<li><a href="#orgde278c3">4.1. <code>qmckl_woodbury_3</code></a>
|
||||
<li><a href="#orgd2721ef">4.1. <code>qmckl_woodbury_3</code></a>
|
||||
<ul>
|
||||
<li><a href="#org2bba785">4.1.1. Requirements</a></li>
|
||||
<li><a href="#orgbd77cbf">4.1.2. C header</a></li>
|
||||
<li><a href="#org1357c3b">4.1.3. Source</a></li>
|
||||
<li><a href="#org26ea1b6">4.1.4. Performance…</a></li>
|
||||
<li><a href="#org0afec66">4.1.1. Requirements</a></li>
|
||||
<li><a href="#org8ffaa81">4.1.2. C header</a></li>
|
||||
<li><a href="#orgdf73682">4.1.3. Source</a></li>
|
||||
<li><a href="#orgb338353">4.1.4. Performance…</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgd2e9821">5. Sherman-Morrison with update splitting</a>
|
||||
<li><a href="#org099b280">5. Sherman-Morrison with update splitting</a>
|
||||
<ul>
|
||||
<li><a href="#orgc7bcfef">5.1. <code>qmckl_sherman_morrison_splitting</code></a>
|
||||
<li><a href="#orgbcc5677">5.1. <code>qmckl_sherman_morrison_splitting</code></a>
|
||||
<ul>
|
||||
<li><a href="#orgc72b3d3">5.1.1. Requirements</a></li>
|
||||
<li><a href="#org71d3e70">5.1.2. C header</a></li>
|
||||
<li><a href="#org1cfadf4">5.1.3. Source</a></li>
|
||||
<li><a href="#org66a842c">5.1.4. Performance…</a></li>
|
||||
<li><a href="#org31f5d22">5.1.1. Requirements</a></li>
|
||||
<li><a href="#orgf1d69fd">5.1.2. C header</a></li>
|
||||
<li><a href="#org08b2702">5.1.3. Source</a></li>
|
||||
<li><a href="#org9b9ac60">5.1.4. Performance…</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgd400885">6. Woodbury 3x3 and 2x2 with Sherman-Morrison and update splitting</a>
|
||||
<li><a href="#orgc1c3bc8">6. Woodbury 3x3 and 2x2 with Sherman-Morrison and update splitting</a>
|
||||
<ul>
|
||||
<li><a href="#orgf2d01ef">6.1. <code>qmckl_sherman_morrison_smw32s</code></a>
|
||||
<li><a href="#org3e5b9ba">6.1. <code>qmckl_sherman_morrison_smw32s</code></a>
|
||||
<ul>
|
||||
<li><a href="#org4c8c50c">6.1.1. Requirements</a></li>
|
||||
<li><a href="#orgf0fead8">6.1.2. C header</a></li>
|
||||
<li><a href="#orgc4351c2">6.1.3. Source</a></li>
|
||||
<li><a href="#org0b2e2cd">6.1.4. Performance…</a></li>
|
||||
<li><a href="#org48eae66">6.1.1. Requirements</a></li>
|
||||
<li><a href="#org13e3437">6.1.2. C header</a></li>
|
||||
<li><a href="#org561633a">6.1.3. Source</a></li>
|
||||
<li><a href="#org460fb3a">6.1.4. Performance…</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orga6509f5">7. Helper Functions</a>
|
||||
<li><a href="#orgf51f6ab">7. Helper Functions</a>
|
||||
<ul>
|
||||
<li><a href="#org3bca705">7.1. <code>qmckl_slagel_splitting</code></a>
|
||||
<li><a href="#orga767698">7.1. <code>qmckl_slagel_splitting</code></a>
|
||||
<ul>
|
||||
<li><a href="#orgf180a8f">7.1.1. Requirements</a></li>
|
||||
<li><a href="#org3c816e9">7.1.2. C header</a></li>
|
||||
<li><a href="#org77e403a">7.1.3. Source</a></li>
|
||||
<li><a href="#org7ec3732">7.1.4. Performance</a></li>
|
||||
<li><a href="#orge82bfa9">7.1.1. Requirements</a></li>
|
||||
<li><a href="#org4628524">7.1.2. C header</a></li>
|
||||
<li><a href="#org5183636">7.1.3. Source</a></li>
|
||||
<li><a href="#org6c26618">7.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org3ad2c96">8. End of files</a></li>
|
||||
<li><a href="#orgdbefbba">8. End of files</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org76cd349" class="outline-2">
|
||||
<h2 id="org76cd349"><span class="section-number-2">1</span> Headers</h2>
|
||||
<div id="outline-container-org064a391" class="outline-2">
|
||||
<h2 id="org064a391"><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-org1eb38d2" class="outline-2">
|
||||
<h2 id="org1eb38d2"><span class="section-number-2">2</span> Naïve Sherman-Morrison</h2>
|
||||
<div id="outline-container-orga9a2066" class="outline-2">
|
||||
<h2 id="orga9a2066"><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-orgc434ea1" class="outline-3">
|
||||
<h3 id="orgc434ea1"><span class="section-number-3">2.1</span> <code>qmckl_sherman_morrison</code></h3>
|
||||
<div id="outline-container-orgf3cc110" class="outline-3">
|
||||
<h3 id="orgf3cc110"><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="org4c34f3e" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org6dbf445" 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-org34ae83a" class="outline-4">
|
||||
<h4 id="org34ae83a"><span class="section-number-4">2.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org96f8c06" class="outline-4">
|
||||
<h4 id="org96f8c06"><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-org78cb275" class="outline-4">
|
||||
<h4 id="org78cb275"><span class="section-number-4">2.1.2</span> C header</h4>
|
||||
<div id="outline-container-org784b1fa" class="outline-4">
|
||||
<h4 id="org784b1fa"><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,24 +571,25 @@ If \(1+v_j^TS^{-1}u_j \leq \epsilon\) the update is rejected and the kernel exit
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org36cf130" class="outline-4">
|
||||
<h4 id="org36cf130"><span class="section-number-4">2.1.3</span> Source</h4>
|
||||
<div id="outline-container-org0c992c6" class="outline-4">
|
||||
<h4 id="org0c992c6"><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>
|
||||
<span style="color: #483d8b;">#include</span> <span style="color: #8b2252;"><math.h></span>
|
||||
<span style="color: #483d8b;">#include</span> <span style="color: #8b2252;">"qmckl.h"</span>
|
||||
|
||||
<span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_sherman_morrison_c</span>(<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">Dim</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">N_updates</span>,
|
||||
<span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_sherman_morrison_c_</span>(<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span>* <span style="color: #a0522d;">Dim_p</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span>* <span style="color: #a0522d;">N_updates_p</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">Updates</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span>* <span style="color: #a0522d;">Updates_index</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> <span style="color: #a0522d;">breakdown</span>,
|
||||
<span style="color: #228b22;">double</span> * <span style="color: #a0522d;">Slater_inv</span>) {
|
||||
// <span style="color: #b22222;">#ifdef DEBUG</span>
|
||||
// <span style="color: #b22222;">std::cerr << "Called qmckl_sherman_morrison with " << N_updates << " updates" << std::endl;</span>
|
||||
// <span style="color: #b22222;">#endif</span>
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">breakdown_p</span>,
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a0522d;">Slater_inv</span>) {
|
||||
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">Dim</span> = *Dim_p;
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">N_updates</span> = *N_updates_p;
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> <span style="color: #a0522d;">breakdown</span> = *breakdown_p;
|
||||
|
||||
<span style="color: #228b22;">double</span> <span style="color: #a0522d;">C</span>[Dim];
|
||||
<span style="color: #228b22;">double</span> <span style="color: #a0522d;">D</span>[Dim];
|
||||
@ -634,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-orge5e06d5" class="outline-4">
|
||||
<h4 id="orge5e06d5"><span class="section-number-4">2.1.4</span> Performance</h4>
|
||||
<div id="outline-container-orgef657f5" class="outline-4">
|
||||
<h4 id="orgef657f5"><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
|
||||
@ -647,12 +648,12 @@ where applying the update causes singular behaviour.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4e60820" class="outline-2">
|
||||
<h2 id="org4e60820"><span class="section-number-2">3</span> Woodbury 2x2</h2>
|
||||
<div id="outline-container-org84d0030" class="outline-2">
|
||||
<h2 id="org84d0030"><span class="section-number-2">3</span> Woodbury 2x2</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
</div>
|
||||
<div id="outline-container-org7e4a33b" class="outline-3">
|
||||
<h3 id="org7e4a33b"><span class="section-number-3">3.1</span> <code>qmckl_woodbury_2</code></h3>
|
||||
<div id="outline-container-org552ee22" class="outline-3">
|
||||
<h3 id="org552ee22"><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
|
||||
@ -670,7 +671,7 @@ where
|
||||
</p>
|
||||
|
||||
|
||||
<table id="org7151acc" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgd9eef83" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -728,8 +729,8 @@ where
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5e0c5d6" class="outline-4">
|
||||
<h4 id="org5e0c5d6"><span class="section-number-4">3.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-orgd31fd24" class="outline-4">
|
||||
<h4 id="orgd31fd24"><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>
|
||||
@ -742,8 +743,8 @@ where
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge46590c" class="outline-4">
|
||||
<h4 id="orge46590c"><span class="section-number-4">3.1.2</span> C header</h4>
|
||||
<div id="outline-container-org42fc79b" class="outline-4">
|
||||
<h4 id="org42fc79b"><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> (
|
||||
@ -758,28 +759,28 @@ where
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9179061" class="outline-4">
|
||||
<h4 id="org9179061"><span class="section-number-4">3.1.3</span> Source</h4>
|
||||
<div id="outline-container-org3460eca" class="outline-4">
|
||||
<h4 id="org3460eca"><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>
|
||||
<span style="color: #483d8b;">#include</span> <span style="color: #8b2252;"><math.h></span>
|
||||
<span style="color: #483d8b;">#include</span> <span style="color: #8b2252;">"qmckl.h"</span>
|
||||
|
||||
<span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_woodbury_2_c</span>(<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">Dim</span>,
|
||||
<span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_woodbury_2_c_</span>(<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span>* <span style="color: #a0522d;">Dim_p</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">Updates</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span>* <span style="color: #a0522d;">Updates_index</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> <span style="color: #a0522d;">breakdown</span>,
|
||||
<span style="color: #228b22;">double</span> * <span style="color: #a0522d;">Slater_inv</span>) {
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">breakdown_p</span>,
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a0522d;">Slater_inv</span>) {
|
||||
/*
|
||||
<span style="color: #b22222;"> C := S^{-1} * U, dim x 2</span>
|
||||
<span style="color: #b22222;"> B := 1 + V * C, 2 x 2</span>
|
||||
<span style="color: #b22222;"> D := V * S^{-1}, 2 x dim</span>
|
||||
*/
|
||||
// <span style="color: #b22222;">#ifdef DEBUG // Leave commented out since debugging information is not yet implemented in QMCkl.</span>
|
||||
// <span style="color: #b22222;">std::cerr << "Called Woodbury 2x2 kernel" << std::endl;</span>
|
||||
// <span style="color: #b22222;">#endif</span>
|
||||
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">Dim</span> = *Dim_p;
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> <span style="color: #a0522d;">breakdown</span> = *breakdown_p;
|
||||
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">row1</span> = (Updates_index[0] - 1);
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">row2</span> = (Updates_index[1] - 1);
|
||||
@ -839,8 +840,8 @@ where
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org08a3d3c" class="outline-4">
|
||||
<h4 id="org08a3d3c"><span class="section-number-4">3.1.4</span> Performance</h4>
|
||||
<div id="outline-container-org4fee222" class="outline-4">
|
||||
<h4 id="org4fee222"><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
|
||||
@ -851,12 +852,12 @@ it is sure they will not result in a singular matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7baf64d" class="outline-2">
|
||||
<h2 id="org7baf64d"><span class="section-number-2">4</span> Woodbury 3x3</h2>
|
||||
<div id="outline-container-org8927e1c" class="outline-2">
|
||||
<h2 id="org8927e1c"><span class="section-number-2">4</span> Woodbury 3x3</h2>
|
||||
<div class="outline-text-2" id="text-4">
|
||||
</div>
|
||||
<div id="outline-container-orgde278c3" class="outline-3">
|
||||
<h3 id="orgde278c3"><span class="section-number-3">4.1</span> <code>qmckl_woodbury_3</code></h3>
|
||||
<div id="outline-container-orgd2721ef" class="outline-3">
|
||||
<h3 id="orgd2721ef"><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
|
||||
@ -870,7 +871,7 @@ except for the sizes of the following matrices:
|
||||
\(D := VS^{-1}\), a \(3 \times Dim\) matrix
|
||||
</p>
|
||||
|
||||
<table id="orgd693f86" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org96ca544" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -928,8 +929,8 @@ except for the sizes of the following matrices:
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2bba785" class="outline-4">
|
||||
<h4 id="org2bba785"><span class="section-number-4">4.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org0afec66" class="outline-4">
|
||||
<h4 id="org0afec66"><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>
|
||||
@ -942,8 +943,8 @@ except for the sizes of the following matrices:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgbd77cbf" class="outline-4">
|
||||
<h4 id="orgbd77cbf"><span class="section-number-4">4.1.2</span> C header</h4>
|
||||
<div id="outline-container-org8ffaa81" class="outline-4">
|
||||
<h4 id="org8ffaa81"><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> (
|
||||
@ -958,28 +959,28 @@ except for the sizes of the following matrices:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1357c3b" class="outline-4">
|
||||
<h4 id="org1357c3b"><span class="section-number-4">4.1.3</span> Source</h4>
|
||||
<div id="outline-container-orgdf73682" class="outline-4">
|
||||
<h4 id="orgdf73682"><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>
|
||||
<span style="color: #483d8b;">#include</span> <span style="color: #8b2252;"><math.h></span>
|
||||
<span style="color: #483d8b;">#include</span> <span style="color: #8b2252;">"qmckl.h"</span>
|
||||
|
||||
<span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_woodbury_3_c</span>(<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">Dim</span>,
|
||||
<span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_woodbury_3_c_</span>(<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span>* <span style="color: #a0522d;">Dim_p</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">Updates</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span>* <span style="color: #a0522d;">Updates_index</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> <span style="color: #a0522d;">breakdown</span>,
|
||||
<span style="color: #228b22;">double</span> * <span style="color: #a0522d;">Slater_inv</span>) {
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">breakdown_p</span>,
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a0522d;">Slater_inv</span>) {
|
||||
/*
|
||||
<span style="color: #b22222;"> C := S^{-1} * U, dim x 3</span>
|
||||
<span style="color: #b22222;"> B := 1 + V * C, 3 x 3</span>
|
||||
<span style="color: #b22222;"> D := V * S^{-1}, 3 x dim</span>
|
||||
*/
|
||||
// <span style="color: #b22222;">#ifdef DEBUG // Leave commented out since debugging information is not yet implemented in QMCkl.</span>
|
||||
// <span style="color: #b22222;">std::cerr << "Called Woodbury 3x3 kernel" << std::endl;</span>
|
||||
// <span style="color: #b22222;">#endif</span>
|
||||
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">Dim</span> = *Dim_p;
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> <span style="color: #a0522d;">breakdown</span> = *breakdown_p;
|
||||
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">row1</span> = (Updates_index[0] - 1);
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">row2</span> = (Updates_index[1] - 1);
|
||||
@ -1049,14 +1050,13 @@ except for the sizes of the following matrices:
|
||||
|
||||
<span style="color: #a020f0;">return</span> QMCKL_SUCCESS;
|
||||
}
|
||||
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org26ea1b6" class="outline-4">
|
||||
<h4 id="org26ea1b6"><span class="section-number-4">4.1.4</span> Performance…</h4>
|
||||
<div id="outline-container-orgb338353" class="outline-4">
|
||||
<h4 id="orgb338353"><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-orgd2e9821" class="outline-2">
|
||||
<h2 id="orgd2e9821"><span class="section-number-2">5</span> Sherman-Morrison with update splitting</h2>
|
||||
<div id="outline-container-org099b280" class="outline-2">
|
||||
<h2 id="org099b280"><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-orgc7bcfef" class="outline-3">
|
||||
<h3 id="orgc7bcfef"><span class="section-number-3">5.1</span> <code>qmckl_sherman_morrison_splitting</code></h3>
|
||||
<div id="outline-container-orgbcc5677" class="outline-3">
|
||||
<h3 id="orgbcc5677"><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="orgd127f83" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org05b7dc6" 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-orgc72b3d3" class="outline-4">
|
||||
<h4 id="orgc72b3d3"><span class="section-number-4">5.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org31f5d22" class="outline-4">
|
||||
<h4 id="org31f5d22"><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-org71d3e70" class="outline-4">
|
||||
<h4 id="org71d3e70"><span class="section-number-4">5.1.2</span> C header</h4>
|
||||
<div id="outline-container-orgf1d69fd" class="outline-4">
|
||||
<h4 id="orgf1d69fd"><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,33 +1186,30 @@ kernel exits with an exit code.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1cfadf4" class="outline-4">
|
||||
<h4 id="org1cfadf4"><span class="section-number-4">5.1.3</span> Source</h4>
|
||||
<div id="outline-container-org08b2702" class="outline-4">
|
||||
<h4 id="org08b2702"><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>
|
||||
<span style="color: #483d8b;">#include</span> <span style="color: #8b2252;">"qmckl.h"</span>
|
||||
|
||||
<span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_sherman_morrison_splitting_c</span>(<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">Dim</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">N_updates</span>,
|
||||
<span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_sherman_morrison_splitting_c_</span>(<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span>* <span style="color: #a0522d;">Dim</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span>* <span style="color: #a0522d;">N_updates</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">Updates</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span>* <span style="color: #a0522d;">Updates_index</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> <span style="color: #a0522d;">breakdown</span>,
|
||||
<span style="color: #228b22;">double</span> * <span style="color: #a0522d;">Slater_inv</span>) {
|
||||
// <span style="color: #b22222;">#ifdef DEBUG // Leave commented out since debugging information is not yet implemented in QMCkl.</span>
|
||||
// <span style="color: #b22222;">std::cerr << "Called qmckl_sherman_morrison_splitting with " << N_updates << " updates" << std::endl;</span>
|
||||
// <span style="color: #b22222;">#endif</span>
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">breakdown</span>,
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a0522d;">Slater_inv</span>) {
|
||||
|
||||
<span style="color: #228b22;">double</span> <span style="color: #a0522d;">later_updates</span>[Dim * N_updates];
|
||||
<span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">later_index</span>[N_updates];
|
||||
<span style="color: #228b22;">double</span> <span style="color: #a0522d;">later_updates</span>[*Dim * *N_updates];
|
||||
<span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">later_index</span>[*N_updates];
|
||||
<span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">later</span> = 0;
|
||||
|
||||
(<span style="color: #228b22;">void</span>) qmckl_slagel_splitting_c(Dim, N_updates, Updates, Updates_index,
|
||||
breakdown, Slater_inv, later_updates, later_index, &later);
|
||||
(<span style="color: #228b22;">void</span>) qmckl_slagel_splitting_c(*Dim, *N_updates, Updates, Updates_index,
|
||||
*breakdown, Slater_inv, later_updates, later_index, &later);
|
||||
|
||||
<span style="color: #a020f0;">if</span> (later > 0) {
|
||||
(<span style="color: #228b22;">void</span>) qmckl_sherman_morrison_splitting_c(context, Dim, later,
|
||||
(<span style="color: #228b22;">void</span>) qmckl_sherman_morrison_splitting_c_(context, Dim, &later,
|
||||
later_updates, later_index, breakdown, Slater_inv);
|
||||
}
|
||||
|
||||
@ -1224,8 +1221,8 @@ kernel exits with an exit code.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org66a842c" class="outline-4">
|
||||
<h4 id="org66a842c"><span class="section-number-4">5.1.4</span> Performance…</h4>
|
||||
<div id="outline-container-org9b9ac60" class="outline-4">
|
||||
<h4 id="org9b9ac60"><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.
|
||||
@ -1235,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-orgd400885" class="outline-2">
|
||||
<h2 id="orgd400885"><span class="section-number-2">6</span> Woodbury 3x3 and 2x2 with Sherman-Morrison and update splitting</h2>
|
||||
<div id="outline-container-orgc1c3bc8" class="outline-2">
|
||||
<h2 id="orgc1c3bc8"><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-orgf2d01ef" class="outline-3">
|
||||
<h3 id="orgf2d01ef"><span class="section-number-3">6.1</span> <code>qmckl_sherman_morrison_smw32s</code></h3>
|
||||
<div id="outline-container-org3e5b9ba" class="outline-3">
|
||||
<h3 id="org3e5b9ba"><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,
|
||||
@ -1250,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="org7521945" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgdd3dd57" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1315,8 +1312,8 @@ with Woodbury 2x2 instead of sending them all to Sherman-Morrison with update sp
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4c8c50c" class="outline-4">
|
||||
<h4 id="org4c8c50c"><span class="section-number-4">6.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org48eae66" class="outline-4">
|
||||
<h4 id="org48eae66"><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>
|
||||
@ -1330,8 +1327,8 @@ with Woodbury 2x2 instead of sending them all to Sherman-Morrison with update sp
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf0fead8" class="outline-4">
|
||||
<h4 id="orgf0fead8"><span class="section-number-4">6.1.2</span> C header</h4>
|
||||
<div id="outline-container-org13e3437" class="outline-4">
|
||||
<h4 id="org13e3437"><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> (
|
||||
@ -1347,24 +1344,24 @@ with Woodbury 2x2 instead of sending them all to Sherman-Morrison with update sp
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc4351c2" class="outline-4">
|
||||
<h4 id="orgc4351c2"><span class="section-number-4">6.1.3</span> Source</h4>
|
||||
<div id="outline-container-org561633a" class="outline-4">
|
||||
<h4 id="org561633a"><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>
|
||||
<span style="color: #483d8b;">#include</span> <span style="color: #8b2252;">"qmckl.h"</span>
|
||||
|
||||
<span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_sherman_morrison_smw32s_c</span>(<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">Dim</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">N_updates</span>,
|
||||
<span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_sherman_morrison_smw32s_c_</span>(<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span>* <span style="color: #a0522d;">Dim_p</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span>* <span style="color: #a0522d;">N_updates_p</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">Updates</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span>* <span style="color: #a0522d;">Updates_index</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> <span style="color: #a0522d;">breakdown</span>,
|
||||
<span style="color: #228b22;">double</span> * <span style="color: #a0522d;">Slater_inv</span>) {
|
||||
// <span style="color: #b22222;">#ifdef DEBUG // Leave commented out since debugging information is not yet implemented in QMCkl.</span>
|
||||
// <span style="color: #b22222;">std::cerr << "Called qmckl_sherman_morrison_woodbury_3 with " << N_updates</span>
|
||||
// <span style="color: #b22222;"><< " updates" << std::endl;</span>
|
||||
// <span style="color: #b22222;">#endif</span>
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">breakdown_p</span>,
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a0522d;">Slater_inv</span>) {
|
||||
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">Dim</span> = *Dim_p;
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">N_updates</span> = *N_updates_p;
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> <span style="color: #a0522d;">breakdown</span> = *breakdown_p;
|
||||
|
||||
<span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #a0522d;">rc</span>;
|
||||
|
||||
@ -1381,7 +1378,7 @@ with Woodbury 2x2 instead of sending them all to Sherman-Morrison with update sp
|
||||
<span style="color: #a020f0;">for</span> (<span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">i</span> = 0; i < n_of_3blocks; i++) {
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> *<span style="color: #a0522d;">Updates_3block</span> = &Updates[i * length_3block];
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> *<span style="color: #a0522d;">Updates_index_3block</span> = &Updates_index[i * 3];
|
||||
rc = qmckl_woodbury_3_c(context, Dim, Updates_3block, Updates_index_3block, breakdown, Slater_inv);
|
||||
rc = qmckl_woodbury_3_c_(context, &Dim, Updates_3block, Updates_index_3block, &breakdown, Slater_inv);
|
||||
<span style="color: #a020f0;">if</span> (rc != 0) { // <span style="color: #b22222;">Send the entire block to slagel_splitting</span>
|
||||
<span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">l</span> = 0;
|
||||
rc = qmckl_slagel_splitting_c(Dim, 3, Updates_3block, Updates_index_3block,
|
||||
@ -1391,10 +1388,11 @@ with Woodbury 2x2 instead of sending them all to Sherman-Morrison with update sp
|
||||
}
|
||||
}
|
||||
|
||||
<span style="color: #a020f0;">if</span> (remainder == 2) { // <span style="color: #b22222;">Apply last remaining block of 2 updates with Woodbury 2x2 kernel</span>
|
||||
// <span style="color: #b22222;">Apply last remaining block of 2 updates with Woodbury 2x2 kernel</span>
|
||||
<span style="color: #a020f0;">if</span> (remainder == 2) {
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> *<span style="color: #a0522d;">Updates_2block</span> = &Updates[n_of_3blocks * length_3block];
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> *<span style="color: #a0522d;">Updates_index_2block</span> = &Updates_index[3 * n_of_3blocks];
|
||||
rc = qmckl_woodbury_2_c(context, Dim, Updates_2block, Updates_index_2block, breakdown, Slater_inv);
|
||||
rc = qmckl_woodbury_2_c_(context, &Dim, Updates_2block, Updates_index_2block, &breakdown, Slater_inv);
|
||||
<span style="color: #a020f0;">if</span> (rc != 0) { // <span style="color: #b22222;">Send the entire block to slagel_splitting</span>
|
||||
<span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">l</span> = 0;
|
||||
(<span style="color: #228b22;">void</span>) qmckl_slagel_splitting_c(Dim, 2, Updates_2block, Updates_index_2block,
|
||||
@ -1402,7 +1400,8 @@ with Woodbury 2x2 instead of sending them all to Sherman-Morrison with update sp
|
||||
later = later + l;
|
||||
}
|
||||
}
|
||||
<span style="color: #a020f0;">else</span> <span style="color: #a020f0;">if</span> (remainder == 1) { // <span style="color: #b22222;">Apply last remaining update with slagel_splitting</span>
|
||||
// <span style="color: #b22222;">Apply last remaining update with slagel_splitting</span>
|
||||
<span style="color: #a020f0;">else</span> <span style="color: #a020f0;">if</span> (remainder == 1) {
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> *<span style="color: #a0522d;">Updates_1block</span> = &Updates[n_of_3blocks * length_3block];
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> *<span style="color: #a0522d;">Updates_index_1block</span> = &Updates_index[3 * n_of_3blocks];
|
||||
<span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">l</span> = 0;
|
||||
@ -1412,7 +1411,7 @@ with Woodbury 2x2 instead of sending them all to Sherman-Morrison with update sp
|
||||
}
|
||||
|
||||
<span style="color: #a020f0;">if</span> (later > 0) {
|
||||
(<span style="color: #228b22;">void</span>) qmckl_sherman_morrison_splitting_c(context, Dim, later, later_updates, later_index, breakdown, Slater_inv);
|
||||
(<span style="color: #228b22;">void</span>) qmckl_sherman_morrison_splitting_c_(context, &Dim, &later, later_updates, later_index, &breakdown, Slater_inv);
|
||||
}
|
||||
<span style="color: #a020f0;">return</span> QMCKL_SUCCESS;
|
||||
}
|
||||
@ -1422,8 +1421,8 @@ with Woodbury 2x2 instead of sending them all to Sherman-Morrison with update sp
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0b2e2cd" class="outline-4">
|
||||
<h4 id="org0b2e2cd"><span class="section-number-4">6.1.4</span> Performance…</h4>
|
||||
<div id="outline-container-org460fb3a" class="outline-4">
|
||||
<h4 id="org460fb3a"><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.
|
||||
@ -1433,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-orga6509f5" class="outline-2">
|
||||
<h2 id="orga6509f5"><span class="section-number-2">7</span> Helper Functions</h2>
|
||||
<div id="outline-container-orgf51f6ab" class="outline-2">
|
||||
<h2 id="orgf51f6ab"><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.
|
||||
@ -1442,8 +1441,8 @@ These functions can only be used internally by the kernels in this module.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3bca705" class="outline-3">
|
||||
<h3 id="org3bca705"><span class="section-number-3">7.1</span> <code>qmckl_slagel_splitting</code></h3>
|
||||
<div id="outline-container-orga767698" class="outline-3">
|
||||
<h3 id="orga767698"><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.
|
||||
@ -1458,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="org3efa554" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org829a8f5" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1538,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-orgf180a8f" class="outline-4">
|
||||
<h4 id="orgf180a8f"><span class="section-number-4">7.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-orge82bfa9" class="outline-4">
|
||||
<h4 id="orge82bfa9"><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>
|
||||
@ -1555,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-org3c816e9" class="outline-4">
|
||||
<h4 id="org3c816e9"><span class="section-number-4">7.1.2</span> C header</h4>
|
||||
<div id="outline-container-org4628524" class="outline-4">
|
||||
<h4 id="org4628524"><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> (
|
||||
@ -1574,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-org77e403a" class="outline-4">
|
||||
<h4 id="org77e403a"><span class="section-number-4">7.1.3</span> Source</h4>
|
||||
<div id="outline-container-org5183636" class="outline-4">
|
||||
<h4 id="org5183636"><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>
|
||||
@ -1648,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-org7ec3732" class="outline-4">
|
||||
<h4 id="org7ec3732"><span class="section-number-4">7.1.4</span> Performance</h4>
|
||||
<div id="outline-container-org6c26618" class="outline-4">
|
||||
<h4 id="org6c26618"><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
|
||||
@ -1660,14 +1659,14 @@ with Sherman-Morrison and update splitting. Please look at the performance recco
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3ad2c96" class="outline-2">
|
||||
<h2 id="org3ad2c96"><span class="section-number-2">8</span> End of files</h2>
|
||||
<div id="outline-container-orgdbefbba" class="outline-2">
|
||||
<h2 id="orgdbefbba"><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);
|
||||
<span style="color: #a020f0;">return</span> 0;
|
||||
}
|
||||
|
||||
}
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
@ -1675,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-14 Tue 10:20</p>
|
||||
<p class="date">Created: 2021-09-18 Sat 16:13</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-14 Tue 10:20 -->
|
||||
<!-- 2021-09-18 Sat 16:13 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Data for Tests</title>
|
||||
@ -233,27 +233,27 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#org2a2ed68">1. CHBrClF</a>
|
||||
<li><a href="#orgc6ba31c">1. CHBrClF</a>
|
||||
<ul>
|
||||
<li><a href="#orgc1faeb1">1.1. XYZ coordinates</a></li>
|
||||
<li><a href="#org206c6a5">1.2. Atomic basis set</a></li>
|
||||
<li><a href="#org25364b7">1.3. <span class="todo TODO">TODO</span> Molecular orbitals</a></li>
|
||||
<li><a href="#org674d0ef">1.4. Electron coordinates</a></li>
|
||||
<li><a href="#org973e0dd">1.1. XYZ coordinates</a></li>
|
||||
<li><a href="#org2eefc5f">1.2. Atomic basis set</a></li>
|
||||
<li><a href="#org23dbd72">1.3. <span class="todo TODO">TODO</span> Molecular orbitals</a></li>
|
||||
<li><a href="#org433fe0e">1.4. Electron coordinates</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org42f7138">2. N2</a>
|
||||
<li><a href="#orgec44076">2. N2</a>
|
||||
<ul>
|
||||
<li><a href="#orga01494f">2.1. XYZ coordinates</a></li>
|
||||
<li><a href="#orge00dd49">2.2. Electron coordinates</a></li>
|
||||
<li><a href="#org37ebfb4">2.3. Jastrow related data</a></li>
|
||||
<li><a href="#org0f106b9">2.1. XYZ coordinates</a></li>
|
||||
<li><a href="#org6a17569">2.2. Electron coordinates</a></li>
|
||||
<li><a href="#org1cc011a">2.3. Jastrow related data</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2a2ed68" class="outline-2">
|
||||
<h2 id="org2a2ed68"><span class="section-number-2">1</span> CHBrClF</h2>
|
||||
<div id="outline-container-orgc6ba31c" class="outline-2">
|
||||
<h2 id="orgc6ba31c"><span class="section-number-2">1</span> CHBrClF</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
This test is the all-electron Hartree-Fock wave function of CHClBr,
|
||||
@ -337,8 +337,8 @@ and with a high maximum angular momentum.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgc1faeb1" class="outline-3">
|
||||
<h3 id="orgc1faeb1"><span class="section-number-3">1.1</span> XYZ coordinates</h3>
|
||||
<div id="outline-container-org973e0dd" class="outline-3">
|
||||
<h3 id="org973e0dd"><span class="section-number-3">1.1</span> XYZ coordinates</h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<pre class="example">
|
||||
5
|
||||
@ -368,8 +368,8 @@ Nuclear coordinates are stored in atomic units in transposed format.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org206c6a5" class="outline-3">
|
||||
<h3 id="org206c6a5"><span class="section-number-3">1.2</span> Atomic basis set</h3>
|
||||
<div id="outline-container-org2eefc5f" class="outline-3">
|
||||
<h3 id="org2eefc5f"><span class="section-number-3">1.2</span> Atomic basis set</h3>
|
||||
<div class="outline-text-3" id="text-1-2">
|
||||
<pre class="example">
|
||||
HYDROGEN
|
||||
@ -1214,11 +1214,11 @@ F 1
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org25364b7" class="outline-3">
|
||||
<h3 id="org25364b7"><span class="section-number-3">1.3</span> <span class="todo TODO">TODO</span> Molecular orbitals</h3>
|
||||
<div id="outline-container-org23dbd72" class="outline-3">
|
||||
<h3 id="org23dbd72"><span class="section-number-3">1.3</span> <span class="todo TODO">TODO</span> Molecular orbitals</h3>
|
||||
</div>
|
||||
<div id="outline-container-org674d0ef" class="outline-3">
|
||||
<h3 id="org674d0ef"><span class="section-number-3">1.4</span> Electron coordinates</h3>
|
||||
<div id="outline-container-org433fe0e" class="outline-3">
|
||||
<h3 id="org433fe0e"><span class="section-number-3">1.4</span> Electron coordinates</h3>
|
||||
<div class="outline-text-3" id="text-1-4">
|
||||
<p>
|
||||
Electron coordinates are stored in atomic units in normal format.
|
||||
@ -1378,8 +1378,8 @@ Electron coordinates are stored in atomic units in normal format.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org42f7138" class="outline-2">
|
||||
<h2 id="org42f7138"><span class="section-number-2">2</span> N2</h2>
|
||||
<div id="outline-container-orgec44076" class="outline-2">
|
||||
<h2 id="orgec44076"><span class="section-number-2">2</span> N2</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
<p>
|
||||
This test is mainly for the Jastrow factor and was supplied by
|
||||
@ -1420,8 +1420,8 @@ treated by pseudopotentials thus excluded from the actual calculation.
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga01494f" class="outline-3">
|
||||
<h3 id="orga01494f"><span class="section-number-3">2.1</span> XYZ coordinates</h3>
|
||||
<div id="outline-container-org0f106b9" class="outline-3">
|
||||
<h3 id="org0f106b9"><span class="section-number-3">2.1</span> XYZ coordinates</h3>
|
||||
<div class="outline-text-3" id="text-2-1">
|
||||
<pre class="example">
|
||||
2
|
||||
@ -1448,8 +1448,8 @@ Nuclear coordinates are stored in atomic units in transposed format.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge00dd49" class="outline-3">
|
||||
<h3 id="orge00dd49"><span class="section-number-3">2.2</span> Electron coordinates</h3>
|
||||
<div id="outline-container-org6a17569" class="outline-3">
|
||||
<h3 id="org6a17569"><span class="section-number-3">2.2</span> Electron coordinates</h3>
|
||||
<div class="outline-text-3" id="text-2-2">
|
||||
<p>
|
||||
Electron coordinates are stored in atomic units in normal format.
|
||||
@ -1478,8 +1478,8 @@ Electron coordinates are stored in atomic units in normal format.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org37ebfb4" class="outline-3">
|
||||
<h3 id="org37ebfb4"><span class="section-number-3">2.3</span> Jastrow related data</h3>
|
||||
<div id="outline-container-org1cc011a" class="outline-3">
|
||||
<h3 id="org1cc011a"><span class="section-number-3">2.3</span> Jastrow related data</h3>
|
||||
<div class="outline-text-3" id="text-2-3">
|
||||
<p>
|
||||
This test is mainly for the Jastrow factor and was supplied by
|
||||
@ -1578,7 +1578,7 @@ Ramon Panades Baruetta.
|
||||
</div>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="date">Created: 2021-09-14 Tue 10:20</p>
|
||||
<p class="date">Created: 2021-09-18 Sat 16:13</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-14 Tue 10:20 -->
|
||||
<!-- 2021-09-18 Sat 16:13 -->
|
||||
<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="#orgf863658">1. Matrix operations</a>
|
||||
<li><a href="#orgbcaeca3">1. Matrix operations</a>
|
||||
<ul>
|
||||
<li><a href="#org7cb7575">1.1. <code>qmckl_transpose</code></a>
|
||||
<li><a href="#orga0ab958">1.1. <code>qmckl_transpose</code></a>
|
||||
<ul>
|
||||
<li><a href="#org0b5598d">1.1.1. Requirements</a></li>
|
||||
<li><a href="#org46c82a0">1.1.2. C header</a></li>
|
||||
<li><a href="#org7e8932d">1.1.3. Source</a></li>
|
||||
<li><a href="#org9498fd8">1.1.1. Requirements</a></li>
|
||||
<li><a href="#org59fffa8">1.1.2. C header</a></li>
|
||||
<li><a href="#org51b32dc">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-orgf863658" class="outline-2">
|
||||
<h2 id="orgf863658"><span class="section-number-2">1</span> Matrix operations</h2>
|
||||
<div id="outline-container-orgbcaeca3" class="outline-2">
|
||||
<h2 id="orgbcaeca3"><span class="section-number-2">1</span> Matrix operations</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
</div>
|
||||
<div id="outline-container-org7cb7575" class="outline-3">
|
||||
<h3 id="org7cb7575"><span class="section-number-3">1.1</span> <code>qmckl_transpose</code></h3>
|
||||
<div id="outline-container-orga0ab958" class="outline-3">
|
||||
<h3 id="orga0ab958"><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="org4cff1c1" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgc2dc644" 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-org0b5598d" class="outline-4">
|
||||
<h4 id="org0b5598d"><span class="section-number-4">1.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org9498fd8" class="outline-4">
|
||||
<h4 id="org9498fd8"><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-org46c82a0" class="outline-4">
|
||||
<h4 id="org46c82a0"><span class="section-number-4">1.1.2</span> C header</h4>
|
||||
<div id="outline-container-org59fffa8" class="outline-4">
|
||||
<h4 id="org59fffa8"><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-org7e8932d" class="outline-4">
|
||||
<h4 id="org7e8932d"><span class="section-number-4">1.1.3</span> Source</h4>
|
||||
<div id="outline-container-org51b32dc" class="outline-4">
|
||||
<h4 id="org51b32dc"><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-14 Tue 10:20</p>
|
||||
<p class="date">Created: 2021-09-18 Sat 16:13</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