mirror of
https://github.com/TREX-CoE/qmckl.git
synced 2025-04-28 19:34:46 +02:00
Deploying to gh-pages from @ TREX-CoE/qmckl@73c8400f0b 🚀
This commit is contained in:
parent
5f2e4d6677
commit
a1dce4caa7
@ -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-28 Tue 22:27 -->
|
||||
<!-- 2021-10-06 Wed 07:31 -->
|
||||
<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>
|
||||
@ -319,10 +319,12 @@ for the JavaScript code in this tag.
|
||||
<li><a href="./qmckl_nucleus.html">Nucleus</a></li>
|
||||
<li><a href="./qmckl_electron.html">Electrons</a></li>
|
||||
<li><a href="./qmckl_ao.html">Atomic Orbitals</a></li>
|
||||
<li><a href="./qmckl_mo.html">Molecular Orbitals</a></li>
|
||||
<li><a href="./qmckl_jastrow.html">Jastrow Factor</a></li>
|
||||
<li><a href="./qmckl_sherman_morrison_woodbury.html">Sherman-Morrison-Woodbury</a></li>
|
||||
<li><a href="./qmckl_distance.html">Inter-particle distances</a></li>
|
||||
<li><a href="./qmckl_utils.html">Utility functions</a></li>
|
||||
<li><a href="./qmckl_blas.html">BLAS functions</a></li>
|
||||
<li><a href="./qmckl_tests.html">Data for Tests</a></li>
|
||||
</ul>
|
||||
|
||||
@ -354,7 +356,7 @@ and bug reports should be submitted at
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-09-28 Tue 22:27</p>
|
||||
<p class="date">Created: 2021-10-06 Wed 07:31</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-28 Tue 22:27 -->
|
||||
<!-- 2021-10-06 Wed 07:31 -->
|
||||
<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="#orgbe9b493">1. Using QMCkl</a></li>
|
||||
<li><a href="#org2ced314">2. Developing in QMCkl</a>
|
||||
<li><a href="#orgaf0ed36">1. Using QMCkl</a></li>
|
||||
<li><a href="#orgfb50487">2. Developing in QMCkl</a>
|
||||
<ul>
|
||||
<li><a href="#orgb241e42">2.1. Literate programming</a></li>
|
||||
<li><a href="#org83ae432">2.2. Source code editing</a></li>
|
||||
<li><a href="#orgd148e34">2.3. Choice of the programming language</a></li>
|
||||
<li><a href="#org0f4f7db">2.4. Coding rules</a></li>
|
||||
<li><a href="#org88c116b">2.5. Design of the library</a></li>
|
||||
<li><a href="#org9c1fe98">2.6. Naming conventions</a></li>
|
||||
<li><a href="#orgdb8049c">2.7. Application programming interface</a></li>
|
||||
<li><a href="#org2f3a18a">2.8. Global state</a></li>
|
||||
<li><a href="#org63cb511">2.9. Headers</a></li>
|
||||
<li><a href="#org00ac549">2.10. Low-level functions</a></li>
|
||||
<li><a href="#org000d0d4">2.11. High-level functions</a></li>
|
||||
<li><a href="#orgb51c93d">2.12. Numerical precision</a></li>
|
||||
<li><a href="#org05a11e4">2.13. Algorithms</a></li>
|
||||
<li><a href="#org2cb5e88">2.1. Literate programming</a></li>
|
||||
<li><a href="#org72c26b4">2.2. Source code editing</a></li>
|
||||
<li><a href="#orgef0e68d">2.3. Choice of the programming language</a></li>
|
||||
<li><a href="#org7f03038">2.4. Coding rules</a></li>
|
||||
<li><a href="#org74afbff">2.5. Design of the library</a></li>
|
||||
<li><a href="#orgba60699">2.6. Naming conventions</a></li>
|
||||
<li><a href="#org627c2dd">2.7. Application programming interface</a></li>
|
||||
<li><a href="#orgf6148bf">2.8. Global state</a></li>
|
||||
<li><a href="#org94ea1c6">2.9. Headers</a></li>
|
||||
<li><a href="#orgcbfafdc">2.10. Low-level functions</a></li>
|
||||
<li><a href="#org720aef7">2.11. High-level functions</a></li>
|
||||
<li><a href="#org64e76b8">2.12. Numerical precision</a></li>
|
||||
<li><a href="#orgf3d9078">2.13. Algorithms</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgbe9b493" class="outline-2">
|
||||
<h2 id="orgbe9b493"><span class="section-number-2">1</span> Using QMCkl</h2>
|
||||
<div id="outline-container-orgaf0ed36" class="outline-2">
|
||||
<h2 id="orgaf0ed36"><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-org2ced314" class="outline-2">
|
||||
<h2 id="org2ced314"><span class="section-number-2">2</span> Developing in QMCkl</h2>
|
||||
<div id="outline-container-orgfb50487" class="outline-2">
|
||||
<h2 id="orgfb50487"><span class="section-number-2">2</span> Developing in QMCkl</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-orgb241e42" class="outline-3">
|
||||
<h3 id="orgb241e42"><span class="section-number-3">2.1</span> Literate programming</h3>
|
||||
<div id="outline-container-org2cb5e88" class="outline-3">
|
||||
<h3 id="org2cb5e88"><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-org83ae432" class="outline-3">
|
||||
<h3 id="org83ae432"><span class="section-number-3">2.2</span> Source code editing</h3>
|
||||
<div id="outline-container-org72c26b4" class="outline-3">
|
||||
<h3 id="org72c26b4"><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-orgd148e34" class="outline-3">
|
||||
<h3 id="orgd148e34"><span class="section-number-3">2.3</span> Choice of the programming language</h3>
|
||||
<div id="outline-container-orgef0e68d" class="outline-3">
|
||||
<h3 id="orgef0e68d"><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-org0f4f7db" class="outline-3">
|
||||
<h3 id="org0f4f7db"><span class="section-number-3">2.4</span> Coding rules</h3>
|
||||
<div id="outline-container-org7f03038" class="outline-3">
|
||||
<h3 id="org7f03038"><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-org88c116b" class="outline-3">
|
||||
<h3 id="org88c116b"><span class="section-number-3">2.5</span> Design of the library</h3>
|
||||
<div id="outline-container-org74afbff" class="outline-3">
|
||||
<h3 id="org74afbff"><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-org9c1fe98" class="outline-3">
|
||||
<h3 id="org9c1fe98"><span class="section-number-3">2.6</span> Naming conventions</h3>
|
||||
<div id="outline-container-orgba60699" class="outline-3">
|
||||
<h3 id="orgba60699"><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-orgdb8049c" class="outline-3">
|
||||
<h3 id="orgdb8049c"><span class="section-number-3">2.7</span> Application programming interface</h3>
|
||||
<div id="outline-container-org627c2dd" class="outline-3">
|
||||
<h3 id="org627c2dd"><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-org2f3a18a" class="outline-3">
|
||||
<h3 id="org2f3a18a"><span class="section-number-3">2.8</span> Global state</h3>
|
||||
<div id="outline-container-orgf6148bf" class="outline-3">
|
||||
<h3 id="orgf6148bf"><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="org6fa794a">=context=</a> contains the global
|
||||
<code>qmckl_context_create</code> function. The <a id="orgb0592f1">=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-org63cb511" class="outline-3">
|
||||
<h3 id="org63cb511"><span class="section-number-3">2.9</span> Headers</h3>
|
||||
<div id="outline-container-org94ea1c6" class="outline-3">
|
||||
<h3 id="org94ea1c6"><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-org00ac549" class="outline-3">
|
||||
<h3 id="org00ac549"><span class="section-number-3">2.10</span> Low-level functions</h3>
|
||||
<div id="outline-container-orgcbfafdc" class="outline-3">
|
||||
<h3 id="orgcbfafdc"><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="#org6fa794a"><code>context</code></a>. They are not allowed to allocate/deallocate memory, and
|
||||
<a href="#orgb0592f1"><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-org000d0d4" class="outline-3">
|
||||
<h3 id="org000d0d4"><span class="section-number-3">2.11</span> High-level functions</h3>
|
||||
<div id="outline-container-org720aef7" class="outline-3">
|
||||
<h3 id="org720aef7"><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="#org6fa794a"><code>context</code></a> variable.
|
||||
the <a href="#orgb0592f1"><code>context</code></a> variable.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb51c93d" class="outline-3">
|
||||
<h3 id="orgb51c93d"><span class="section-number-3">2.12</span> Numerical precision</h3>
|
||||
<div id="outline-container-org64e76b8" class="outline-3">
|
||||
<h3 id="org64e76b8"><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="#org6fa794a"><code>context</code></a>
|
||||
functions will use the precision specified in the <a href="#orgb0592f1"><code>context</code></a>
|
||||
variable.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org05a11e4" class="outline-3">
|
||||
<h3 id="org05a11e4"><span class="section-number-3">2.13</span> Algorithms</h3>
|
||||
<div id="outline-container-orgf3d9078" class="outline-3">
|
||||
<h3 id="orgf3d9078"><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-28 Tue 22:27</p>
|
||||
<p class="date">Created: 2021-10-06 Wed 07:31</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
264
qmckl_ao.html
264
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-28 Tue 22:27 -->
|
||||
<!-- 2021-10-06 Wed 07:31 -->
|
||||
<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="#orgd4c3ad5">1. Context</a>
|
||||
<li><a href="#org751d4ad">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#orga49cbf3">1.1. Data structure</a></li>
|
||||
<li><a href="#orgd5c92c7">1.2. Access functions</a></li>
|
||||
<li><a href="#org7222590">1.3. Initialization functions</a></li>
|
||||
<li><a href="#orgfc32f6d">1.4. Fortran interfaces</a></li>
|
||||
<li><a href="#org6807785">1.1. Data structure</a></li>
|
||||
<li><a href="#orga2c65dc">1.2. Access functions</a></li>
|
||||
<li><a href="#orge18bdfb">1.3. Initialization functions</a></li>
|
||||
<li><a href="#orgdc9b21b">1.4. Fortran interfaces</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org38a73ac">2. Radial part</a>
|
||||
<li><a href="#orgc934906">2. Radial part</a>
|
||||
<ul>
|
||||
<li><a href="#org6ee45d2">2.1. <span class="todo TODO">TODO</span> Helper functions to accelerate calculations</a></li>
|
||||
<li><a href="#orgfc19bb6">2.2. General functions for Gaussian basis functions</a></li>
|
||||
<li><a href="#org6d2f6c3">2.3. <span class="todo TODO">TODO</span> General functions for Slater basis functions</a></li>
|
||||
<li><a href="#orgb57b072">2.4. <span class="todo TODO">TODO</span> General functions for Radial functions on a grid</a></li>
|
||||
<li><a href="#org5e4273d">2.5. Computation of primitives</a>
|
||||
<li><a href="#orgfc94332">2.1. <span class="todo TODO">TODO</span> Helper functions to accelerate calculations</a></li>
|
||||
<li><a href="#org7325081">2.2. General functions for Gaussian basis functions</a></li>
|
||||
<li><a href="#org243de74">2.3. <span class="todo TODO">TODO</span> General functions for Slater basis functions</a></li>
|
||||
<li><a href="#org022e15d">2.4. <span class="todo TODO">TODO</span> General functions for Radial functions on a grid</a></li>
|
||||
<li><a href="#orgbce9d26">2.5. Computation of primitives</a>
|
||||
<ul>
|
||||
<li><a href="#org5ca54f7">2.5.1. Get</a></li>
|
||||
<li><a href="#org7cf3fc8">2.5.2. Provide</a></li>
|
||||
<li><a href="#orgadd94bb">2.5.3. Compute</a></li>
|
||||
<li><a href="#org24af591">2.5.4. Test</a></li>
|
||||
<li><a href="#org4cdbdaf">2.5.5. Ideas for improvement</a></li>
|
||||
<li><a href="#orgac681b2">2.5.1. Get</a></li>
|
||||
<li><a href="#orga7c589a">2.5.2. Provide</a></li>
|
||||
<li><a href="#orgfd57859">2.5.3. Compute</a></li>
|
||||
<li><a href="#orgbe849a4">2.5.4. Test</a></li>
|
||||
<li><a href="#orgb4fac5b">2.5.5. Ideas for improvement</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org6183b6e">2.6. Computation of shells</a>
|
||||
<li><a href="#org14d3a52">2.6. Computation of shells</a>
|
||||
<ul>
|
||||
<li><a href="#org840a11c">2.6.1. Get</a></li>
|
||||
<li><a href="#org59af3eb">2.6.2. Provide</a></li>
|
||||
<li><a href="#org0a5a182">2.6.3. Compute</a></li>
|
||||
<li><a href="#org0d9dff7">2.6.4. Test</a></li>
|
||||
<li><a href="#orgf45a644">2.6.1. Get</a></li>
|
||||
<li><a href="#org5682919">2.6.2. Provide</a></li>
|
||||
<li><a href="#org3188601">2.6.3. Compute</a></li>
|
||||
<li><a href="#org8f61e6b">2.6.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgf5115c1">3. Polynomial part</a>
|
||||
<li><a href="#orgd6176ce">3. Polynomial part</a>
|
||||
<ul>
|
||||
<li><a href="#orgf41c868">3.1. General functions for Powers of \(x-X_i\)</a>
|
||||
<li><a href="#org6d896ec">3.1. General functions for Powers of \(x-X_i\)</a>
|
||||
<ul>
|
||||
<li><a href="#orgf956c84">3.1.1. Requirements</a></li>
|
||||
<li><a href="#orgc7ef7d0">3.1.2. C Header</a></li>
|
||||
<li><a href="#orga78b178">3.1.3. Source</a></li>
|
||||
<li><a href="#org5be88fb">3.1.4. C interface</a></li>
|
||||
<li><a href="#orga6cf994">3.1.5. Fortran interface</a></li>
|
||||
<li><a href="#org2cb1fcc">3.1.6. Test</a></li>
|
||||
<li><a href="#org750f77c">3.1.1. Requirements</a></li>
|
||||
<li><a href="#org4224420">3.1.2. C Header</a></li>
|
||||
<li><a href="#org9d6a13d">3.1.3. Source</a></li>
|
||||
<li><a href="#org25ea226">3.1.4. C interface</a></li>
|
||||
<li><a href="#orgf289686">3.1.5. Fortran interface</a></li>
|
||||
<li><a href="#orgfc2aa05">3.1.6. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgade0e0a">3.2. General functions for Value, Gradient and Laplacian of a polynomial</a>
|
||||
<li><a href="#org27fd624">3.2. General functions for Value, Gradient and Laplacian of a polynomial</a>
|
||||
<ul>
|
||||
<li><a href="#orgc5e6d66">3.2.1. Requirements</a></li>
|
||||
<li><a href="#org3ee6361">3.2.2. C Header</a></li>
|
||||
<li><a href="#orgd43ac2b">3.2.3. Source</a></li>
|
||||
<li><a href="#orgd7c8e18">3.2.4. C interface</a></li>
|
||||
<li><a href="#orgb17a6bb">3.2.5. Fortran interface</a></li>
|
||||
<li><a href="#orgf6ea84a">3.2.6. Test</a></li>
|
||||
<li><a href="#orgde8958f">3.2.1. Requirements</a></li>
|
||||
<li><a href="#org6e9f987">3.2.2. C Header</a></li>
|
||||
<li><a href="#org79fd45a">3.2.3. Source</a></li>
|
||||
<li><a href="#orga56d5a5">3.2.4. C interface</a></li>
|
||||
<li><a href="#orgee0e3b1">3.2.5. Fortran interface</a></li>
|
||||
<li><a href="#org44891f4">3.2.6. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgbe0b2a1">4. Combining radial and polynomial parts</a>
|
||||
<li><a href="#org21dfdbc">4. Combining radial and polynomial parts</a>
|
||||
<ul>
|
||||
<li>
|
||||
<ul>
|
||||
<li><a href="#orgb68e031">4.0.1. Get</a></li>
|
||||
<li><a href="#org213b2f8">4.0.2. Provide</a></li>
|
||||
<li><a href="#orgd459576">4.0.3. Compute</a></li>
|
||||
<li><a href="#orgb1bf065">4.0.4. Test</a></li>
|
||||
<li><a href="#org39b8d2f">4.0.1. Get</a></li>
|
||||
<li><a href="#org6530d25">4.0.2. Provide</a></li>
|
||||
<li><a href="#org75977ef">4.0.3. Compute</a></li>
|
||||
<li><a href="#orgf84934d">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-orgd4c3ad5" class="outline-2">
|
||||
<h2 id="orgd4c3ad5"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-org751d4ad" class="outline-2">
|
||||
<h2 id="org751d4ad"><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:
|
||||
@ -629,7 +629,7 @@ Computed data:
|
||||
For H<sub>2</sub> with the following basis set,
|
||||
</p>
|
||||
|
||||
<pre class="example">
|
||||
<pre class="example" id="basis">
|
||||
HYDROGEN
|
||||
S 5
|
||||
1 3.387000E+01 6.068000E-03
|
||||
@ -653,7 +653,7 @@ D 1
|
||||
we have:
|
||||
</p>
|
||||
|
||||
<pre class="example">
|
||||
<pre class="example" id="params">
|
||||
type = 'G'
|
||||
shell_num = 12
|
||||
prim_num = 20
|
||||
@ -679,8 +679,8 @@ prim_factor = [ 1.0006253235944540e+01, 2.4169531573445120e+00, 7.96109248497664
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga49cbf3" class="outline-3">
|
||||
<h3 id="orga49cbf3"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-org6807785" class="outline-3">
|
||||
<h3 id="org6807785"><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-orgd5c92c7" class="outline-3">
|
||||
<h3 id="orgd5c92c7"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div id="outline-container-orga2c65dc" class="outline-3">
|
||||
<h3 id="orga2c65dc"><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-org7222590" class="outline-3">
|
||||
<h3 id="org7222590"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-orge18bdfb" class="outline-3">
|
||||
<h3 id="orge18bdfb"><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-orgfc32f6d" class="outline-3">
|
||||
<h3 id="orgfc32f6d"><span class="section-number-3">1.4</span> Fortran interfaces</h3>
|
||||
<div id="outline-container-orgdc9b21b" class="outline-3">
|
||||
<h3 id="orgdc9b21b"><span class="section-number-3">1.4</span> Fortran interfaces</h3>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org38a73ac" class="outline-2">
|
||||
<h2 id="org38a73ac"><span class="section-number-2">2</span> Radial part</h2>
|
||||
<div id="outline-container-orgc934906" class="outline-2">
|
||||
<h2 id="orgc934906"><span class="section-number-2">2</span> Radial part</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-org6ee45d2" class="outline-3">
|
||||
<h3 id="org6ee45d2"><span class="section-number-3">2.1</span> <span class="todo TODO">TODO</span> Helper functions to accelerate calculations</h3>
|
||||
<div id="outline-container-orgfc94332" class="outline-3">
|
||||
<h3 id="orgfc94332"><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-orgfc19bb6" class="outline-3">
|
||||
<h3 id="orgfc19bb6"><span class="section-number-3">2.2</span> General functions for Gaussian basis functions</h3>
|
||||
<div id="outline-container-org7325081" class="outline-3">
|
||||
<h3 id="org7325081"><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-org6d2f6c3" class="outline-3">
|
||||
<h3 id="org6d2f6c3"><span class="section-number-3">2.3</span> <span class="todo TODO">TODO</span> General functions for Slater basis functions</h3>
|
||||
<div id="outline-container-org243de74" class="outline-3">
|
||||
<h3 id="org243de74"><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-orgb57b072" class="outline-3">
|
||||
<h3 id="orgb57b072"><span class="section-number-3">2.4</span> <span class="todo TODO">TODO</span> General functions for Radial functions on a grid</h3>
|
||||
<div id="outline-container-org022e15d" class="outline-3">
|
||||
<h3 id="org022e15d"><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-org5e4273d" class="outline-3">
|
||||
<h3 id="org5e4273d"><span class="section-number-3">2.5</span> Computation of primitives</h3>
|
||||
<div id="outline-container-orgbce9d26" class="outline-3">
|
||||
<h3 id="orgbce9d26"><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-org5ca54f7" class="outline-4">
|
||||
<h4 id="org5ca54f7"><span class="section-number-4">2.5.1</span> Get</h4>
|
||||
<div id="outline-container-orgac681b2" class="outline-4">
|
||||
<h4 id="orgac681b2"><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-org7cf3fc8" class="outline-4">
|
||||
<h4 id="org7cf3fc8"><span class="section-number-4">2.5.2</span> Provide</h4>
|
||||
<div id="outline-container-orga7c589a" class="outline-4">
|
||||
<h4 id="orga7c589a"><span class="section-number-4">2.5.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgadd94bb" class="outline-4">
|
||||
<h4 id="orgadd94bb"><span class="section-number-4">2.5.3</span> Compute</h4>
|
||||
<div id="outline-container-orgfd57859" class="outline-4">
|
||||
<h4 id="orgfd57859"><span class="section-number-4">2.5.3</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-5-3">
|
||||
<table id="org6465ac7" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgc5168bc" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1213,12 +1213,12 @@ Requirements
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org24af591" class="outline-4">
|
||||
<h4 id="org24af591"><span class="section-number-4">2.5.4</span> Test</h4>
|
||||
<div id="outline-container-orgbe849a4" class="outline-4">
|
||||
<h4 id="orgbe849a4"><span class="section-number-4">2.5.4</span> Test</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4cdbdaf" class="outline-4">
|
||||
<h4 id="org4cdbdaf"><span class="section-number-4">2.5.5</span> Ideas for improvement</h4>
|
||||
<div id="outline-container-orgb4fac5b" class="outline-4">
|
||||
<h4 id="orgb4fac5b"><span class="section-number-4">2.5.5</span> Ideas for improvement</h4>
|
||||
<div class="outline-text-4" id="text-2-5-5">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">// <span style="color: #b22222;">j : electrons</span>
|
||||
@ -1252,12 +1252,12 @@ k=0;
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6183b6e" class="outline-3">
|
||||
<h3 id="org6183b6e"><span class="section-number-3">2.6</span> Computation of shells</h3>
|
||||
<div id="outline-container-org14d3a52" class="outline-3">
|
||||
<h3 id="org14d3a52"><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-org840a11c" class="outline-4">
|
||||
<h4 id="org840a11c"><span class="section-number-4">2.6.1</span> Get</h4>
|
||||
<div id="outline-container-orgf45a644" class="outline-4">
|
||||
<h4 id="orgf45a644"><span class="section-number-4">2.6.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-6-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_ao_basis_shell_vgl</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">shell_vgl</span>);
|
||||
@ -1266,14 +1266,14 @@ k=0;
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org59af3eb" class="outline-4">
|
||||
<h4 id="org59af3eb"><span class="section-number-4">2.6.2</span> Provide</h4>
|
||||
<div id="outline-container-org5682919" class="outline-4">
|
||||
<h4 id="org5682919"><span class="section-number-4">2.6.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0a5a182" class="outline-4">
|
||||
<h4 id="org0a5a182"><span class="section-number-4">2.6.3</span> Compute</h4>
|
||||
<div id="outline-container-org3188601" class="outline-4">
|
||||
<h4 id="org3188601"><span class="section-number-4">2.6.3</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-6-3">
|
||||
<table id="org7297f63" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgf77c9ec" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1494,14 +1494,14 @@ k=0;
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0d9dff7" class="outline-4">
|
||||
<h4 id="org0d9dff7"><span class="section-number-4">2.6.4</span> Test</h4>
|
||||
<div id="outline-container-org8f61e6b" class="outline-4">
|
||||
<h4 id="org8f61e6b"><span class="section-number-4">2.6.4</span> Test</h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf5115c1" class="outline-2">
|
||||
<h2 id="orgf5115c1"><span class="section-number-2">3</span> Polynomial part</h2>
|
||||
<div id="outline-container-orgd6176ce" class="outline-2">
|
||||
<h2 id="orgd6176ce"><span class="section-number-2">3</span> Polynomial part</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
<p>
|
||||
Going from the atomic basis set to AOs implies a systematic
|
||||
@ -1521,8 +1521,8 @@ f & : & f_{xxx}, f_{xxy}, f_{xxz}, f_{xyy}, f_{xyz}, f_{xzz}, f_{yyy}, f_{yyz},
|
||||
\end{eqnarray}
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf41c868" class="outline-3">
|
||||
<h3 id="orgf41c868"><span class="section-number-3">3.1</span> General functions for Powers of \(x-X_i\)</h3>
|
||||
<div id="outline-container-org6d896ec" class="outline-3">
|
||||
<h3 id="org6d896ec"><span class="section-number-3">3.1</span> General functions for Powers of \(x-X_i\)</h3>
|
||||
<div class="outline-text-3" id="text-3-1">
|
||||
<p>
|
||||
The <code>qmckl_ao_power</code> function computes all the powers of the <code>n</code>
|
||||
@ -1534,7 +1534,7 @@ the \(n\) points:
|
||||
\[ P_{ik} = X_i^k \]
|
||||
</p>
|
||||
|
||||
<table id="org4e4a614" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orge8b5628" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1592,8 +1592,8 @@ the \(n\) points:
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf956c84" class="outline-4">
|
||||
<h4 id="orgf956c84"><span class="section-number-4">3.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org750f77c" class="outline-4">
|
||||
<h4 id="org750f77c"><span class="section-number-4">3.1.1</span> Requirements</h4>
|
||||
<div class="outline-text-4" id="text-3-1-1">
|
||||
<ul class="org-ul">
|
||||
<li><code>context</code> is not <code>QMCKL_NULL_CONTEXT</code></li>
|
||||
@ -1606,8 +1606,8 @@ the \(n\) points:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc7ef7d0" class="outline-4">
|
||||
<h4 id="orgc7ef7d0"><span class="section-number-4">3.1.2</span> C Header</h4>
|
||||
<div id="outline-container-org4224420" class="outline-4">
|
||||
<h4 id="org4224420"><span class="section-number-4">3.1.2</span> C Header</h4>
|
||||
<div class="outline-text-4" id="text-3-1-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_ao_power</span> (
|
||||
@ -1622,8 +1622,8 @@ the \(n\) points:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga78b178" class="outline-4">
|
||||
<h4 id="orga78b178"><span class="section-number-4">3.1.3</span> Source</h4>
|
||||
<div id="outline-container-org9d6a13d" class="outline-4">
|
||||
<h4 id="org9d6a13d"><span class="section-number-4">3.1.3</span> Source</h4>
|
||||
<div class="outline-text-4" id="text-3-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #228b22;">integer </span><span style="color: #a020f0;">function</span><span style="color: #a0522d;"> </span><span style="color: #0000ff;">qmckl_ao_power_f</span><span style="color: #000000; background-color: #ffffff;">(context, n, X, LMAX, P, ldp) result(info)</span>
|
||||
@ -1674,15 +1674,15 @@ the \(n\) points:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5be88fb" class="outline-4">
|
||||
<h4 id="org5be88fb"><span class="section-number-4">3.1.4</span> C interface</h4>
|
||||
<div id="outline-container-org25ea226" class="outline-4">
|
||||
<h4 id="org25ea226"><span class="section-number-4">3.1.4</span> C interface</h4>
|
||||
</div>
|
||||
<div id="outline-container-orga6cf994" class="outline-4">
|
||||
<h4 id="orga6cf994"><span class="section-number-4">3.1.5</span> Fortran interface</h4>
|
||||
<div id="outline-container-orgf289686" class="outline-4">
|
||||
<h4 id="orgf289686"><span class="section-number-4">3.1.5</span> Fortran interface</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2cb1fcc" class="outline-4">
|
||||
<h4 id="org2cb1fcc"><span class="section-number-4">3.1.6</span> Test</h4>
|
||||
<div id="outline-container-orgfc2aa05" class="outline-4">
|
||||
<h4 id="orgfc2aa05"><span class="section-number-4">3.1.6</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-3-1-6">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #228b22;">integer</span>(<span style="color: #008b8b;">c_int32_t</span>) <span style="color: #a020f0;">function</span> <span style="color: #0000ff;">test_qmckl_ao_power</span>(context) <span style="color: #a020f0;">bind</span>(C)
|
||||
@ -1733,8 +1733,8 @@ the \(n\) points:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgade0e0a" class="outline-3">
|
||||
<h3 id="orgade0e0a"><span class="section-number-3">3.2</span> General functions for Value, Gradient and Laplacian of a polynomial</h3>
|
||||
<div id="outline-container-org27fd624" class="outline-3">
|
||||
<h3 id="org27fd624"><span class="section-number-3">3.2</span> General functions for Value, Gradient and Laplacian of a polynomial</h3>
|
||||
<div class="outline-text-3" id="text-3-2">
|
||||
<p>
|
||||
A polynomial is centered on a nucleus \(\mathbf{R}_i\)
|
||||
@ -1779,7 +1779,7 @@ Laplacians at a given point in space, of all polynomials with an
|
||||
angular momentum up to <code>lmax</code>.
|
||||
</p>
|
||||
|
||||
<table id="orgcb47317" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgc363470" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1858,8 +1858,8 @@ angular momentum up to <code>lmax</code>.
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc5e6d66" class="outline-4">
|
||||
<h4 id="orgc5e6d66"><span class="section-number-4">3.2.1</span> Requirements</h4>
|
||||
<div id="outline-container-orgde8958f" class="outline-4">
|
||||
<h4 id="orgde8958f"><span class="section-number-4">3.2.1</span> Requirements</h4>
|
||||
<div class="outline-text-4" id="text-3-2-1">
|
||||
<ul class="org-ul">
|
||||
<li><code>context</code> is not <code>QMCKL_NULL_CONTEXT</code></li>
|
||||
@ -1884,8 +1884,8 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3ee6361" class="outline-4">
|
||||
<h4 id="org3ee6361"><span class="section-number-4">3.2.2</span> C Header</h4>
|
||||
<div id="outline-container-org6e9f987" class="outline-4">
|
||||
<h4 id="org6e9f987"><span class="section-number-4">3.2.2</span> C Header</h4>
|
||||
<div class="outline-text-4" id="text-3-2-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_ao_polynomial_vgl</span> (
|
||||
@ -1903,8 +1903,8 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd43ac2b" class="outline-4">
|
||||
<h4 id="orgd43ac2b"><span class="section-number-4">3.2.3</span> Source</h4>
|
||||
<div id="outline-container-org79fd45a" class="outline-4">
|
||||
<h4 id="org79fd45a"><span class="section-number-4">3.2.3</span> Source</h4>
|
||||
<div class="outline-text-4" id="text-3-2-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #228b22;">integer </span><span style="color: #a020f0;">function</span><span style="color: #a0522d;"> </span><span style="color: #0000ff;">qmckl_ao_polynomial_vgl_f</span><span style="color: #000000; background-color: #ffffff;">(context, X, R, lmax, n, L, ldl, VGL, ldv) result(info)</span>
|
||||
@ -2038,16 +2038,16 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd7c8e18" class="outline-4">
|
||||
<h4 id="orgd7c8e18"><span class="section-number-4">3.2.4</span> C interface</h4>
|
||||
<div id="outline-container-orga56d5a5" class="outline-4">
|
||||
<h4 id="orga56d5a5"><span class="section-number-4">3.2.4</span> C interface</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb17a6bb" class="outline-4">
|
||||
<h4 id="orgb17a6bb"><span class="section-number-4">3.2.5</span> Fortran interface</h4>
|
||||
<div id="outline-container-orgee0e3b1" class="outline-4">
|
||||
<h4 id="orgee0e3b1"><span class="section-number-4">3.2.5</span> Fortran interface</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf6ea84a" class="outline-4">
|
||||
<h4 id="orgf6ea84a"><span class="section-number-4">3.2.6</span> Test</h4>
|
||||
<div id="outline-container-org44891f4" class="outline-4">
|
||||
<h4 id="org44891f4"><span class="section-number-4">3.2.6</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-3-2-6">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #228b22;">integer</span>(<span style="color: #008b8b;">c_int32_t</span>) <span style="color: #a020f0;">function</span> <span style="color: #0000ff;">test_qmckl_ao_polynomial_vgl</span>(context) <span style="color: #a020f0;">bind</span>(C)
|
||||
@ -2152,12 +2152,12 @@ assert(0 == test_qmckl_ao_polynomial_vgl(context));
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgbe0b2a1" class="outline-2">
|
||||
<h2 id="orgbe0b2a1"><span class="section-number-2">4</span> Combining radial and polynomial parts</h2>
|
||||
<div id="outline-container-org21dfdbc" class="outline-2">
|
||||
<h2 id="org21dfdbc"><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-orgb68e031" class="outline-4">
|
||||
<h4 id="orgb68e031"><span class="section-number-4">4.0.1</span> Get</h4>
|
||||
<div id="outline-container-org39b8d2f" class="outline-4">
|
||||
<h4 id="org39b8d2f"><span class="section-number-4">4.0.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-4-0-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_ao_vgl</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">ao_vgl</span>);
|
||||
@ -2166,14 +2166,14 @@ assert(0 == test_qmckl_ao_polynomial_vgl(context));
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org213b2f8" class="outline-4">
|
||||
<h4 id="org213b2f8"><span class="section-number-4">4.0.2</span> Provide</h4>
|
||||
<div id="outline-container-org6530d25" class="outline-4">
|
||||
<h4 id="org6530d25"><span class="section-number-4">4.0.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd459576" class="outline-4">
|
||||
<h4 id="orgd459576"><span class="section-number-4">4.0.3</span> Compute</h4>
|
||||
<div id="outline-container-org75977ef" class="outline-4">
|
||||
<h4 id="org75977ef"><span class="section-number-4">4.0.3</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-4-0-3">
|
||||
<table id="org1ef8b65" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org13f7daa" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2438,14 +2438,14 @@ assert(0 == test_qmckl_ao_polynomial_vgl(context));
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb1bf065" class="outline-4">
|
||||
<h4 id="orgb1bf065"><span class="section-number-4">4.0.4</span> Test</h4>
|
||||
<div id="outline-container-orgf84934d" class="outline-4">
|
||||
<h4 id="orgf84934d"><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-28 Tue 22:27</p>
|
||||
<p class="date">Created: 2021-10-06 Wed 07:31</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
624
qmckl_blas.html
Normal file
624
qmckl_blas.html
Normal file
@ -0,0 +1,624 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-10-06 Wed 07:32 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>BLAS functions</title>
|
||||
<meta name="generator" content="Org mode" />
|
||||
<meta name="author" content="TREX CoE" />
|
||||
<style type="text/css">
|
||||
<!--/*--><![CDATA[/*><!--*/
|
||||
.title { text-align: center;
|
||||
margin-bottom: .2em; }
|
||||
.subtitle { text-align: center;
|
||||
font-size: medium;
|
||||
font-weight: bold;
|
||||
margin-top:0; }
|
||||
.todo { font-family: monospace; color: red; }
|
||||
.done { font-family: monospace; color: green; }
|
||||
.priority { font-family: monospace; color: orange; }
|
||||
.tag { background-color: #eee; font-family: monospace;
|
||||
padding: 2px; font-size: 80%; font-weight: normal; }
|
||||
.timestamp { color: #bebebe; }
|
||||
.timestamp-kwd { color: #5f9ea0; }
|
||||
.org-right { margin-left: auto; margin-right: 0px; text-align: right; }
|
||||
.org-left { margin-left: 0px; margin-right: auto; text-align: left; }
|
||||
.org-center { margin-left: auto; margin-right: auto; text-align: center; }
|
||||
.underline { text-decoration: underline; }
|
||||
#postamble p, #preamble p { font-size: 90%; margin: .2em; }
|
||||
p.verse { margin-left: 3%; }
|
||||
pre {
|
||||
border: 1px solid #ccc;
|
||||
box-shadow: 3px 3px 3px #eee;
|
||||
padding: 8pt;
|
||||
font-family: monospace;
|
||||
overflow: auto;
|
||||
margin: 1.2em;
|
||||
}
|
||||
pre.src {
|
||||
position: relative;
|
||||
overflow: visible;
|
||||
padding-top: 1.2em;
|
||||
}
|
||||
pre.src:before {
|
||||
display: none;
|
||||
position: absolute;
|
||||
background-color: white;
|
||||
top: -10px;
|
||||
right: 10px;
|
||||
padding: 3px;
|
||||
border: 1px solid black;
|
||||
}
|
||||
pre.src:hover:before { display: inline;}
|
||||
/* Languages per Org manual */
|
||||
pre.src-asymptote:before { content: 'Asymptote'; }
|
||||
pre.src-awk:before { content: 'Awk'; }
|
||||
pre.src-C:before { content: 'C'; }
|
||||
/* pre.src-C++ doesn't work in CSS */
|
||||
pre.src-clojure:before { content: 'Clojure'; }
|
||||
pre.src-css:before { content: 'CSS'; }
|
||||
pre.src-D:before { content: 'D'; }
|
||||
pre.src-ditaa:before { content: 'ditaa'; }
|
||||
pre.src-dot:before { content: 'Graphviz'; }
|
||||
pre.src-calc:before { content: 'Emacs Calc'; }
|
||||
pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
|
||||
pre.src-fortran:before { content: 'Fortran'; }
|
||||
pre.src-gnuplot:before { content: 'gnuplot'; }
|
||||
pre.src-haskell:before { content: 'Haskell'; }
|
||||
pre.src-hledger:before { content: 'hledger'; }
|
||||
pre.src-java:before { content: 'Java'; }
|
||||
pre.src-js:before { content: 'Javascript'; }
|
||||
pre.src-latex:before { content: 'LaTeX'; }
|
||||
pre.src-ledger:before { content: 'Ledger'; }
|
||||
pre.src-lisp:before { content: 'Lisp'; }
|
||||
pre.src-lilypond:before { content: 'Lilypond'; }
|
||||
pre.src-lua:before { content: 'Lua'; }
|
||||
pre.src-matlab:before { content: 'MATLAB'; }
|
||||
pre.src-mscgen:before { content: 'Mscgen'; }
|
||||
pre.src-ocaml:before { content: 'Objective Caml'; }
|
||||
pre.src-octave:before { content: 'Octave'; }
|
||||
pre.src-org:before { content: 'Org mode'; }
|
||||
pre.src-oz:before { content: 'OZ'; }
|
||||
pre.src-plantuml:before { content: 'Plantuml'; }
|
||||
pre.src-processing:before { content: 'Processing.js'; }
|
||||
pre.src-python:before { content: 'Python'; }
|
||||
pre.src-R:before { content: 'R'; }
|
||||
pre.src-ruby:before { content: 'Ruby'; }
|
||||
pre.src-sass:before { content: 'Sass'; }
|
||||
pre.src-scheme:before { content: 'Scheme'; }
|
||||
pre.src-screen:before { content: 'Gnu Screen'; }
|
||||
pre.src-sed:before { content: 'Sed'; }
|
||||
pre.src-sh:before { content: 'shell'; }
|
||||
pre.src-sql:before { content: 'SQL'; }
|
||||
pre.src-sqlite:before { content: 'SQLite'; }
|
||||
/* additional languages in org.el's org-babel-load-languages alist */
|
||||
pre.src-forth:before { content: 'Forth'; }
|
||||
pre.src-io:before { content: 'IO'; }
|
||||
pre.src-J:before { content: 'J'; }
|
||||
pre.src-makefile:before { content: 'Makefile'; }
|
||||
pre.src-maxima:before { content: 'Maxima'; }
|
||||
pre.src-perl:before { content: 'Perl'; }
|
||||
pre.src-picolisp:before { content: 'Pico Lisp'; }
|
||||
pre.src-scala:before { content: 'Scala'; }
|
||||
pre.src-shell:before { content: 'Shell Script'; }
|
||||
pre.src-ebnf2ps:before { content: 'ebfn2ps'; }
|
||||
/* additional language identifiers per "defun org-babel-execute"
|
||||
in ob-*.el */
|
||||
pre.src-cpp:before { content: 'C++'; }
|
||||
pre.src-abc:before { content: 'ABC'; }
|
||||
pre.src-coq:before { content: 'Coq'; }
|
||||
pre.src-groovy:before { content: 'Groovy'; }
|
||||
/* additional language identifiers from org-babel-shell-names in
|
||||
ob-shell.el: ob-shell is the only babel language using a lambda to put
|
||||
the execution function name together. */
|
||||
pre.src-bash:before { content: 'bash'; }
|
||||
pre.src-csh:before { content: 'csh'; }
|
||||
pre.src-ash:before { content: 'ash'; }
|
||||
pre.src-dash:before { content: 'dash'; }
|
||||
pre.src-ksh:before { content: 'ksh'; }
|
||||
pre.src-mksh:before { content: 'mksh'; }
|
||||
pre.src-posh:before { content: 'posh'; }
|
||||
/* Additional Emacs modes also supported by the LaTeX listings package */
|
||||
pre.src-ada:before { content: 'Ada'; }
|
||||
pre.src-asm:before { content: 'Assembler'; }
|
||||
pre.src-caml:before { content: 'Caml'; }
|
||||
pre.src-delphi:before { content: 'Delphi'; }
|
||||
pre.src-html:before { content: 'HTML'; }
|
||||
pre.src-idl:before { content: 'IDL'; }
|
||||
pre.src-mercury:before { content: 'Mercury'; }
|
||||
pre.src-metapost:before { content: 'MetaPost'; }
|
||||
pre.src-modula-2:before { content: 'Modula-2'; }
|
||||
pre.src-pascal:before { content: 'Pascal'; }
|
||||
pre.src-ps:before { content: 'PostScript'; }
|
||||
pre.src-prolog:before { content: 'Prolog'; }
|
||||
pre.src-simula:before { content: 'Simula'; }
|
||||
pre.src-tcl:before { content: 'tcl'; }
|
||||
pre.src-tex:before { content: 'TeX'; }
|
||||
pre.src-plain-tex:before { content: 'Plain TeX'; }
|
||||
pre.src-verilog:before { content: 'Verilog'; }
|
||||
pre.src-vhdl:before { content: 'VHDL'; }
|
||||
pre.src-xml:before { content: 'XML'; }
|
||||
pre.src-nxml:before { content: 'XML'; }
|
||||
/* add a generic configuration mode; LaTeX export needs an additional
|
||||
(add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */
|
||||
pre.src-conf:before { content: 'Configuration File'; }
|
||||
|
||||
table { border-collapse:collapse; }
|
||||
caption.t-above { caption-side: top; }
|
||||
caption.t-bottom { caption-side: bottom; }
|
||||
td, th { vertical-align:top; }
|
||||
th.org-right { text-align: center; }
|
||||
th.org-left { text-align: center; }
|
||||
th.org-center { text-align: center; }
|
||||
td.org-right { text-align: right; }
|
||||
td.org-left { text-align: left; }
|
||||
td.org-center { text-align: center; }
|
||||
dt { font-weight: bold; }
|
||||
.footpara { display: inline; }
|
||||
.footdef { margin-bottom: 1em; }
|
||||
.figure { padding: 1em; }
|
||||
.figure p { text-align: center; }
|
||||
.inlinetask {
|
||||
padding: 10px;
|
||||
border: 2px solid gray;
|
||||
margin: 10px;
|
||||
background: #ffffcc;
|
||||
}
|
||||
#org-div-home-and-up
|
||||
{ text-align: right; font-size: 70%; white-space: nowrap; }
|
||||
textarea { overflow-x: auto; }
|
||||
.linenr { font-size: smaller }
|
||||
.code-highlighted { background-color: #ffff00; }
|
||||
.org-info-js_info-navigation { border-style: none; }
|
||||
#org-info-js_console-label
|
||||
{ font-size: 10px; font-weight: bold; white-space: nowrap; }
|
||||
.org-info-js_search-highlight
|
||||
{ background-color: #ffff00; color: #000000; font-weight: bold; }
|
||||
.org-svg { width: 90%; }
|
||||
/*]]>*/-->
|
||||
</style>
|
||||
<link rel="stylesheet" title="Standard" href="qmckl.css" type="text/css" />
|
||||
|
||||
<script type="text/javascript" src="org-info.js">
|
||||
/**
|
||||
*
|
||||
* @source: org-info.js
|
||||
*
|
||||
* @licstart The following is the entire license notice for the
|
||||
* JavaScript code in org-info.js.
|
||||
*
|
||||
* Copyright (C) 2012-2019 Free Software Foundation, Inc.
|
||||
*
|
||||
*
|
||||
* The JavaScript code in this tag is free software: you can
|
||||
* redistribute it and/or modify it under the terms of the GNU
|
||||
* General Public License (GNU GPL) as published by the Free Software
|
||||
* Foundation, either version 3 of the License, or (at your option)
|
||||
* any later version. The code is distributed WITHOUT ANY WARRANTY;
|
||||
* without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||
* FOR A PARTICULAR PURPOSE. See the GNU GPL for more details.
|
||||
*
|
||||
* As additional permission under GNU GPL version 3 section 7, you
|
||||
* may distribute non-source (e.g., minimized or compacted) forms of
|
||||
* that code without the copy of the GNU GPL normally required by
|
||||
* section 4, provided you include this license notice and a URL
|
||||
* through which recipients can access the Corresponding Source.
|
||||
*
|
||||
* @licend The above is the entire license notice
|
||||
* for the JavaScript code in org-info.js.
|
||||
*
|
||||
*/
|
||||
</script>
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
/*
|
||||
@licstart The following is the entire license notice for the
|
||||
JavaScript code in this tag.
|
||||
|
||||
Copyright (C) 2012-2019 Free Software Foundation, Inc.
|
||||
|
||||
The JavaScript code in this tag is free software: you can
|
||||
redistribute it and/or modify it under the terms of the GNU
|
||||
General Public License (GNU GPL) as published by the Free Software
|
||||
Foundation, either version 3 of the License, or (at your option)
|
||||
any later version. The code is distributed WITHOUT ANY WARRANTY;
|
||||
without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||
FOR A PARTICULAR PURPOSE. See the GNU GPL for more details.
|
||||
|
||||
As additional permission under GNU GPL version 3 section 7, you
|
||||
may distribute non-source (e.g., minimized or compacted) forms of
|
||||
that code without the copy of the GNU GPL normally required by
|
||||
section 4, provided you include this license notice and a URL
|
||||
through which recipients can access the Corresponding Source.
|
||||
|
||||
|
||||
@licend The above is the entire license notice
|
||||
for the JavaScript code in this tag.
|
||||
*/
|
||||
|
||||
<!--/*--><![CDATA[/*><!--*/
|
||||
org_html_manager.set("TOC_DEPTH", "4");
|
||||
org_html_manager.set("LINK_HOME", "index.html");
|
||||
org_html_manager.set("LINK_UP", "");
|
||||
org_html_manager.set("LOCAL_TOC", "1");
|
||||
org_html_manager.set("VIEW_BUTTONS", "0");
|
||||
org_html_manager.set("MOUSE_HINT", "underline");
|
||||
org_html_manager.set("FIXED_TOC", "0");
|
||||
org_html_manager.set("TOC", "1");
|
||||
org_html_manager.set("VIEW", "info");
|
||||
org_html_manager.setup(); // activate after the parameters are set
|
||||
/*]]>*///-->
|
||||
</script>
|
||||
<script type="text/javascript">
|
||||
/*
|
||||
@licstart The following is the entire license notice for the
|
||||
JavaScript code in this tag.
|
||||
|
||||
Copyright (C) 2012-2019 Free Software Foundation, Inc.
|
||||
|
||||
The JavaScript code in this tag is free software: you can
|
||||
redistribute it and/or modify it under the terms of the GNU
|
||||
General Public License (GNU GPL) as published by the Free Software
|
||||
Foundation, either version 3 of the License, or (at your option)
|
||||
any later version. The code is distributed WITHOUT ANY WARRANTY;
|
||||
without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||
FOR A PARTICULAR PURPOSE. See the GNU GPL for more details.
|
||||
|
||||
As additional permission under GNU GPL version 3 section 7, you
|
||||
may distribute non-source (e.g., minimized or compacted) forms of
|
||||
that code without the copy of the GNU GPL normally required by
|
||||
section 4, provided you include this license notice and a URL
|
||||
through which recipients can access the Corresponding Source.
|
||||
|
||||
|
||||
@licend The above is the entire license notice
|
||||
for the JavaScript code in this tag.
|
||||
*/
|
||||
<!--/*--><![CDATA[/*><!--*/
|
||||
function CodeHighlightOn(elem, id)
|
||||
{
|
||||
var target = document.getElementById(id);
|
||||
if(null != target) {
|
||||
elem.cacheClassElem = elem.className;
|
||||
elem.cacheClassTarget = target.className;
|
||||
target.className = "code-highlighted";
|
||||
elem.className = "code-highlighted";
|
||||
}
|
||||
}
|
||||
function CodeHighlightOff(elem, id)
|
||||
{
|
||||
var target = document.getElementById(id);
|
||||
if(elem.cacheClassElem)
|
||||
elem.className = elem.cacheClassElem;
|
||||
if(elem.cacheClassTarget)
|
||||
target.className = elem.cacheClassTarget;
|
||||
}
|
||||
/*]]>*///-->
|
||||
</script>
|
||||
<script type="text/x-mathjax-config">
|
||||
MathJax.Hub.Config({
|
||||
displayAlign: "center",
|
||||
displayIndent: "0em",
|
||||
|
||||
"HTML-CSS": { scale: 100,
|
||||
linebreaks: { automatic: "false" },
|
||||
webFont: "TeX"
|
||||
},
|
||||
SVG: {scale: 100,
|
||||
linebreaks: { automatic: "false" },
|
||||
font: "TeX"},
|
||||
NativeMML: {scale: 100},
|
||||
TeX: { equationNumbers: {autoNumber: "AMS"},
|
||||
MultLineWidth: "85%",
|
||||
TagSide: "right",
|
||||
TagIndent: ".8em"
|
||||
}
|
||||
});
|
||||
</script>
|
||||
<script type="text/javascript"
|
||||
src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS_HTML"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="org-div-home-and-up">
|
||||
<a accesskey="h" href=""> UP </a>
|
||||
|
|
||||
<a accesskey="H" href="index.html"> HOME </a>
|
||||
</div><div id="content">
|
||||
<h1 class="title">BLAS functions</h1>
|
||||
<div id="table-of-contents">
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#org91c6e88">1. Matrix operations</a>
|
||||
<ul>
|
||||
<li><a href="#org295db1c">1.1. <code>qmckl_dgemm</code></a>
|
||||
<ul>
|
||||
<li><a href="#orgabdcdaa">1.1.1. Requirements</a></li>
|
||||
<li><a href="#org45688d1">1.1.2. C header</a></li>
|
||||
<li><a href="#org0a7a73c">1.1.3. Source</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org91c6e88" class="outline-2">
|
||||
<h2 id="org91c6e88"><span class="section-number-2">1</span> Matrix operations</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
</div>
|
||||
<div id="outline-container-org295db1c" class="outline-3">
|
||||
<h3 id="org295db1c"><span class="section-number-3">1.1</span> <code>qmckl_dgemm</code></h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<p>
|
||||
Matrix multiply l\(C_{ij} = \beta C_{ij} + \alpha \sum_{k} A_{ik} \cdot B_{kj}\) using Fortran <code>matmul</code> function.
|
||||
TODO: Add description about the external library dependence.
|
||||
</p>
|
||||
|
||||
<table id="org5c4edd3" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
<col class="org-left" />
|
||||
|
||||
<col class="org-left" />
|
||||
|
||||
<col class="org-left" />
|
||||
|
||||
<col class="org-left" />
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="org-left">qmckl<sub>context</sub></td>
|
||||
<td class="org-left">context</td>
|
||||
<td class="org-left">in</td>
|
||||
<td class="org-left">Global state</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">bool</td>
|
||||
<td class="org-left">TransA</td>
|
||||
<td class="org-left">in</td>
|
||||
<td class="org-left">Number of rows of the input matrix</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">bool</td>
|
||||
<td class="org-left">TransB</td>
|
||||
<td class="org-left">in</td>
|
||||
<td class="org-left">Number of rows of the input matrix</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">int64<sub>t</sub></td>
|
||||
<td class="org-left">m</td>
|
||||
<td class="org-left">in</td>
|
||||
<td class="org-left">Number of rows of the input matrix</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">int64<sub>t</sub></td>
|
||||
<td class="org-left">n</td>
|
||||
<td class="org-left">in</td>
|
||||
<td class="org-left">Number of columns of the input matrix</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">int64<sub>t</sub></td>
|
||||
<td class="org-left">k</td>
|
||||
<td class="org-left">in</td>
|
||||
<td class="org-left">Number of columns of the input matrix</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">double</td>
|
||||
<td class="org-left">alpha</td>
|
||||
<td class="org-left">in</td>
|
||||
<td class="org-left">Number of columns of the input matrix</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">double</td>
|
||||
<td class="org-left">A[][lda]</td>
|
||||
<td class="org-left">in</td>
|
||||
<td class="org-left">Array containing the \(m \times n\) matrix \(A\)</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">int64<sub>t</sub></td>
|
||||
<td class="org-left">lda</td>
|
||||
<td class="org-left">in</td>
|
||||
<td class="org-left">Leading dimension of array <code>A</code></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">double</td>
|
||||
<td class="org-left">B[][ldb]</td>
|
||||
<td class="org-left">in</td>
|
||||
<td class="org-left">Array containing the \(n \times m\) matrix \(B\)</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">int64<sub>t</sub></td>
|
||||
<td class="org-left">ldb</td>
|
||||
<td class="org-left">in</td>
|
||||
<td class="org-left">Leading dimension of array <code>B</code></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">double</td>
|
||||
<td class="org-left">beta</td>
|
||||
<td class="org-left">in</td>
|
||||
<td class="org-left">Array containing the \(n \times m\) matrix \(B\)</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">double</td>
|
||||
<td class="org-left">C[][ldc]</td>
|
||||
<td class="org-left">out</td>
|
||||
<td class="org-left">Array containing the \(n \times m\) matrix \(B\)</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">int64<sub>t</sub></td>
|
||||
<td class="org-left">ldc</td>
|
||||
<td class="org-left">in</td>
|
||||
<td class="org-left">Leading dimension of array <code>B</code></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgabdcdaa" class="outline-4">
|
||||
<h4 id="orgabdcdaa"><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>
|
||||
<li><code>m > 0</code></li>
|
||||
<li><code>n > 0</code></li>
|
||||
<li><code>k > 0</code></li>
|
||||
<li><code>lda >= m</code></li>
|
||||
<li><code>ldb >= n</code></li>
|
||||
<li><code>ldc >= n</code></li>
|
||||
<li><code>A</code> is allocated with at least \(m \times k \times 8\) bytes</li>
|
||||
<li><code>B</code> is allocated with at least \(k \times n \times 8\) bytes</li>
|
||||
<li><code>C</code> is allocated with at least \(m \times n \times 8\) bytes</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org45688d1" class="outline-4">
|
||||
<h4 id="org45688d1"><span class="section-number-4">1.1.2</span> C header</h4>
|
||||
<div class="outline-text-4" id="text-1-1-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_dgemm</span> (
|
||||
<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;">bool</span> <span style="color: #a0522d;">TransA</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">bool</span> <span style="color: #a0522d;">TransB</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">m</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">n</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">k</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> <span style="color: #a0522d;">alpha</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">A</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">lda</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">B</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">ldb</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> <span style="color: #a0522d;">beta</span>,
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">C</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">ldc</span> );
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org0a7a73c" class="outline-4">
|
||||
<h4 id="org0a7a73c"><span class="section-number-4">1.1.3</span> Source</h4>
|
||||
<div class="outline-text-4" id="text-1-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #228b22;">integer </span><span style="color: #a020f0;">function</span><span style="color: #a0522d;"> </span><span style="color: #0000ff;">qmckl_dgemm_f</span><span style="color: #000000; background-color: #ffffff;">(context, TransA, TransB, m, n, k, alpha, A, LDA, B, LDB, beta, C, LDC)</span><span style="color: #a0522d;"> </span><span style="color: #a020f0;">&</span>
|
||||
<span style="color: #a020f0;">result</span>(info)
|
||||
<span style="color: #a020f0;">use</span> <span style="color: #0000ff;">qmckl</span>
|
||||
<span style="color: #a020f0;">implicit</span> <span style="color: #228b22;">none</span>
|
||||
<span style="color: #228b22;">integer</span>(qmckl_context) , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> context</span>
|
||||
<span style="color: #228b22;">logical</span>*8 , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> TransA, TransB</span>
|
||||
<span style="color: #228b22;">integer</span>*8 , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> m, n, k</span>
|
||||
<span style="color: #228b22;">real</span>*8 , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> alpha, beta</span>
|
||||
<span style="color: #228b22;">integer</span>*8 , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> lda</span>
|
||||
<span style="color: #228b22;">real</span>*8 , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> A(m,k)</span>
|
||||
<span style="color: #228b22;">integer</span>*8 , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> ldb</span>
|
||||
<span style="color: #228b22;">real</span>*8 , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> B(k,n)</span>
|
||||
<span style="color: #228b22;">integer</span>*8 , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> ldc</span>
|
||||
<span style="color: #228b22;">real</span>*8 , <span style="color: #a020f0;">intent</span>(out) ::<span style="color: #a0522d;"> C(m,n)</span>
|
||||
<span style="color: #228b22;">real</span>*8, <span style="color: #a020f0;">allocatable</span> ::<span style="color: #a0522d;"> AT(:,:), BT(:,:), CT(:,:)</span>
|
||||
|
||||
<span style="color: #228b22;">integer</span>*8 ::<span style="color: #a0522d;"> i,j,l, LDA_2, LDB_2</span>
|
||||
|
||||
info = QMCKL_SUCCESS
|
||||
|
||||
<span style="color: #a020f0;">if</span> (TransA) <span style="color: #a020f0;">then</span>
|
||||
<span style="color: #a020f0;">allocate</span>(AT(k,m))
|
||||
<span style="color: #a020f0;">do</span> i = 1, m
|
||||
<span style="color: #a020f0;">do</span> j = 1, k
|
||||
AT(j,i) = A(i,j)
|
||||
<span style="color: #a020f0;">end do</span>
|
||||
<span style="color: #a020f0;">end do</span>
|
||||
LDA_2 = M
|
||||
<span style="color: #a020f0;">else</span>
|
||||
LDA_2 = LDA
|
||||
<span style="color: #a020f0;">endif</span>
|
||||
|
||||
<span style="color: #a020f0;">if</span> (TransB) <span style="color: #a020f0;">then</span>
|
||||
<span style="color: #a020f0;">allocate</span>(BT(n,k))
|
||||
<span style="color: #a020f0;">do</span> i = 1, k
|
||||
<span style="color: #a020f0;">do</span> j = 1, n
|
||||
BT(j,i) = B(i,j)
|
||||
<span style="color: #a020f0;">end do</span>
|
||||
<span style="color: #a020f0;">end do</span>
|
||||
LDB_2 = K
|
||||
<span style="color: #a020f0;">else</span>
|
||||
LDB_2 = LDB
|
||||
<span style="color: #a020f0;">endif</span>
|
||||
|
||||
<span style="color: #a020f0;">if</span> (context == QMCKL_NULL_CONTEXT) <span style="color: #a020f0;">then</span>
|
||||
info = QMCKL_INVALID_CONTEXT
|
||||
<span style="color: #a020f0;">return</span>
|
||||
<span style="color: #a020f0;">endif</span>
|
||||
|
||||
<span style="color: #a020f0;">if</span> (m <= 0_8) <span style="color: #a020f0;">then</span>
|
||||
info = QMCKL_INVALID_ARG_4
|
||||
<span style="color: #a020f0;">return</span>
|
||||
<span style="color: #a020f0;">endif</span>
|
||||
|
||||
<span style="color: #a020f0;">if</span> (n <= 0_8) <span style="color: #a020f0;">then</span>
|
||||
info = QMCKL_INVALID_ARG_5
|
||||
<span style="color: #a020f0;">return</span>
|
||||
<span style="color: #a020f0;">endif</span>
|
||||
|
||||
<span style="color: #a020f0;">if</span> (k <= 0_8) <span style="color: #a020f0;">then</span>
|
||||
info = QMCKL_INVALID_ARG_6
|
||||
<span style="color: #a020f0;">return</span>
|
||||
<span style="color: #a020f0;">endif</span>
|
||||
|
||||
<span style="color: #a020f0;">if</span> (LDA_2 <span style="color: #a020f0;">.ne.</span> m) <span style="color: #a020f0;">then</span>
|
||||
info = QMCKL_INVALID_ARG_9
|
||||
<span style="color: #a020f0;">return</span>
|
||||
<span style="color: #a020f0;">endif</span>
|
||||
|
||||
<span style="color: #a020f0;">if</span> (LDB_2 <span style="color: #a020f0;">.ne.</span> k) <span style="color: #a020f0;">then</span>
|
||||
info = QMCKL_INVALID_ARG_10
|
||||
<span style="color: #a020f0;">return</span>
|
||||
<span style="color: #a020f0;">endif</span>
|
||||
|
||||
<span style="color: #a020f0;">if</span> (LDC <span style="color: #a020f0;">.ne.</span> m) <span style="color: #a020f0;">then</span>
|
||||
info = QMCKL_INVALID_ARG_13
|
||||
<span style="color: #a020f0;">return</span>
|
||||
<span style="color: #a020f0;">endif</span>
|
||||
|
||||
<span style="color: #a020f0;">if</span> (TransA) <span style="color: #a020f0;">then</span>
|
||||
C = <span style="color: #a020f0;">matmul</span>(AT,B)
|
||||
<span style="color: #a020f0;">else if</span> (TransB) <span style="color: #a020f0;">then</span>
|
||||
C = <span style="color: #a020f0;">matmul</span>(A,BT)
|
||||
<span style="color: #a020f0;">else</span>
|
||||
C = <span style="color: #a020f0;">matmul</span>(A,B)
|
||||
<span style="color: #a020f0;">endif</span>
|
||||
<span style="color: #a020f0;">end function</span> <span style="color: #0000ff;">qmckl_dgemm_f</span>
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-10-06 Wed 07:32</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
</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-28 Tue 22:27 -->
|
||||
<!-- 2021-10-06 Wed 07:32 -->
|
||||
<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="#orgccc7ece">1. Context handling</a>
|
||||
<li><a href="#org76b8fed">1. Context handling</a>
|
||||
<ul>
|
||||
<li><a href="#orga141b8f">1.1. Data structure</a></li>
|
||||
<li><a href="#orgc2af241">1.2. Creation</a></li>
|
||||
<li><a href="#org7597b9e">1.3. Locking</a></li>
|
||||
<li><a href="#org908461b">1.4. <span class="todo TODO">TODO</span> Copy</a></li>
|
||||
<li><a href="#org28ae9f3">1.5. Destroy</a></li>
|
||||
<li><a href="#org9e5a784">1.1. Data structure</a></li>
|
||||
<li><a href="#org3794f15">1.2. Creation</a></li>
|
||||
<li><a href="#org0a66845">1.3. Locking</a></li>
|
||||
<li><a href="#org156b6fc">1.4. <span class="todo TODO">TODO</span> Copy</a></li>
|
||||
<li><a href="#org47b3bd4">1.5. Destroy</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgccc7ece" class="outline-2">
|
||||
<h2 id="orgccc7ece"><span class="section-number-2">1</span> Context handling</h2>
|
||||
<div id="outline-container-org76b8fed" class="outline-2">
|
||||
<h2 id="org76b8fed"><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="orgf9e7e98"><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="org1521b86"><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-orga141b8f" class="outline-3">
|
||||
<h3 id="orga141b8f"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-org9e5a784" class="outline-3">
|
||||
<h3 id="org9e5a784"><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="#orgc2af241">qmckl<sub>context</sub><sub>create</sub></a>, <a href="#org28ae9f3">qmckl<sub>context</sub><sub>destroy</sub></a> and <a href="#org908461b">qmckl<sub>context</sub><sub>copy</sub></a>
|
||||
<a href="#org3794f15">qmckl<sub>context</sub><sub>create</sub></a>, <a href="#org47b3bd4">qmckl<sub>context</sub><sub>destroy</sub></a> and <a href="#org156b6fc">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-orgc2af241" class="outline-3">
|
||||
<h3 id="orgc2af241"><span class="section-number-3">1.2</span> Creation</h3>
|
||||
<div id="outline-container-org3794f15" class="outline-3">
|
||||
<h3 id="org3794f15"><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-org7597b9e" class="outline-3">
|
||||
<h3 id="org7597b9e"><span class="section-number-3">1.3</span> Locking</h3>
|
||||
<div id="outline-container-org0a66845" class="outline-3">
|
||||
<h3 id="org0a66845"><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-org908461b" class="outline-3">
|
||||
<h3 id="org908461b"><span class="section-number-3">1.4</span> <span class="todo TODO">TODO</span> Copy</h3>
|
||||
<div id="outline-container-org156b6fc" class="outline-3">
|
||||
<h3 id="org156b6fc"><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-org28ae9f3" class="outline-3">
|
||||
<h3 id="org28ae9f3"><span class="section-number-3">1.5</span> Destroy</h3>
|
||||
<div id="outline-container-org47b3bd4" class="outline-3">
|
||||
<h3 id="org47b3bd4"><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-28 Tue 22:27</p>
|
||||
<p class="date">Created: 2021-10-06 Wed 07:32</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-28 Tue 22:27 -->
|
||||
<!-- 2021-10-06 Wed 07:32 -->
|
||||
<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="#org6a76e32">1. Squared distance</a>
|
||||
<li><a href="#org1a29b64">1. Squared distance</a>
|
||||
<ul>
|
||||
<li><a href="#orgafebee4">1.1. <code>qmckl_distance_sq</code></a>
|
||||
<li><a href="#orgc961e12">1.1. <code>qmckl_distance_sq</code></a>
|
||||
<ul>
|
||||
<li><a href="#org13ca246">1.1.1. Requirements</a></li>
|
||||
<li><a href="#orgbc384ec">1.1.2. C header</a></li>
|
||||
<li><a href="#orgb7080af">1.1.3. Source</a></li>
|
||||
<li><a href="#org48fe748">1.1.4. Performance</a></li>
|
||||
<li><a href="#orgbaa3e5a">1.1.1. Requirements</a></li>
|
||||
<li><a href="#org3acc267">1.1.2. C header</a></li>
|
||||
<li><a href="#orgd5401aa">1.1.3. Source</a></li>
|
||||
<li><a href="#orgbb5a7e2">1.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orge9dfc14">2. Distance</a>
|
||||
<li><a href="#org1e3f772">2. Distance</a>
|
||||
<ul>
|
||||
<li><a href="#org79661e5">2.1. <code>qmckl_distance</code></a>
|
||||
<li><a href="#orgbdcdabc">2.1. <code>qmckl_distance</code></a>
|
||||
<ul>
|
||||
<li><a href="#orgf976c99">2.1.1. Requirements</a></li>
|
||||
<li><a href="#org5cfe04b">2.1.2. C header</a></li>
|
||||
<li><a href="#orge3edf06">2.1.3. Source</a></li>
|
||||
<li><a href="#org40b18b6">2.1.4. Performance</a></li>
|
||||
<li><a href="#orgef52cb6">2.1.1. Requirements</a></li>
|
||||
<li><a href="#orge8fd2ec">2.1.2. C header</a></li>
|
||||
<li><a href="#org9ed2897">2.1.3. Source</a></li>
|
||||
<li><a href="#orgc868428">2.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgb94c748">3. Rescaled Distance</a>
|
||||
<li><a href="#orgdbb5e28">3. Rescaled Distance</a>
|
||||
<ul>
|
||||
<li><a href="#org243a56f">3.1. <code>qmckl_distance_rescaled</code></a>
|
||||
<li><a href="#orgd01eb66">3.1. <code>qmckl_distance_rescaled</code></a>
|
||||
<ul>
|
||||
<li><a href="#org0691a4c">3.1.1. Requirements</a></li>
|
||||
<li><a href="#org15aa7b0">3.1.2. C header</a></li>
|
||||
<li><a href="#org1ea0063">3.1.3. Source</a></li>
|
||||
<li><a href="#org8d14138">3.1.4. Performance</a></li>
|
||||
<li><a href="#org0073cdb">3.1.1. Requirements</a></li>
|
||||
<li><a href="#org9c9a745">3.1.2. C header</a></li>
|
||||
<li><a href="#orgfd655f1">3.1.3. Source</a></li>
|
||||
<li><a href="#org5f44360">3.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org3b01d33">4. Rescaled Distance Derivatives</a>
|
||||
<li><a href="#org90e4444">4. Rescaled Distance Derivatives</a>
|
||||
<ul>
|
||||
<li><a href="#org4610270">4.1. <code>qmckl_distance_rescaled_deriv_e</code></a>
|
||||
<li><a href="#orgd930920">4.1. <code>qmckl_distance_rescaled_deriv_e</code></a>
|
||||
<ul>
|
||||
<li><a href="#org1394f26">4.1.1. Requirements</a></li>
|
||||
<li><a href="#orgb395f3f">4.1.2. C header</a></li>
|
||||
<li><a href="#orgd57d585">4.1.3. Source</a></li>
|
||||
<li><a href="#org7ffbc88">4.1.4. Performance</a></li>
|
||||
<li><a href="#org6ed2358">4.1.1. Requirements</a></li>
|
||||
<li><a href="#org06a90a3">4.1.2. C header</a></li>
|
||||
<li><a href="#orgcb305b1">4.1.3. Source</a></li>
|
||||
<li><a href="#org9624f96">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-org6a76e32" class="outline-2">
|
||||
<h2 id="org6a76e32"><span class="section-number-2">1</span> Squared distance</h2>
|
||||
<div id="outline-container-org1a29b64" class="outline-2">
|
||||
<h2 id="org1a29b64"><span class="section-number-2">1</span> Squared distance</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
</div>
|
||||
<div id="outline-container-orgafebee4" class="outline-3">
|
||||
<h3 id="orgafebee4"><span class="section-number-3">1.1</span> <code>qmckl_distance_sq</code></h3>
|
||||
<div id="outline-container-orgc961e12" class="outline-3">
|
||||
<h3 id="orgc961e12"><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="org8638f71" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org3a51be2" 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-org13ca246" class="outline-4">
|
||||
<h4 id="org13ca246"><span class="section-number-4">1.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-orgbaa3e5a" class="outline-4">
|
||||
<h4 id="orgbaa3e5a"><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-orgbc384ec" class="outline-4">
|
||||
<h4 id="orgbc384ec"><span class="section-number-4">1.1.2</span> C header</h4>
|
||||
<div id="outline-container-org3acc267" class="outline-4">
|
||||
<h4 id="org3acc267"><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-orgb7080af" class="outline-4">
|
||||
<h4 id="orgb7080af"><span class="section-number-4">1.1.3</span> Source</h4>
|
||||
<div id="outline-container-orgd5401aa" class="outline-4">
|
||||
<h4 id="orgd5401aa"><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-org48fe748" class="outline-4">
|
||||
<h4 id="org48fe748"><span class="section-number-4">1.1.4</span> Performance</h4>
|
||||
<div id="outline-container-orgbb5a7e2" class="outline-4">
|
||||
<h4 id="orgbb5a7e2"><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-orge9dfc14" class="outline-2">
|
||||
<h2 id="orge9dfc14"><span class="section-number-2">2</span> Distance</h2>
|
||||
<div id="outline-container-org1e3f772" class="outline-2">
|
||||
<h2 id="org1e3f772"><span class="section-number-2">2</span> Distance</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-org79661e5" class="outline-3">
|
||||
<h3 id="org79661e5"><span class="section-number-3">2.1</span> <code>qmckl_distance</code></h3>
|
||||
<div id="outline-container-orgbdcdabc" class="outline-3">
|
||||
<h3 id="orgbdcdabc"><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="org64d08ac" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org7fc9a23" 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-orgf976c99" class="outline-4">
|
||||
<h4 id="orgf976c99"><span class="section-number-4">2.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-orgef52cb6" class="outline-4">
|
||||
<h4 id="orgef52cb6"><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-org5cfe04b" class="outline-4">
|
||||
<h4 id="org5cfe04b"><span class="section-number-4">2.1.2</span> C header</h4>
|
||||
<div id="outline-container-orge8fd2ec" class="outline-4">
|
||||
<h4 id="orge8fd2ec"><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-orge3edf06" class="outline-4">
|
||||
<h4 id="orge3edf06"><span class="section-number-4">2.1.3</span> Source</h4>
|
||||
<div id="outline-container-org9ed2897" class="outline-4">
|
||||
<h4 id="org9ed2897"><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-org40b18b6" class="outline-4">
|
||||
<h4 id="org40b18b6"><span class="section-number-4">2.1.4</span> Performance</h4>
|
||||
<div id="outline-container-orgc868428" class="outline-4">
|
||||
<h4 id="orgc868428"><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-orgb94c748" class="outline-2">
|
||||
<h2 id="orgb94c748"><span class="section-number-2">3</span> Rescaled Distance</h2>
|
||||
<div id="outline-container-orgdbb5e28" class="outline-2">
|
||||
<h2 id="orgdbb5e28"><span class="section-number-2">3</span> Rescaled Distance</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
</div>
|
||||
<div id="outline-container-org243a56f" class="outline-3">
|
||||
<h3 id="org243a56f"><span class="section-number-3">3.1</span> <code>qmckl_distance_rescaled</code></h3>
|
||||
<div id="outline-container-orgd01eb66" class="outline-3">
|
||||
<h3 id="orgd01eb66"><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="org9537108" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org199f838" 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-org0691a4c" class="outline-4">
|
||||
<h4 id="org0691a4c"><span class="section-number-4">3.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org0073cdb" class="outline-4">
|
||||
<h4 id="org0073cdb"><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-org15aa7b0" class="outline-4">
|
||||
<h4 id="org15aa7b0"><span class="section-number-4">3.1.2</span> C header</h4>
|
||||
<div id="outline-container-org9c9a745" class="outline-4">
|
||||
<h4 id="org9c9a745"><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-org1ea0063" class="outline-4">
|
||||
<h4 id="org1ea0063"><span class="section-number-4">3.1.3</span> Source</h4>
|
||||
<div id="outline-container-orgfd655f1" class="outline-4">
|
||||
<h4 id="orgfd655f1"><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-org8d14138" class="outline-4">
|
||||
<h4 id="org8d14138"><span class="section-number-4">3.1.4</span> Performance</h4>
|
||||
<div id="outline-container-org5f44360" class="outline-4">
|
||||
<h4 id="org5f44360"><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-org3b01d33" class="outline-2">
|
||||
<h2 id="org3b01d33"><span class="section-number-2">4</span> Rescaled Distance Derivatives</h2>
|
||||
<div id="outline-container-org90e4444" class="outline-2">
|
||||
<h2 id="org90e4444"><span class="section-number-2">4</span> Rescaled Distance Derivatives</h2>
|
||||
<div class="outline-text-2" id="text-4">
|
||||
</div>
|
||||
<div id="outline-container-org4610270" class="outline-3">
|
||||
<h3 id="org4610270"><span class="section-number-3">4.1</span> <code>qmckl_distance_rescaled_deriv_e</code></h3>
|
||||
<div id="outline-container-orgd930920" class="outline-3">
|
||||
<h3 id="orgd930920"><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="orgfe00350" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org9850663" 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-org1394f26" class="outline-4">
|
||||
<h4 id="org1394f26"><span class="section-number-4">4.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org6ed2358" class="outline-4">
|
||||
<h4 id="org6ed2358"><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-orgb395f3f" class="outline-4">
|
||||
<h4 id="orgb395f3f"><span class="section-number-4">4.1.2</span> C header</h4>
|
||||
<div id="outline-container-org06a90a3" class="outline-4">
|
||||
<h4 id="org06a90a3"><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-orgd57d585" class="outline-4">
|
||||
<h4 id="orgd57d585"><span class="section-number-4">4.1.3</span> Source</h4>
|
||||
<div id="outline-container-orgcb305b1" class="outline-4">
|
||||
<h4 id="orgcb305b1"><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-org7ffbc88" class="outline-4">
|
||||
<h4 id="org7ffbc88"><span class="section-number-4">4.1.4</span> Performance</h4>
|
||||
<div id="outline-container-org9624f96" class="outline-4">
|
||||
<h4 id="org9624f96"><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-28 Tue 22:27</p>
|
||||
<p class="date">Created: 2021-10-06 Wed 07:32</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-28 Tue 22:27 -->
|
||||
<!-- 2021-10-06 Wed 07:32 -->
|
||||
<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="#orge52d57f">1. Context</a>
|
||||
<li><a href="#org46d9f83">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#org648fe39">1.1. Data structure</a></li>
|
||||
<li><a href="#org38799b1">1.2. Access functions</a>
|
||||
<li><a href="#org02b3d1e">1.1. Data structure</a></li>
|
||||
<li><a href="#org96b2084">1.2. Access functions</a>
|
||||
<ul>
|
||||
<li><a href="#org9a002ab">1.2.1. Number of electrons</a></li>
|
||||
<li><a href="#orge6c64e1">1.2.2. Number of walkers</a></li>
|
||||
<li><a href="#org314b28d">1.2.3. Scaling factors Kappa</a></li>
|
||||
<li><a href="#orgdf1a227">1.2.4. Electron coordinates</a></li>
|
||||
<li><a href="#org03726d4">1.2.1. Number of electrons</a></li>
|
||||
<li><a href="#org794249f">1.2.2. Number of walkers</a></li>
|
||||
<li><a href="#orga851c04">1.2.3. Scaling factors Kappa</a></li>
|
||||
<li><a href="#org7d9a6c5">1.2.4. Electron coordinates</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org677a4f6">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org552cfd9">1.4. Test</a></li>
|
||||
<li><a href="#org8c2dfd6">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org1a23e2d">1.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgc43f9a0">2. Computation</a>
|
||||
<li><a href="#org5cbb2fa">2. Computation</a>
|
||||
<ul>
|
||||
<li><a href="#orge6cef4d">2.1. Electron-electron distances</a>
|
||||
<li><a href="#org2b4d8e0">2.1. Electron-electron distances</a>
|
||||
<ul>
|
||||
<li><a href="#org007a409">2.1.1. Get</a></li>
|
||||
<li><a href="#orgd4f2061">2.1.2. Compute</a></li>
|
||||
<li><a href="#orgda43558">2.1.3. Test</a></li>
|
||||
<li><a href="#org9025497">2.1.1. Get</a></li>
|
||||
<li><a href="#org1d167fd">2.1.2. Compute</a></li>
|
||||
<li><a href="#org2d2b491">2.1.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orge944de3">2.2. Electron-electron rescaled distances</a>
|
||||
<li><a href="#orgc34841b">2.2. Electron-electron rescaled distances</a>
|
||||
<ul>
|
||||
<li><a href="#org49b3066">2.2.1. Get</a></li>
|
||||
<li><a href="#org760ddfa">2.2.2. Compute</a></li>
|
||||
<li><a href="#orgd820c7a">2.2.3. Test</a></li>
|
||||
<li><a href="#orge6a3b29">2.2.1. Get</a></li>
|
||||
<li><a href="#orgd6a8615">2.2.2. Compute</a></li>
|
||||
<li><a href="#org3ff8287">2.2.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org44bcc55">2.3. Electron-electron rescaled distance gradients and laplacian with respect to electron coords</a>
|
||||
<li><a href="#orgea25564">2.3. Electron-electron rescaled distance gradients and laplacian with respect to electron coords</a>
|
||||
<ul>
|
||||
<li><a href="#org99173e5">2.3.1. Get</a></li>
|
||||
<li><a href="#orgd805141">2.3.2. Compute</a></li>
|
||||
<li><a href="#org315995f">2.3.3. Test</a></li>
|
||||
<li><a href="#orgf43b30c">2.3.1. Get</a></li>
|
||||
<li><a href="#org32489af">2.3.2. Compute</a></li>
|
||||
<li><a href="#orgef78356">2.3.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orge534488">2.4. Electron-nucleus distances</a>
|
||||
<li><a href="#org2613227">2.4. Electron-nucleus distances</a>
|
||||
<ul>
|
||||
<li><a href="#org9db2f65">2.4.1. Get</a></li>
|
||||
<li><a href="#org8021775">2.4.2. Compute</a></li>
|
||||
<li><a href="#orga26de23">2.4.3. Test</a></li>
|
||||
<li><a href="#org9d6af31">2.4.1. Get</a></li>
|
||||
<li><a href="#org38da471">2.4.2. Compute</a></li>
|
||||
<li><a href="#orgf5cdf46">2.4.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org8e98b1e">2.5. Electron-nucleus rescaled distances</a>
|
||||
<li><a href="#org64117f7">2.5. Electron-nucleus rescaled distances</a>
|
||||
<ul>
|
||||
<li><a href="#org632008a">2.5.1. Get</a></li>
|
||||
<li><a href="#org154551e">2.5.2. Compute</a></li>
|
||||
<li><a href="#org4ca0d49">2.5.3. Test</a></li>
|
||||
<li><a href="#org7d23e4e">2.5.1. Get</a></li>
|
||||
<li><a href="#orgdca65d5">2.5.2. Compute</a></li>
|
||||
<li><a href="#org56786a5">2.5.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgc17fed4">2.6. Electron-nucleus rescaled distance gradients and laplacian with respect to electron coords</a>
|
||||
<li><a href="#orgb860422">2.6. Electron-nucleus rescaled distance gradients and laplacian with respect to electron coords</a>
|
||||
<ul>
|
||||
<li><a href="#org94449b6">2.6.1. Get</a></li>
|
||||
<li><a href="#orgb8cf2ca">2.6.2. Compute</a></li>
|
||||
<li><a href="#orgbfb7e8a">2.6.3. Test</a></li>
|
||||
<li><a href="#org3843cdf">2.6.1. Get</a></li>
|
||||
<li><a href="#orgead53e2">2.6.2. Compute</a></li>
|
||||
<li><a href="#orga5ab28f">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-orge52d57f" class="outline-2">
|
||||
<h2 id="orge52d57f"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-org46d9f83" class="outline-2">
|
||||
<h2 id="org46d9f83"><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-org648fe39" class="outline-3">
|
||||
<h3 id="org648fe39"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-org02b3d1e" class="outline-3">
|
||||
<h3 id="org02b3d1e"><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-org38799b1" class="outline-3">
|
||||
<h3 id="org38799b1"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div id="outline-container-org96b2084" class="outline-3">
|
||||
<h3 id="org96b2084"><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-org9a002ab" class="outline-4">
|
||||
<h4 id="org9a002ab"><span class="section-number-4">1.2.1</span> Number of electrons</h4>
|
||||
<div id="outline-container-org03726d4" class="outline-4">
|
||||
<h4 id="org03726d4"><span class="section-number-4">1.2.1</span> Number of electrons</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge6c64e1" class="outline-4">
|
||||
<h4 id="orge6c64e1"><span class="section-number-4">1.2.2</span> Number of walkers</h4>
|
||||
<div id="outline-container-org794249f" class="outline-4">
|
||||
<h4 id="org794249f"><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-org314b28d" class="outline-4">
|
||||
<h4 id="org314b28d"><span class="section-number-4">1.2.3</span> Scaling factors Kappa</h4>
|
||||
<div id="outline-container-orga851c04" class="outline-4">
|
||||
<h4 id="orga851c04"><span class="section-number-4">1.2.3</span> Scaling factors Kappa</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgdf1a227" class="outline-4">
|
||||
<h4 id="orgdf1a227"><span class="section-number-4">1.2.4</span> Electron coordinates</h4>
|
||||
<div id="outline-container-org7d9a6c5" class="outline-4">
|
||||
<h4 id="org7d9a6c5"><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-org677a4f6" class="outline-3">
|
||||
<h3 id="org677a4f6"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-org8c2dfd6" class="outline-3">
|
||||
<h3 id="org8c2dfd6"><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-org552cfd9" class="outline-3">
|
||||
<h3 id="org552cfd9"><span class="section-number-3">1.4</span> Test</h3>
|
||||
<div id="outline-container-org1a23e2d" class="outline-3">
|
||||
<h3 id="org1a23e2d"><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-orgc43f9a0" class="outline-2">
|
||||
<h2 id="orgc43f9a0"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div id="outline-container-org5cbb2fa" class="outline-2">
|
||||
<h2 id="org5cbb2fa"><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-orge6cef4d" class="outline-3">
|
||||
<h3 id="orge6cef4d"><span class="section-number-3">2.1</span> Electron-electron distances</h3>
|
||||
<div id="outline-container-org2b4d8e0" class="outline-3">
|
||||
<h3 id="org2b4d8e0"><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-org007a409" class="outline-4">
|
||||
<h4 id="org007a409"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div id="outline-container-org9025497" class="outline-4">
|
||||
<h4 id="org9025497"><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-orgd4f2061" class="outline-4">
|
||||
<h4 id="orgd4f2061"><span class="section-number-4">2.1.2</span> Compute</h4>
|
||||
<div id="outline-container-org1d167fd" class="outline-4">
|
||||
<h4 id="org1d167fd"><span class="section-number-4">2.1.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-1-2">
|
||||
<table id="org1674c4c" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org81f48f4" 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-orgda43558" class="outline-4">
|
||||
<h4 id="orgda43558"><span class="section-number-4">2.1.3</span> Test</h4>
|
||||
<div id="outline-container-org2d2b491" class="outline-4">
|
||||
<h4 id="org2d2b491"><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-orge944de3" class="outline-3">
|
||||
<h3 id="orge944de3"><span class="section-number-3">2.2</span> Electron-electron rescaled distances</h3>
|
||||
<div id="outline-container-orgc34841b" class="outline-3">
|
||||
<h3 id="orgc34841b"><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-org49b3066" class="outline-4">
|
||||
<h4 id="org49b3066"><span class="section-number-4">2.2.1</span> Get</h4>
|
||||
<div id="outline-container-orge6a3b29" class="outline-4">
|
||||
<h4 id="orge6a3b29"><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-org760ddfa" class="outline-4">
|
||||
<h4 id="org760ddfa"><span class="section-number-4">2.2.2</span> Compute</h4>
|
||||
<div id="outline-container-orgd6a8615" class="outline-4">
|
||||
<h4 id="orgd6a8615"><span class="section-number-4">2.2.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-2-2">
|
||||
<table id="org0b605aa" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org8f677ae" 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-orgd820c7a" class="outline-4">
|
||||
<h4 id="orgd820c7a"><span class="section-number-4">2.2.3</span> Test</h4>
|
||||
<div id="outline-container-org3ff8287" class="outline-4">
|
||||
<h4 id="org3ff8287"><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-org44bcc55" class="outline-3">
|
||||
<h3 id="org44bcc55"><span class="section-number-3">2.3</span> Electron-electron rescaled distance gradients and laplacian with respect to electron coords</h3>
|
||||
<div id="outline-container-orgea25564" class="outline-3">
|
||||
<h3 id="orgea25564"><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-org99173e5" class="outline-4">
|
||||
<h4 id="org99173e5"><span class="section-number-4">2.3.1</span> Get</h4>
|
||||
<div id="outline-container-orgf43b30c" class="outline-4">
|
||||
<h4 id="orgf43b30c"><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-orgd805141" class="outline-4">
|
||||
<h4 id="orgd805141"><span class="section-number-4">2.3.2</span> Compute</h4>
|
||||
<div id="outline-container-org32489af" class="outline-4">
|
||||
<h4 id="org32489af"><span class="section-number-4">2.3.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-3-2">
|
||||
<table id="org10b5b25" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgbc86ecb" 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-org315995f" class="outline-4">
|
||||
<h4 id="org315995f"><span class="section-number-4">2.3.3</span> Test</h4>
|
||||
<div id="outline-container-orgef78356" class="outline-4">
|
||||
<h4 id="orgef78356"><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-orge534488" class="outline-3">
|
||||
<h3 id="orge534488"><span class="section-number-3">2.4</span> Electron-nucleus distances</h3>
|
||||
<div id="outline-container-org2613227" class="outline-3">
|
||||
<h3 id="org2613227"><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-org9db2f65" class="outline-4">
|
||||
<h4 id="org9db2f65"><span class="section-number-4">2.4.1</span> Get</h4>
|
||||
<div id="outline-container-org9d6af31" class="outline-4">
|
||||
<h4 id="org9d6af31"><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-org8021775" class="outline-4">
|
||||
<h4 id="org8021775"><span class="section-number-4">2.4.2</span> Compute</h4>
|
||||
<div id="outline-container-org38da471" class="outline-4">
|
||||
<h4 id="org38da471"><span class="section-number-4">2.4.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-4-2">
|
||||
<table id="orgc72ae0a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgb19d0ba" 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-orga26de23" class="outline-4">
|
||||
<h4 id="orga26de23"><span class="section-number-4">2.4.3</span> Test</h4>
|
||||
<div id="outline-container-orgf5cdf46" class="outline-4">
|
||||
<h4 id="orgf5cdf46"><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-org8e98b1e" class="outline-3">
|
||||
<h3 id="org8e98b1e"><span class="section-number-3">2.5</span> Electron-nucleus rescaled distances</h3>
|
||||
<div id="outline-container-org64117f7" class="outline-3">
|
||||
<h3 id="org64117f7"><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-org632008a" class="outline-4">
|
||||
<h4 id="org632008a"><span class="section-number-4">2.5.1</span> Get</h4>
|
||||
<div id="outline-container-org7d23e4e" class="outline-4">
|
||||
<h4 id="org7d23e4e"><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-org154551e" class="outline-4">
|
||||
<h4 id="org154551e"><span class="section-number-4">2.5.2</span> Compute</h4>
|
||||
<div id="outline-container-orgdca65d5" class="outline-4">
|
||||
<h4 id="orgdca65d5"><span class="section-number-4">2.5.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-5-2">
|
||||
<table id="org13d7b8a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org68602c3" 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-org4ca0d49" class="outline-4">
|
||||
<h4 id="org4ca0d49"><span class="section-number-4">2.5.3</span> Test</h4>
|
||||
<div id="outline-container-org56786a5" class="outline-4">
|
||||
<h4 id="org56786a5"><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-orgc17fed4" class="outline-3">
|
||||
<h3 id="orgc17fed4"><span class="section-number-3">2.6</span> Electron-nucleus rescaled distance gradients and laplacian with respect to electron coords</h3>
|
||||
<div id="outline-container-orgb860422" class="outline-3">
|
||||
<h3 id="orgb860422"><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-org94449b6" class="outline-4">
|
||||
<h4 id="org94449b6"><span class="section-number-4">2.6.1</span> Get</h4>
|
||||
<div id="outline-container-org3843cdf" class="outline-4">
|
||||
<h4 id="org3843cdf"><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-orgb8cf2ca" class="outline-4">
|
||||
<h4 id="orgb8cf2ca"><span class="section-number-4">2.6.2</span> Compute</h4>
|
||||
<div id="outline-container-orgead53e2" class="outline-4">
|
||||
<h4 id="orgead53e2"><span class="section-number-4">2.6.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-6-2">
|
||||
<table id="org6256e21" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgaeb77f0" 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-orgbfb7e8a" class="outline-4">
|
||||
<h4 id="orgbfb7e8a"><span class="section-number-4">2.6.3</span> Test</h4>
|
||||
<div id="outline-container-orga5ab28f" class="outline-4">
|
||||
<h4 id="orga5ab28f"><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-28 Tue 22:27</p>
|
||||
<p class="date">Created: 2021-10-06 Wed 07:32</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-28 Tue 22:27 -->
|
||||
<!-- 2021-10-06 Wed 07:31 -->
|
||||
<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="#org2b8671e">1. Decoding errors</a></li>
|
||||
<li><a href="#orgf0e862d">2. Data structure in context</a></li>
|
||||
<li><a href="#org74e3e8f">3. Updating errors in the context</a></li>
|
||||
<li><a href="#org871fce0">4. Get the error</a></li>
|
||||
<li><a href="#orgd604335">5. Failing</a></li>
|
||||
<li><a href="#org715ca3c">1. Decoding errors</a></li>
|
||||
<li><a href="#org0516273">2. Data structure in context</a></li>
|
||||
<li><a href="#org4085154">3. Updating errors in the context</a></li>
|
||||
<li><a href="#org188dbc5">4. Get the error</a></li>
|
||||
<li><a href="#org3b1ddc4">5. Failing</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2b8671e" class="outline-2">
|
||||
<h2 id="org2b8671e"><span class="section-number-2">1</span> Decoding errors</h2>
|
||||
<div id="outline-container-org715ca3c" class="outline-2">
|
||||
<h2 id="org715ca3c"><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-orgf0e862d" class="outline-2">
|
||||
<h2 id="orgf0e862d"><span class="section-number-2">2</span> Data structure in context</h2>
|
||||
<div id="outline-container-org0516273" class="outline-2">
|
||||
<h2 id="org0516273"><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-org74e3e8f" class="outline-2">
|
||||
<h2 id="org74e3e8f"><span class="section-number-2">3</span> Updating errors in the context</h2>
|
||||
<div id="outline-container-org4085154" class="outline-2">
|
||||
<h2 id="org4085154"><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-org871fce0" class="outline-2">
|
||||
<h2 id="org871fce0"><span class="section-number-2">4</span> Get the error</h2>
|
||||
<div id="outline-container-org188dbc5" class="outline-2">
|
||||
<h2 id="org188dbc5"><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-orgd604335" class="outline-2">
|
||||
<h2 id="orgd604335"><span class="section-number-2">5</span> Failing</h2>
|
||||
<div id="outline-container-org3b1ddc4" class="outline-2">
|
||||
<h2 id="org3b1ddc4"><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-28 Tue 22:27</p>
|
||||
<p class="date">Created: 2021-10-06 Wed 07:31</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-28 Tue 22:27 -->
|
||||
<!-- 2021-10-06 Wed 07:32 -->
|
||||
<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="#org21e7b78">1. Context</a>
|
||||
<li><a href="#org66b3c0f">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#org949f8f4">1.1. Data structure</a></li>
|
||||
<li><a href="#org3f5b9fc">1.2. Access functions</a></li>
|
||||
<li><a href="#org72ae234">1.3. Initialization functions</a></li>
|
||||
<li><a href="#orgc248a9e">1.4. Test</a></li>
|
||||
<li><a href="#orge40354f">1.1. Data structure</a></li>
|
||||
<li><a href="#org73aad6b">1.2. Access functions</a></li>
|
||||
<li><a href="#org19b0550">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org0e57c8c">1.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org013118e">2. Computation</a>
|
||||
<li><a href="#org9532a57">2. Computation</a>
|
||||
<ul>
|
||||
<li><a href="#org2afc95f">2.1. Asymptotic component for \(f_{ee}\)</a>
|
||||
<li><a href="#org32f867c">2.1. Asymptotic component for \(f_{ee}\)</a>
|
||||
<ul>
|
||||
<li><a href="#org1926731">2.1.1. Get</a></li>
|
||||
<li><a href="#org6ef54cb">2.1.2. Compute</a></li>
|
||||
<li><a href="#org63af135">2.1.3. Test</a></li>
|
||||
<li><a href="#org88e5220">2.1.1. Get</a></li>
|
||||
<li><a href="#org0ce8264">2.1.2. Compute</a></li>
|
||||
<li><a href="#org725c5cf">2.1.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orga537ae6">2.2. Electron-electron component \(f_{ee}\)</a>
|
||||
<li><a href="#org4ab4ac7">2.2. Electron-electron component \(f_{ee}\)</a>
|
||||
<ul>
|
||||
<li><a href="#org63d742e">2.2.1. Get</a></li>
|
||||
<li><a href="#org45dda0c">2.2.2. Compute</a></li>
|
||||
<li><a href="#org5148cbb">2.2.3. Test</a></li>
|
||||
<li><a href="#orge18d9f7">2.2.1. Get</a></li>
|
||||
<li><a href="#org5af336d">2.2.2. Compute</a></li>
|
||||
<li><a href="#orge1b82e6">2.2.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org4cee841">2.3. Electron-electron component derivative \(f'_{ee}\)</a>
|
||||
<li><a href="#org1ca2464">2.3. Electron-electron component derivative \(f'_{ee}\)</a>
|
||||
<ul>
|
||||
<li><a href="#org75886f6">2.3.1. Get</a></li>
|
||||
<li><a href="#org030c6f1">2.3.2. Compute</a></li>
|
||||
<li><a href="#org3ea055a">2.3.3. Test</a></li>
|
||||
<li><a href="#org73832e5">2.3.1. Get</a></li>
|
||||
<li><a href="#org5fec122">2.3.2. Compute</a></li>
|
||||
<li><a href="#orga99ca63">2.3.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org23637f9">2.4. Electron-nucleus component \(f_{en}\)</a>
|
||||
<li><a href="#orgd2391eb">2.4. Electron-nucleus component \(f_{en}\)</a>
|
||||
<ul>
|
||||
<li><a href="#org0c3a08e">2.4.1. Get</a></li>
|
||||
<li><a href="#orgcf48bd5">2.4.2. Compute</a></li>
|
||||
<li><a href="#org196c1f9">2.4.3. Test</a></li>
|
||||
<li><a href="#org32809bb">2.4.1. Get</a></li>
|
||||
<li><a href="#org8072505">2.4.2. Compute</a></li>
|
||||
<li><a href="#orgaabc201">2.4.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org3842b9e">2.5. Electron-nucleus component derivative \(f'_{en}\)</a>
|
||||
<li><a href="#org8147693">2.5. Electron-nucleus component derivative \(f'_{en}\)</a>
|
||||
<ul>
|
||||
<li><a href="#org7af6d68">2.5.1. Get</a></li>
|
||||
<li><a href="#org70f7c52">2.5.2. Compute</a></li>
|
||||
<li><a href="#orgb2a7535">2.5.3. Test</a></li>
|
||||
<li><a href="#org923da9e">2.5.1. Get</a></li>
|
||||
<li><a href="#orgb01045e">2.5.2. Compute</a></li>
|
||||
<li><a href="#org8ac5fbd">2.5.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgb12d662">2.6. Electron-electron rescaled distances for each order</a>
|
||||
<li><a href="#org230b90c">2.6. Electron-electron rescaled distances for each order</a>
|
||||
<ul>
|
||||
<li><a href="#orgbaa55f9">2.6.1. Get</a></li>
|
||||
<li><a href="#orgec6ff2e">2.6.2. Compute</a></li>
|
||||
<li><a href="#orgfda9499">2.6.3. Test</a></li>
|
||||
<li><a href="#orgee43c8c">2.6.1. Get</a></li>
|
||||
<li><a href="#org3de1fad">2.6.2. Compute</a></li>
|
||||
<li><a href="#orgf29a9b3">2.6.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org3d6624f">2.7. Electron-electron rescaled distances for each order and derivatives</a>
|
||||
<li><a href="#org3169d6f">2.7. Electron-electron rescaled distances for each order and derivatives</a>
|
||||
<ul>
|
||||
<li><a href="#org30cb075">2.7.1. Get</a></li>
|
||||
<li><a href="#orgf875801">2.7.2. Compute</a></li>
|
||||
<li><a href="#org039ec81">2.7.3. Test</a></li>
|
||||
<li><a href="#orgf77f268">2.7.1. Get</a></li>
|
||||
<li><a href="#org2e41b7e">2.7.2. Compute</a></li>
|
||||
<li><a href="#org4bda9d8">2.7.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org6b98a12">2.8. Electron-nucleus rescaled distances for each order</a>
|
||||
<li><a href="#org17c8a01">2.8. Electron-nucleus rescaled distances for each order</a>
|
||||
<ul>
|
||||
<li><a href="#orgd459261">2.8.1. Get</a></li>
|
||||
<li><a href="#orgcc2853f">2.8.2. Compute</a></li>
|
||||
<li><a href="#orgf3b5dd6">2.8.3. Test</a></li>
|
||||
<li><a href="#org32b29ac">2.8.1. Get</a></li>
|
||||
<li><a href="#orgf751ce0">2.8.2. Compute</a></li>
|
||||
<li><a href="#org9e97efe">2.8.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org5ca94c5">2.9. Electron-nucleus rescaled distances for each order and derivatives</a>
|
||||
<li><a href="#orgb950beb">2.9. Electron-nucleus rescaled distances for each order and derivatives</a>
|
||||
<ul>
|
||||
<li><a href="#org0edb542">2.9.1. Get</a></li>
|
||||
<li><a href="#orgd58d373">2.9.2. Compute</a></li>
|
||||
<li><a href="#orgfc1cd13">2.9.3. Test</a></li>
|
||||
<li><a href="#org161553b">2.9.1. Get</a></li>
|
||||
<li><a href="#orgc4156a2">2.9.2. Compute</a></li>
|
||||
<li><a href="#org889156f">2.9.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org2fa3468">2.10. Prepare for electron-electron-nucleus Jastrow \(f_{een}\)</a>
|
||||
<li><a href="#org1a8fb51">2.10. Prepare for electron-electron-nucleus Jastrow \(f_{een}\)</a>
|
||||
<ul>
|
||||
<li><a href="#org78cf3e7">2.10.1. Get</a></li>
|
||||
<li><a href="#org6814eed">2.10.2. Compute dim<sub>cord</sub><sub>vect</sub></a></li>
|
||||
<li><a href="#orgcd35a4d">2.10.3. Compute cord<sub>vect</sub><sub>full</sub></a></li>
|
||||
<li><a href="#org949e81b">2.10.4. Compute lkpm<sub>combined</sub><sub>index</sub></a></li>
|
||||
<li><a href="#orgd1cf2a1">2.10.5. Test</a></li>
|
||||
<li><a href="#org25fc1af">2.10.1. Get</a></li>
|
||||
<li><a href="#orgc0ea399">2.10.2. Compute dim<sub>cord</sub><sub>vect</sub></a></li>
|
||||
<li><a href="#orga2c0f75">2.10.3. Compute cord<sub>vect</sub><sub>full</sub></a></li>
|
||||
<li><a href="#org69cea19">2.10.4. Compute lkpm<sub>combined</sub><sub>index</sub></a></li>
|
||||
<li><a href="#orgd1a981e">2.10.5. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org5be8b9f">2.11. Electron-electron-nucleus Jastrow \(f_{een}\)</a>
|
||||
<li><a href="#orgce00340">2.11. Electron-electron-nucleus Jastrow \(f_{een}\)</a>
|
||||
<ul>
|
||||
<li><a href="#orgf52bd25">2.11.1. Get</a></li>
|
||||
<li><a href="#org69b350f">2.11.2. Compute</a></li>
|
||||
<li><a href="#org5f253b6">2.11.3. Test</a></li>
|
||||
<li><a href="#orgcc3095f">2.11.1. Get</a></li>
|
||||
<li><a href="#org424d6b9">2.11.2. Compute</a></li>
|
||||
<li><a href="#org9e1f418">2.11.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org288462c">2.12. Electron-electron-nucleus Jastrow \(f_{een}\) derivative</a>
|
||||
<li><a href="#org9e36e74">2.12. Electron-electron-nucleus Jastrow \(f_{een}\) derivative</a>
|
||||
<ul>
|
||||
<li><a href="#orge237c70">2.12.1. Get</a></li>
|
||||
<li><a href="#orgd77c0dd">2.12.2. Compute</a></li>
|
||||
<li><a href="#orgdae02d8">2.12.3. Test</a></li>
|
||||
<li><a href="#orgfc7d1f0">2.12.1. Get</a></li>
|
||||
<li><a href="#org4b88fe4">2.12.2. Compute</a></li>
|
||||
<li><a href="#org7b6c926">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-org21e7b78" class="outline-2">
|
||||
<h2 id="org21e7b78"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-org66b3c0f" class="outline-2">
|
||||
<h2 id="org66b3c0f"><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="org3d8e545" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org0c2f809" 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="orge680216"><span style="color: #a020f0;">import</span> numpy <span style="color: #a020f0;">as</span> np
|
||||
<pre class="src src-python" id="org9d23e96"><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-org949f8f4" class="outline-3">
|
||||
<h3 id="org949f8f4"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-orge40354f" class="outline-3">
|
||||
<h3 id="orge40354f"><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-org3f5b9fc" class="outline-3">
|
||||
<h3 id="org3f5b9fc"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div id="outline-container-org73aad6b" class="outline-3">
|
||||
<h3 id="org73aad6b"><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-org72ae234" class="outline-3">
|
||||
<h3 id="org72ae234"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-org19b0550" class="outline-3">
|
||||
<h3 id="org19b0550"><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-orgc248a9e" class="outline-3">
|
||||
<h3 id="orgc248a9e"><span class="section-number-3">1.4</span> Test</h3>
|
||||
<div id="outline-container-org0e57c8c" class="outline-3">
|
||||
<h3 id="org0e57c8c"><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-org013118e" class="outline-2">
|
||||
<h2 id="org013118e"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div id="outline-container-org9532a57" class="outline-2">
|
||||
<h2 id="org9532a57"><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-org2afc95f" class="outline-3">
|
||||
<h3 id="org2afc95f"><span class="section-number-3">2.1</span> Asymptotic component for \(f_{ee}\)</h3>
|
||||
<div id="outline-container-org32f867c" class="outline-3">
|
||||
<h3 id="org32f867c"><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-org1926731" class="outline-4">
|
||||
<h4 id="org1926731"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div id="outline-container-org88e5220" class="outline-4">
|
||||
<h4 id="org88e5220"><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-org6ef54cb" class="outline-4">
|
||||
<h4 id="org6ef54cb"><span class="section-number-4">2.1.2</span> Compute</h4>
|
||||
<div id="outline-container-org0ce8264" class="outline-4">
|
||||
<h4 id="org0ce8264"><span class="section-number-4">2.1.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-1-2">
|
||||
<table id="org3082578" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org9e4fef3" 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-org63af135" class="outline-4">
|
||||
<h4 id="org63af135"><span class="section-number-4">2.1.3</span> Test</h4>
|
||||
<div id="outline-container-org725c5cf" class="outline-4">
|
||||
<h4 id="org725c5cf"><span class="section-number-4">2.1.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #0000ff;">assert</span>(<span style="color: #228b22;">qmckl_electron_provided</span>(<span style="color: #a0522d;">context</span>));
|
||||
@ -1397,8 +1397,8 @@ rc = qmckl_get_jastrow_asymp_jasb(context, asymp_jasb);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga537ae6" class="outline-3">
|
||||
<h3 id="orga537ae6"><span class="section-number-3">2.2</span> Electron-electron component \(f_{ee}\)</h3>
|
||||
<div id="outline-container-org4ab4ac7" class="outline-3">
|
||||
<h3 id="org4ab4ac7"><span class="section-number-3">2.2</span> Electron-electron component \(f_{ee}\)</h3>
|
||||
<div class="outline-text-3" id="text-2-2">
|
||||
<p>
|
||||
Calculate the electron-electron jastrow component <code>factor_ee</code> using the <code>asymp_jasb</code>
|
||||
@ -1413,8 +1413,8 @@ f_{ee} = \sum_{i,j<i} \left\{ \frac{ \eta B_0 C_{ij}}{1 - B_1 C_{ij}} - J_{asym
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org63d742e" class="outline-4">
|
||||
<h4 id="org63d742e"><span class="section-number-4">2.2.1</span> Get</h4>
|
||||
<div id="outline-container-orge18d9f7" class="outline-4">
|
||||
<h4 id="orge18d9f7"><span class="section-number-4">2.2.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-2-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_jastrow_factor_ee</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">factor_ee</span>);
|
||||
@ -1423,10 +1423,10 @@ f_{ee} = \sum_{i,j<i} \left\{ \frac{ \eta B_0 C_{ij}}{1 - B_1 C_{ij}} - J_{asym
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org45dda0c" class="outline-4">
|
||||
<h4 id="org45dda0c"><span class="section-number-4">2.2.2</span> Compute</h4>
|
||||
<div id="outline-container-org5af336d" class="outline-4">
|
||||
<h4 id="org5af336d"><span class="section-number-4">2.2.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-2-2">
|
||||
<table id="org55b6d86" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org0630a49" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1593,8 +1593,8 @@ f_{ee} = \sum_{i,j<i} \left\{ \frac{ \eta B_0 C_{ij}}{1 - B_1 C_{ij}} - J_{asym
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org5148cbb" class="outline-4">
|
||||
<h4 id="org5148cbb"><span class="section-number-4">2.2.3</span> Test</h4>
|
||||
<div id="outline-container-orge1b82e6" class="outline-4">
|
||||
<h4 id="orge1b82e6"><span class="section-number-4">2.2.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-2-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">/* <span style="color: #b22222;">Check if Jastrow is properly initialized </span>*/
|
||||
@ -1612,8 +1612,8 @@ rc = qmckl_get_jastrow_factor_ee(context, factor_ee);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4cee841" class="outline-3">
|
||||
<h3 id="org4cee841"><span class="section-number-3">2.3</span> Electron-electron component derivative \(f'_{ee}\)</h3>
|
||||
<div id="outline-container-org1ca2464" class="outline-3">
|
||||
<h3 id="org1ca2464"><span class="section-number-3">2.3</span> Electron-electron component derivative \(f'_{ee}\)</h3>
|
||||
<div class="outline-text-3" id="text-2-3">
|
||||
<p>
|
||||
Calculate the derivative of the <code>factor_ee</code> using the <code>ee_distance_rescaled</code> and
|
||||
@ -1628,8 +1628,8 @@ TODO: Add equation
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org75886f6" class="outline-4">
|
||||
<h4 id="org75886f6"><span class="section-number-4">2.3.1</span> Get</h4>
|
||||
<div id="outline-container-org73832e5" class="outline-4">
|
||||
<h4 id="org73832e5"><span class="section-number-4">2.3.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-3-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_jastrow_factor_ee_deriv_e</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">factor_ee_deriv_e</span>);
|
||||
@ -1638,10 +1638,10 @@ TODO: Add equation
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org030c6f1" class="outline-4">
|
||||
<h4 id="org030c6f1"><span class="section-number-4">2.3.2</span> Compute</h4>
|
||||
<div id="outline-container-org5fec122" class="outline-4">
|
||||
<h4 id="org5fec122"><span class="section-number-4">2.3.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-3-2">
|
||||
<table id="orgdf751b6" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org9cb31d7" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1848,8 +1848,8 @@ TODO: Add equation
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org3ea055a" class="outline-4">
|
||||
<h4 id="org3ea055a"><span class="section-number-4">2.3.3</span> Test</h4>
|
||||
<div id="outline-container-orga99ca63" class="outline-4">
|
||||
<h4 id="orga99ca63"><span class="section-number-4">2.3.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-3-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">/* <span style="color: #b22222;">Check if Jastrow is properly initialized </span>*/
|
||||
@ -1871,8 +1871,8 @@ rc = qmckl_get_jastrow_factor_ee_deriv_e(context, &(factor_ee_deriv_e[0][0][
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org23637f9" class="outline-3">
|
||||
<h3 id="org23637f9"><span class="section-number-3">2.4</span> Electron-nucleus component \(f_{en}\)</h3>
|
||||
<div id="outline-container-orgd2391eb" class="outline-3">
|
||||
<h3 id="orgd2391eb"><span class="section-number-3">2.4</span> Electron-nucleus component \(f_{en}\)</h3>
|
||||
<div class="outline-text-3" id="text-2-4">
|
||||
<p>
|
||||
Calculate the electron-electron jastrow component <code>factor_en</code> using the <code>aord_vector</code>
|
||||
@ -1887,8 +1887,8 @@ f_{en} = \sum_{i,j<i} \left\{ \frac{ A_0 C_{ij}}{1 - A_1 C_{ij}} + \sum^{nord}_{
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org0c3a08e" class="outline-4">
|
||||
<h4 id="org0c3a08e"><span class="section-number-4">2.4.1</span> Get</h4>
|
||||
<div id="outline-container-org32809bb" class="outline-4">
|
||||
<h4 id="org32809bb"><span class="section-number-4">2.4.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-4-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_jastrow_factor_en</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">factor_en</span>);
|
||||
@ -1897,10 +1897,10 @@ f_{en} = \sum_{i,j<i} \left\{ \frac{ A_0 C_{ij}}{1 - A_1 C_{ij}} + \sum^{nord}_{
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgcf48bd5" class="outline-4">
|
||||
<h4 id="orgcf48bd5"><span class="section-number-4">2.4.2</span> Compute</h4>
|
||||
<div id="outline-container-org8072505" class="outline-4">
|
||||
<h4 id="org8072505"><span class="section-number-4">2.4.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-4-2">
|
||||
<table id="org7f2d8bf" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org2344cf2" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2074,8 +2074,8 @@ f_{en} = \sum_{i,j<i} \left\{ \frac{ A_0 C_{ij}}{1 - A_1 C_{ij}} + \sum^{nord}_{
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org196c1f9" class="outline-4">
|
||||
<h4 id="org196c1f9"><span class="section-number-4">2.4.3</span> Test</h4>
|
||||
<div id="outline-container-orgaabc201" class="outline-4">
|
||||
<h4 id="orgaabc201"><span class="section-number-4">2.4.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-4-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">/* <span style="color: #b22222;">Check if Jastrow is properly initialized </span>*/
|
||||
@ -2093,8 +2093,8 @@ rc = qmckl_get_jastrow_factor_en(context, factor_en);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3842b9e" class="outline-3">
|
||||
<h3 id="org3842b9e"><span class="section-number-3">2.5</span> Electron-nucleus component derivative \(f'_{en}\)</h3>
|
||||
<div id="outline-container-org8147693" class="outline-3">
|
||||
<h3 id="org8147693"><span class="section-number-3">2.5</span> Electron-nucleus component derivative \(f'_{en}\)</h3>
|
||||
<div class="outline-text-3" id="text-2-5">
|
||||
<p>
|
||||
Calculate the electron-electron jastrow component <code>factor_en_deriv_e</code> derivative
|
||||
@ -2107,8 +2107,8 @@ TODO: write equations.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7af6d68" class="outline-4">
|
||||
<h4 id="org7af6d68"><span class="section-number-4">2.5.1</span> Get</h4>
|
||||
<div id="outline-container-org923da9e" class="outline-4">
|
||||
<h4 id="org923da9e"><span class="section-number-4">2.5.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-5-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_jastrow_factor_en_deriv_e</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">factor_en_deriv_e</span>);
|
||||
@ -2117,10 +2117,10 @@ TODO: write equations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org70f7c52" class="outline-4">
|
||||
<h4 id="org70f7c52"><span class="section-number-4">2.5.2</span> Compute</h4>
|
||||
<div id="outline-container-orgb01045e" class="outline-4">
|
||||
<h4 id="orgb01045e"><span class="section-number-4">2.5.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-5-2">
|
||||
<table id="org6c18d6b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org508e0cf" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2333,8 +2333,8 @@ TODO: write equations.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgb2a7535" class="outline-4">
|
||||
<h4 id="orgb2a7535"><span class="section-number-4">2.5.3</span> Test</h4>
|
||||
<div id="outline-container-org8ac5fbd" class="outline-4">
|
||||
<h4 id="org8ac5fbd"><span class="section-number-4">2.5.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-5-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">/* <span style="color: #b22222;">Check if Jastrow is properly initialized </span>*/
|
||||
@ -2356,8 +2356,8 @@ rc = qmckl_get_jastrow_factor_en_deriv_e(context, &(factor_en_deriv_e[0][0][
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb12d662" class="outline-3">
|
||||
<h3 id="orgb12d662"><span class="section-number-3">2.6</span> Electron-electron rescaled distances for each order</h3>
|
||||
<div id="outline-container-org230b90c" class="outline-3">
|
||||
<h3 id="org230b90c"><span class="section-number-3">2.6</span> Electron-electron rescaled distances for each order</h3>
|
||||
<div class="outline-text-3" id="text-2-6">
|
||||
<p>
|
||||
<code>een_rescaled_e</code> stores the table of the rescaled distances between all
|
||||
@ -2375,8 +2375,8 @@ where \(C_{ij}\) is the matrix of electron-electron distances.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgbaa55f9" class="outline-4">
|
||||
<h4 id="orgbaa55f9"><span class="section-number-4">2.6.1</span> Get</h4>
|
||||
<div id="outline-container-orgee43c8c" class="outline-4">
|
||||
<h4 id="orgee43c8c"><span class="section-number-4">2.6.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-6-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_jastrow_een_rescaled_e</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">distance_rescaled</span>);
|
||||
@ -2385,10 +2385,10 @@ where \(C_{ij}\) is the matrix of electron-electron distances.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgec6ff2e" class="outline-4">
|
||||
<h4 id="orgec6ff2e"><span class="section-number-4">2.6.2</span> Compute</h4>
|
||||
<div id="outline-container-org3de1fad" class="outline-4">
|
||||
<h4 id="org3de1fad"><span class="section-number-4">2.6.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-6-2">
|
||||
<table id="org6cf7357" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org623137d" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2554,8 +2554,8 @@ where \(C_{ij}\) is the matrix of electron-electron distances.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgfda9499" class="outline-4">
|
||||
<h4 id="orgfda9499"><span class="section-number-4">2.6.3</span> Test</h4>
|
||||
<div id="outline-container-orgf29a9b3" class="outline-4">
|
||||
<h4 id="orgf29a9b3"><span class="section-number-4">2.6.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-6-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #0000ff;">assert</span>(<span style="color: #228b22;">qmckl_electron_provided</span>(<span style="color: #a0522d;">context</span>));
|
||||
@ -2578,8 +2578,8 @@ rc = qmckl_get_jastrow_een_rescaled_e(context, &(een_rescaled_e[0][0][0][0])
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3d6624f" class="outline-3">
|
||||
<h3 id="org3d6624f"><span class="section-number-3">2.7</span> Electron-electron rescaled distances for each order and derivatives</h3>
|
||||
<div id="outline-container-org3169d6f" class="outline-3">
|
||||
<h3 id="org3169d6f"><span class="section-number-3">2.7</span> Electron-electron rescaled distances for each order and derivatives</h3>
|
||||
<div class="outline-text-3" id="text-2-7">
|
||||
<p>
|
||||
<code>een_rescaled_e_deriv_e</code> stores the table of the derivatives of the
|
||||
@ -2594,8 +2594,8 @@ TODO: write formulae
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org30cb075" class="outline-4">
|
||||
<h4 id="org30cb075"><span class="section-number-4">2.7.1</span> Get</h4>
|
||||
<div id="outline-container-orgf77f268" class="outline-4">
|
||||
<h4 id="orgf77f268"><span class="section-number-4">2.7.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-7-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_jastrow_een_rescaled_e_deriv_e</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">distance_rescaled</span>);
|
||||
@ -2604,10 +2604,10 @@ TODO: write formulae
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf875801" class="outline-4">
|
||||
<h4 id="orgf875801"><span class="section-number-4">2.7.2</span> Compute</h4>
|
||||
<div id="outline-container-org2e41b7e" class="outline-4">
|
||||
<h4 id="org2e41b7e"><span class="section-number-4">2.7.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-7-2">
|
||||
<table id="org054c64d" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org26f8474" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2786,8 +2786,8 @@ TODO: write formulae
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org039ec81" class="outline-4">
|
||||
<h4 id="org039ec81"><span class="section-number-4">2.7.3</span> Test</h4>
|
||||
<div id="outline-container-org4bda9d8" class="outline-4">
|
||||
<h4 id="org4bda9d8"><span class="section-number-4">2.7.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-7-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">//<span style="color: #b22222;">assert(qmckl_electron_provided(context));</span>
|
||||
@ -2807,8 +2807,8 @@ rc = qmckl_get_jastrow_een_rescaled_e_deriv_e(context, &(een_rescaled_e_deri
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6b98a12" class="outline-3">
|
||||
<h3 id="org6b98a12"><span class="section-number-3">2.8</span> Electron-nucleus rescaled distances for each order</h3>
|
||||
<div id="outline-container-org17c8a01" class="outline-3">
|
||||
<h3 id="org17c8a01"><span class="section-number-3">2.8</span> Electron-nucleus rescaled distances for each order</h3>
|
||||
<div class="outline-text-3" id="text-2-8">
|
||||
<p>
|
||||
<code>een_rescaled_n</code> stores the table of the rescaled distances between
|
||||
@ -2826,8 +2826,8 @@ where \(C_{ia}\) is the matrix of electron-nucleus distances.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd459261" class="outline-4">
|
||||
<h4 id="orgd459261"><span class="section-number-4">2.8.1</span> Get</h4>
|
||||
<div id="outline-container-org32b29ac" class="outline-4">
|
||||
<h4 id="org32b29ac"><span class="section-number-4">2.8.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-8-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_jastrow_een_rescaled_n</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">distance_rescaled</span>);
|
||||
@ -2836,10 +2836,10 @@ where \(C_{ia}\) is the matrix of electron-nucleus distances.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgcc2853f" class="outline-4">
|
||||
<h4 id="orgcc2853f"><span class="section-number-4">2.8.2</span> Compute</h4>
|
||||
<div id="outline-container-orgf751ce0" class="outline-4">
|
||||
<h4 id="orgf751ce0"><span class="section-number-4">2.8.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-8-2">
|
||||
<table id="org983f259" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org9591437" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2995,8 +2995,8 @@ where \(C_{ia}\) is the matrix of electron-nucleus distances.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf3b5dd6" class="outline-4">
|
||||
<h4 id="orgf3b5dd6"><span class="section-number-4">2.8.3</span> Test</h4>
|
||||
<div id="outline-container-org9e97efe" class="outline-4">
|
||||
<h4 id="org9e97efe"><span class="section-number-4">2.8.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-8-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #0000ff;">assert</span>(<span style="color: #228b22;">qmckl_electron_provided</span>(<span style="color: #a0522d;">context</span>));
|
||||
@ -3018,8 +3018,8 @@ rc = qmckl_get_jastrow_een_rescaled_n(context, &(een_rescaled_n[0][0][0][0])
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5ca94c5" class="outline-3">
|
||||
<h3 id="org5ca94c5"><span class="section-number-3">2.9</span> Electron-nucleus rescaled distances for each order and derivatives</h3>
|
||||
<div id="outline-container-orgb950beb" class="outline-3">
|
||||
<h3 id="orgb950beb"><span class="section-number-3">2.9</span> Electron-nucleus rescaled distances for each order and derivatives</h3>
|
||||
<div class="outline-text-3" id="text-2-9">
|
||||
<p>
|
||||
<code>een_rescaled_n_deriv_e</code> stores the table of the rescaled distances between
|
||||
@ -3028,8 +3028,8 @@ electrons and nucleii raised to the power \(p\) defined by <code>cord_num</code>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org0edb542" class="outline-4">
|
||||
<h4 id="org0edb542"><span class="section-number-4">2.9.1</span> Get</h4>
|
||||
<div id="outline-container-org161553b" class="outline-4">
|
||||
<h4 id="org161553b"><span class="section-number-4">2.9.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-9-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_jastrow_een_rescaled_n_deriv_e</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">distance_rescaled</span>);
|
||||
@ -3038,10 +3038,10 @@ electrons and nucleii raised to the power \(p\) defined by <code>cord_num</code>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd58d373" class="outline-4">
|
||||
<h4 id="orgd58d373"><span class="section-number-4">2.9.2</span> Compute</h4>
|
||||
<div id="outline-container-orgc4156a2" class="outline-4">
|
||||
<h4 id="orgc4156a2"><span class="section-number-4">2.9.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-9-2">
|
||||
<table id="orgfe73b1f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgf8b41e9" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -3243,8 +3243,8 @@ electrons and nucleii raised to the power \(p\) defined by <code>cord_num</code>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgfc1cd13" class="outline-4">
|
||||
<h4 id="orgfc1cd13"><span class="section-number-4">2.9.3</span> Test</h4>
|
||||
<div id="outline-container-org889156f" class="outline-4">
|
||||
<h4 id="org889156f"><span class="section-number-4">2.9.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-9-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #0000ff;">assert</span>(<span style="color: #228b22;">qmckl_electron_provided</span>(<span style="color: #a0522d;">context</span>));
|
||||
@ -3266,8 +3266,8 @@ rc = qmckl_get_jastrow_een_rescaled_n_deriv_e(context, &(een_rescaled_n_deri
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2fa3468" class="outline-3">
|
||||
<h3 id="org2fa3468"><span class="section-number-3">2.10</span> Prepare for electron-electron-nucleus Jastrow \(f_{een}\)</h3>
|
||||
<div id="outline-container-org1a8fb51" class="outline-3">
|
||||
<h3 id="org1a8fb51"><span class="section-number-3">2.10</span> Prepare for electron-electron-nucleus Jastrow \(f_{een}\)</h3>
|
||||
<div class="outline-text-3" id="text-2-10">
|
||||
<p>
|
||||
Prepare <code>cord_vect_full</code> and <code>lkpm_combined_index</code> tables required for the
|
||||
@ -3276,8 +3276,8 @@ calculation of the three-body jastrow <code>factor_een</code> and its derivative
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org78cf3e7" class="outline-4">
|
||||
<h4 id="org78cf3e7"><span class="section-number-4">2.10.1</span> Get</h4>
|
||||
<div id="outline-container-org25fc1af" class="outline-4">
|
||||
<h4 id="org25fc1af"><span class="section-number-4">2.10.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-10-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_jastrow_dim_cord_vect</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">int64_t</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">dim_cord_vect</span>);
|
||||
@ -3288,10 +3288,10 @@ calculation of the three-body jastrow <code>factor_een</code> and its derivative
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6814eed" class="outline-4">
|
||||
<h4 id="org6814eed"><span class="section-number-4">2.10.2</span> Compute dim<sub>cord</sub><sub>vect</sub></h4>
|
||||
<div id="outline-container-orgc0ea399" class="outline-4">
|
||||
<h4 id="orgc0ea399"><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="org42b4a63" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org3c7e4ce" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -3381,10 +3381,10 @@ calculation of the three-body jastrow <code>factor_een</code> and its derivative
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgcd35a4d" class="outline-4">
|
||||
<h4 id="orgcd35a4d"><span class="section-number-4">2.10.3</span> Compute cord<sub>vect</sub><sub>full</sub></h4>
|
||||
<div id="outline-container-orga2c0f75" class="outline-4">
|
||||
<h4 id="orga2c0f75"><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="org94b8f28" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgd86aa58" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -3510,10 +3510,10 @@ calculation of the three-body jastrow <code>factor_een</code> and its derivative
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org949e81b" class="outline-4">
|
||||
<h4 id="org949e81b"><span class="section-number-4">2.10.4</span> Compute lkpm<sub>combined</sub><sub>index</sub></h4>
|
||||
<div id="outline-container-org69cea19" class="outline-4">
|
||||
<h4 id="org69cea19"><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="orgcdc5d6a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org60f2161" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -3623,8 +3623,8 @@ calculation of the three-body jastrow <code>factor_een</code> and its derivative
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgd1cf2a1" class="outline-4">
|
||||
<h4 id="orgd1cf2a1"><span class="section-number-4">2.10.5</span> Test</h4>
|
||||
<div id="outline-container-orgd1a981e" class="outline-4">
|
||||
<h4 id="orgd1a981e"><span class="section-number-4">2.10.5</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-10-5">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">//<span style="color: #b22222;">assert(qmckl_electron_provided(context));</span>
|
||||
@ -3636,8 +3636,8 @@ calculation of the three-body jastrow <code>factor_een</code> and its derivative
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5be8b9f" class="outline-3">
|
||||
<h3 id="org5be8b9f"><span class="section-number-3">2.11</span> Electron-electron-nucleus Jastrow \(f_{een}\)</h3>
|
||||
<div id="outline-container-orgce00340" class="outline-3">
|
||||
<h3 id="orgce00340"><span class="section-number-3">2.11</span> Electron-electron-nucleus Jastrow \(f_{een}\)</h3>
|
||||
<div class="outline-text-3" id="text-2-11">
|
||||
<p>
|
||||
Calculate the electron-electron-nuclear three-body jastrow component <code>factor_een</code>
|
||||
@ -3649,8 +3649,8 @@ TODO: write equations.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf52bd25" class="outline-4">
|
||||
<h4 id="orgf52bd25"><span class="section-number-4">2.11.1</span> Get</h4>
|
||||
<div id="outline-container-orgcc3095f" class="outline-4">
|
||||
<h4 id="orgcc3095f"><span class="section-number-4">2.11.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-11-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_jastrow_factor_een</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">factor_een</span>);
|
||||
@ -3659,10 +3659,10 @@ TODO: write equations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org69b350f" class="outline-4">
|
||||
<h4 id="org69b350f"><span class="section-number-4">2.11.2</span> Compute</h4>
|
||||
<div id="outline-container-org424d6b9" class="outline-4">
|
||||
<h4 id="org424d6b9"><span class="section-number-4">2.11.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-11-2">
|
||||
<table id="org775c28f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org3e89904" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -3850,8 +3850,8 @@ TODO: write equations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5f253b6" class="outline-4">
|
||||
<h4 id="org5f253b6"><span class="section-number-4">2.11.3</span> Test</h4>
|
||||
<div id="outline-container-org9e1f418" class="outline-4">
|
||||
<h4 id="org9e1f418"><span class="section-number-4">2.11.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-11-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">/* <span style="color: #b22222;">Check if Jastrow is properly initialized </span>*/
|
||||
@ -3867,8 +3867,8 @@ rc = qmckl_get_jastrow_factor_een(context, &(factor_een[0]));
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org288462c" class="outline-3">
|
||||
<h3 id="org288462c"><span class="section-number-3">2.12</span> Electron-electron-nucleus Jastrow \(f_{een}\) derivative</h3>
|
||||
<div id="outline-container-org9e36e74" class="outline-3">
|
||||
<h3 id="org9e36e74"><span class="section-number-3">2.12</span> Electron-electron-nucleus Jastrow \(f_{een}\) derivative</h3>
|
||||
<div class="outline-text-3" id="text-2-12">
|
||||
<p>
|
||||
Calculate the electron-electron-nuclear three-body jastrow component <code>factor_een_deriv_e</code>
|
||||
@ -3880,8 +3880,8 @@ TODO: write equations.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge237c70" class="outline-4">
|
||||
<h4 id="orge237c70"><span class="section-number-4">2.12.1</span> Get</h4>
|
||||
<div id="outline-container-orgfc7d1f0" class="outline-4">
|
||||
<h4 id="orgfc7d1f0"><span class="section-number-4">2.12.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-12-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_jastrow_factor_een_deriv_e</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">factor_een_deriv_e</span>);
|
||||
@ -3890,10 +3890,10 @@ TODO: write equations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd77c0dd" class="outline-4">
|
||||
<h4 id="orgd77c0dd"><span class="section-number-4">2.12.2</span> Compute</h4>
|
||||
<div id="outline-container-org4b88fe4" class="outline-4">
|
||||
<h4 id="org4b88fe4"><span class="section-number-4">2.12.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-12-2">
|
||||
<table id="orgac6a7da" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org6865caa" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -4118,8 +4118,8 @@ TODO: write equations.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgdae02d8" class="outline-4">
|
||||
<h4 id="orgdae02d8"><span class="section-number-4">2.12.3</span> Test</h4>
|
||||
<div id="outline-container-org7b6c926" class="outline-4">
|
||||
<h4 id="org7b6c926"><span class="section-number-4">2.12.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-12-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">/* <span style="color: #b22222;">Check if Jastrow is properly initialized </span>*/
|
||||
@ -4138,7 +4138,7 @@ rc = qmckl_get_jastrow_factor_een_deriv_e(context, &(factor_een_deriv_e[0][0
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-09-28 Tue 22:27</p>
|
||||
<p class="date">Created: 2021-10-06 Wed 07:32</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-28 Tue 22:27 -->
|
||||
<!-- 2021-10-06 Wed 07:32 -->
|
||||
<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="#orgaa89246">1. Memory data structure for the context</a></li>
|
||||
<li><a href="#orgff46ec4">2. Passing info to allocation routines</a></li>
|
||||
<li><a href="#orgce958d6">3. Allocation/deallocation functions</a></li>
|
||||
<li><a href="#orge786771">1. Memory data structure for the context</a></li>
|
||||
<li><a href="#orgc28a566">2. Passing info to allocation routines</a></li>
|
||||
<li><a href="#org454f072">3. Allocation/deallocation functions</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgaa89246" class="outline-2">
|
||||
<h2 id="orgaa89246"><span class="section-number-2">1</span> Memory data structure for the context</h2>
|
||||
<div id="outline-container-orge786771" class="outline-2">
|
||||
<h2 id="orge786771"><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-orgff46ec4" class="outline-2">
|
||||
<h2 id="orgff46ec4"><span class="section-number-2">2</span> Passing info to allocation routines</h2>
|
||||
<div id="outline-container-orgc28a566" class="outline-2">
|
||||
<h2 id="orgc28a566"><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-orgce958d6" class="outline-2">
|
||||
<h2 id="orgce958d6"><span class="section-number-2">3</span> Allocation/deallocation functions</h2>
|
||||
<div id="outline-container-org454f072" class="outline-2">
|
||||
<h2 id="org454f072"><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-28 Tue 22:27</p>
|
||||
<p class="date">Created: 2021-10-06 Wed 07:32</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
692
qmckl_mo.html
Normal file
692
qmckl_mo.html
Normal file
@ -0,0 +1,692 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-10-06 Wed 07:32 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Molecular Orbitals</title>
|
||||
<meta name="generator" content="Org mode" />
|
||||
<meta name="author" content="TREX CoE" />
|
||||
<style type="text/css">
|
||||
<!--/*--><![CDATA[/*><!--*/
|
||||
.title { text-align: center;
|
||||
margin-bottom: .2em; }
|
||||
.subtitle { text-align: center;
|
||||
font-size: medium;
|
||||
font-weight: bold;
|
||||
margin-top:0; }
|
||||
.todo { font-family: monospace; color: red; }
|
||||
.done { font-family: monospace; color: green; }
|
||||
.priority { font-family: monospace; color: orange; }
|
||||
.tag { background-color: #eee; font-family: monospace;
|
||||
padding: 2px; font-size: 80%; font-weight: normal; }
|
||||
.timestamp { color: #bebebe; }
|
||||
.timestamp-kwd { color: #5f9ea0; }
|
||||
.org-right { margin-left: auto; margin-right: 0px; text-align: right; }
|
||||
.org-left { margin-left: 0px; margin-right: auto; text-align: left; }
|
||||
.org-center { margin-left: auto; margin-right: auto; text-align: center; }
|
||||
.underline { text-decoration: underline; }
|
||||
#postamble p, #preamble p { font-size: 90%; margin: .2em; }
|
||||
p.verse { margin-left: 3%; }
|
||||
pre {
|
||||
border: 1px solid #ccc;
|
||||
box-shadow: 3px 3px 3px #eee;
|
||||
padding: 8pt;
|
||||
font-family: monospace;
|
||||
overflow: auto;
|
||||
margin: 1.2em;
|
||||
}
|
||||
pre.src {
|
||||
position: relative;
|
||||
overflow: visible;
|
||||
padding-top: 1.2em;
|
||||
}
|
||||
pre.src:before {
|
||||
display: none;
|
||||
position: absolute;
|
||||
background-color: white;
|
||||
top: -10px;
|
||||
right: 10px;
|
||||
padding: 3px;
|
||||
border: 1px solid black;
|
||||
}
|
||||
pre.src:hover:before { display: inline;}
|
||||
/* Languages per Org manual */
|
||||
pre.src-asymptote:before { content: 'Asymptote'; }
|
||||
pre.src-awk:before { content: 'Awk'; }
|
||||
pre.src-C:before { content: 'C'; }
|
||||
/* pre.src-C++ doesn't work in CSS */
|
||||
pre.src-clojure:before { content: 'Clojure'; }
|
||||
pre.src-css:before { content: 'CSS'; }
|
||||
pre.src-D:before { content: 'D'; }
|
||||
pre.src-ditaa:before { content: 'ditaa'; }
|
||||
pre.src-dot:before { content: 'Graphviz'; }
|
||||
pre.src-calc:before { content: 'Emacs Calc'; }
|
||||
pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
|
||||
pre.src-fortran:before { content: 'Fortran'; }
|
||||
pre.src-gnuplot:before { content: 'gnuplot'; }
|
||||
pre.src-haskell:before { content: 'Haskell'; }
|
||||
pre.src-hledger:before { content: 'hledger'; }
|
||||
pre.src-java:before { content: 'Java'; }
|
||||
pre.src-js:before { content: 'Javascript'; }
|
||||
pre.src-latex:before { content: 'LaTeX'; }
|
||||
pre.src-ledger:before { content: 'Ledger'; }
|
||||
pre.src-lisp:before { content: 'Lisp'; }
|
||||
pre.src-lilypond:before { content: 'Lilypond'; }
|
||||
pre.src-lua:before { content: 'Lua'; }
|
||||
pre.src-matlab:before { content: 'MATLAB'; }
|
||||
pre.src-mscgen:before { content: 'Mscgen'; }
|
||||
pre.src-ocaml:before { content: 'Objective Caml'; }
|
||||
pre.src-octave:before { content: 'Octave'; }
|
||||
pre.src-org:before { content: 'Org mode'; }
|
||||
pre.src-oz:before { content: 'OZ'; }
|
||||
pre.src-plantuml:before { content: 'Plantuml'; }
|
||||
pre.src-processing:before { content: 'Processing.js'; }
|
||||
pre.src-python:before { content: 'Python'; }
|
||||
pre.src-R:before { content: 'R'; }
|
||||
pre.src-ruby:before { content: 'Ruby'; }
|
||||
pre.src-sass:before { content: 'Sass'; }
|
||||
pre.src-scheme:before { content: 'Scheme'; }
|
||||
pre.src-screen:before { content: 'Gnu Screen'; }
|
||||
pre.src-sed:before { content: 'Sed'; }
|
||||
pre.src-sh:before { content: 'shell'; }
|
||||
pre.src-sql:before { content: 'SQL'; }
|
||||
pre.src-sqlite:before { content: 'SQLite'; }
|
||||
/* additional languages in org.el's org-babel-load-languages alist */
|
||||
pre.src-forth:before { content: 'Forth'; }
|
||||
pre.src-io:before { content: 'IO'; }
|
||||
pre.src-J:before { content: 'J'; }
|
||||
pre.src-makefile:before { content: 'Makefile'; }
|
||||
pre.src-maxima:before { content: 'Maxima'; }
|
||||
pre.src-perl:before { content: 'Perl'; }
|
||||
pre.src-picolisp:before { content: 'Pico Lisp'; }
|
||||
pre.src-scala:before { content: 'Scala'; }
|
||||
pre.src-shell:before { content: 'Shell Script'; }
|
||||
pre.src-ebnf2ps:before { content: 'ebfn2ps'; }
|
||||
/* additional language identifiers per "defun org-babel-execute"
|
||||
in ob-*.el */
|
||||
pre.src-cpp:before { content: 'C++'; }
|
||||
pre.src-abc:before { content: 'ABC'; }
|
||||
pre.src-coq:before { content: 'Coq'; }
|
||||
pre.src-groovy:before { content: 'Groovy'; }
|
||||
/* additional language identifiers from org-babel-shell-names in
|
||||
ob-shell.el: ob-shell is the only babel language using a lambda to put
|
||||
the execution function name together. */
|
||||
pre.src-bash:before { content: 'bash'; }
|
||||
pre.src-csh:before { content: 'csh'; }
|
||||
pre.src-ash:before { content: 'ash'; }
|
||||
pre.src-dash:before { content: 'dash'; }
|
||||
pre.src-ksh:before { content: 'ksh'; }
|
||||
pre.src-mksh:before { content: 'mksh'; }
|
||||
pre.src-posh:before { content: 'posh'; }
|
||||
/* Additional Emacs modes also supported by the LaTeX listings package */
|
||||
pre.src-ada:before { content: 'Ada'; }
|
||||
pre.src-asm:before { content: 'Assembler'; }
|
||||
pre.src-caml:before { content: 'Caml'; }
|
||||
pre.src-delphi:before { content: 'Delphi'; }
|
||||
pre.src-html:before { content: 'HTML'; }
|
||||
pre.src-idl:before { content: 'IDL'; }
|
||||
pre.src-mercury:before { content: 'Mercury'; }
|
||||
pre.src-metapost:before { content: 'MetaPost'; }
|
||||
pre.src-modula-2:before { content: 'Modula-2'; }
|
||||
pre.src-pascal:before { content: 'Pascal'; }
|
||||
pre.src-ps:before { content: 'PostScript'; }
|
||||
pre.src-prolog:before { content: 'Prolog'; }
|
||||
pre.src-simula:before { content: 'Simula'; }
|
||||
pre.src-tcl:before { content: 'tcl'; }
|
||||
pre.src-tex:before { content: 'TeX'; }
|
||||
pre.src-plain-tex:before { content: 'Plain TeX'; }
|
||||
pre.src-verilog:before { content: 'Verilog'; }
|
||||
pre.src-vhdl:before { content: 'VHDL'; }
|
||||
pre.src-xml:before { content: 'XML'; }
|
||||
pre.src-nxml:before { content: 'XML'; }
|
||||
/* add a generic configuration mode; LaTeX export needs an additional
|
||||
(add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */
|
||||
pre.src-conf:before { content: 'Configuration File'; }
|
||||
|
||||
table { border-collapse:collapse; }
|
||||
caption.t-above { caption-side: top; }
|
||||
caption.t-bottom { caption-side: bottom; }
|
||||
td, th { vertical-align:top; }
|
||||
th.org-right { text-align: center; }
|
||||
th.org-left { text-align: center; }
|
||||
th.org-center { text-align: center; }
|
||||
td.org-right { text-align: right; }
|
||||
td.org-left { text-align: left; }
|
||||
td.org-center { text-align: center; }
|
||||
dt { font-weight: bold; }
|
||||
.footpara { display: inline; }
|
||||
.footdef { margin-bottom: 1em; }
|
||||
.figure { padding: 1em; }
|
||||
.figure p { text-align: center; }
|
||||
.inlinetask {
|
||||
padding: 10px;
|
||||
border: 2px solid gray;
|
||||
margin: 10px;
|
||||
background: #ffffcc;
|
||||
}
|
||||
#org-div-home-and-up
|
||||
{ text-align: right; font-size: 70%; white-space: nowrap; }
|
||||
textarea { overflow-x: auto; }
|
||||
.linenr { font-size: smaller }
|
||||
.code-highlighted { background-color: #ffff00; }
|
||||
.org-info-js_info-navigation { border-style: none; }
|
||||
#org-info-js_console-label
|
||||
{ font-size: 10px; font-weight: bold; white-space: nowrap; }
|
||||
.org-info-js_search-highlight
|
||||
{ background-color: #ffff00; color: #000000; font-weight: bold; }
|
||||
.org-svg { width: 90%; }
|
||||
/*]]>*/-->
|
||||
</style>
|
||||
<link rel="stylesheet" title="Standard" href="qmckl.css" type="text/css" />
|
||||
|
||||
<script type="text/javascript" src="org-info.js">
|
||||
/**
|
||||
*
|
||||
* @source: org-info.js
|
||||
*
|
||||
* @licstart The following is the entire license notice for the
|
||||
* JavaScript code in org-info.js.
|
||||
*
|
||||
* Copyright (C) 2012-2019 Free Software Foundation, Inc.
|
||||
*
|
||||
*
|
||||
* The JavaScript code in this tag is free software: you can
|
||||
* redistribute it and/or modify it under the terms of the GNU
|
||||
* General Public License (GNU GPL) as published by the Free Software
|
||||
* Foundation, either version 3 of the License, or (at your option)
|
||||
* any later version. The code is distributed WITHOUT ANY WARRANTY;
|
||||
* without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||
* FOR A PARTICULAR PURPOSE. See the GNU GPL for more details.
|
||||
*
|
||||
* As additional permission under GNU GPL version 3 section 7, you
|
||||
* may distribute non-source (e.g., minimized or compacted) forms of
|
||||
* that code without the copy of the GNU GPL normally required by
|
||||
* section 4, provided you include this license notice and a URL
|
||||
* through which recipients can access the Corresponding Source.
|
||||
*
|
||||
* @licend The above is the entire license notice
|
||||
* for the JavaScript code in org-info.js.
|
||||
*
|
||||
*/
|
||||
</script>
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
/*
|
||||
@licstart The following is the entire license notice for the
|
||||
JavaScript code in this tag.
|
||||
|
||||
Copyright (C) 2012-2019 Free Software Foundation, Inc.
|
||||
|
||||
The JavaScript code in this tag is free software: you can
|
||||
redistribute it and/or modify it under the terms of the GNU
|
||||
General Public License (GNU GPL) as published by the Free Software
|
||||
Foundation, either version 3 of the License, or (at your option)
|
||||
any later version. The code is distributed WITHOUT ANY WARRANTY;
|
||||
without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||
FOR A PARTICULAR PURPOSE. See the GNU GPL for more details.
|
||||
|
||||
As additional permission under GNU GPL version 3 section 7, you
|
||||
may distribute non-source (e.g., minimized or compacted) forms of
|
||||
that code without the copy of the GNU GPL normally required by
|
||||
section 4, provided you include this license notice and a URL
|
||||
through which recipients can access the Corresponding Source.
|
||||
|
||||
|
||||
@licend The above is the entire license notice
|
||||
for the JavaScript code in this tag.
|
||||
*/
|
||||
|
||||
<!--/*--><![CDATA[/*><!--*/
|
||||
org_html_manager.set("TOC_DEPTH", "4");
|
||||
org_html_manager.set("LINK_HOME", "index.html");
|
||||
org_html_manager.set("LINK_UP", "");
|
||||
org_html_manager.set("LOCAL_TOC", "1");
|
||||
org_html_manager.set("VIEW_BUTTONS", "0");
|
||||
org_html_manager.set("MOUSE_HINT", "underline");
|
||||
org_html_manager.set("FIXED_TOC", "0");
|
||||
org_html_manager.set("TOC", "1");
|
||||
org_html_manager.set("VIEW", "info");
|
||||
org_html_manager.setup(); // activate after the parameters are set
|
||||
/*]]>*///-->
|
||||
</script>
|
||||
<script type="text/javascript">
|
||||
/*
|
||||
@licstart The following is the entire license notice for the
|
||||
JavaScript code in this tag.
|
||||
|
||||
Copyright (C) 2012-2019 Free Software Foundation, Inc.
|
||||
|
||||
The JavaScript code in this tag is free software: you can
|
||||
redistribute it and/or modify it under the terms of the GNU
|
||||
General Public License (GNU GPL) as published by the Free Software
|
||||
Foundation, either version 3 of the License, or (at your option)
|
||||
any later version. The code is distributed WITHOUT ANY WARRANTY;
|
||||
without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||
FOR A PARTICULAR PURPOSE. See the GNU GPL for more details.
|
||||
|
||||
As additional permission under GNU GPL version 3 section 7, you
|
||||
may distribute non-source (e.g., minimized or compacted) forms of
|
||||
that code without the copy of the GNU GPL normally required by
|
||||
section 4, provided you include this license notice and a URL
|
||||
through which recipients can access the Corresponding Source.
|
||||
|
||||
|
||||
@licend The above is the entire license notice
|
||||
for the JavaScript code in this tag.
|
||||
*/
|
||||
<!--/*--><![CDATA[/*><!--*/
|
||||
function CodeHighlightOn(elem, id)
|
||||
{
|
||||
var target = document.getElementById(id);
|
||||
if(null != target) {
|
||||
elem.cacheClassElem = elem.className;
|
||||
elem.cacheClassTarget = target.className;
|
||||
target.className = "code-highlighted";
|
||||
elem.className = "code-highlighted";
|
||||
}
|
||||
}
|
||||
function CodeHighlightOff(elem, id)
|
||||
{
|
||||
var target = document.getElementById(id);
|
||||
if(elem.cacheClassElem)
|
||||
elem.className = elem.cacheClassElem;
|
||||
if(elem.cacheClassTarget)
|
||||
target.className = elem.cacheClassTarget;
|
||||
}
|
||||
/*]]>*///-->
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="org-div-home-and-up">
|
||||
<a accesskey="h" href=""> UP </a>
|
||||
|
|
||||
<a accesskey="H" href="index.html"> HOME </a>
|
||||
</div><div id="content">
|
||||
<h1 class="title">Molecular Orbitals</h1>
|
||||
<div id="table-of-contents">
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#orgaae5d19">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#org395a121">1.1. Data structure</a></li>
|
||||
<li><a href="#org99a6f0f">1.2. Access functions</a></li>
|
||||
<li><a href="#org2c4c8a7">1.3. Initialization functions</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org6a5746c">2. Computation</a>
|
||||
<ul>
|
||||
<li><a href="#orgb402d37">2.1. Computation of MOs</a>
|
||||
<ul>
|
||||
<li><a href="#orge8e5467">2.1.1. Get</a></li>
|
||||
<li><a href="#orgbf253d7">2.1.2. Provide</a></li>
|
||||
<li><a href="#org57b6c07">2.1.3. Compute</a></li>
|
||||
<li><a href="#org7f29b08">2.1.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgaae5d19" class="outline-2">
|
||||
<h2 id="orgaae5d19"><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:
|
||||
</p>
|
||||
|
||||
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
<col class="org-left" />
|
||||
|
||||
<col class="org-left" />
|
||||
|
||||
<col class="org-left" />
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="org-left"><code>type</code></td>
|
||||
<td class="org-left"> </td>
|
||||
<td class="org-left">Gaussian (<code>'G'</code>) or Slater (<code>'S'</code>)</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>mo_num</code></td>
|
||||
<td class="org-left"> </td>
|
||||
<td class="org-left">Number of MOs</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>coefficient</code></td>
|
||||
<td class="org-left"><code>[mo_num, ao_num]</code></td>
|
||||
<td class="org-left">Orbital coefficients</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<p>
|
||||
Computed data:
|
||||
</p>
|
||||
|
||||
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
<col class="org-left" />
|
||||
|
||||
<col class="org-left" />
|
||||
|
||||
<col class="org-left" />
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="org-left"><code>mo_vgl</code></td>
|
||||
<td class="org-left"><code>[5][walk_num][elec_num][mo_num]</code></td>
|
||||
<td class="org-left">Value, gradients, Laplacian of the MOs at electron positions</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>mo_vgl_date</code></td>
|
||||
<td class="org-left"><code>uint64_t</code></td>
|
||||
<td class="org-left">Late modification date of Value, gradients, Laplacian of the MOs at electron positions</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org395a121" class="outline-3">
|
||||
<h3 id="org395a121"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #a020f0;">typedef</span> <span style="color: #a020f0;">struct</span> <span style="color: #228b22;">qmckl_mo_basis_struct</span> {
|
||||
<span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">mo_num</span>;
|
||||
<span style="color: #228b22;">double</span> * <span style="color: #a0522d;">coefficient</span>;
|
||||
|
||||
<span style="color: #228b22;">double</span> * <span style="color: #a0522d;">mo_vgl</span>;
|
||||
<span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">mo_vgl_date</span>;
|
||||
|
||||
<span style="color: #228b22;">int32_t</span> <span style="color: #a0522d;">uninitialized</span>;
|
||||
<span style="color: #228b22;">bool</span> <span style="color: #a0522d;">provided</span>;
|
||||
<span style="color: #228b22;">char</span> <span style="color: #a0522d;">type</span>;
|
||||
} <span style="color: #228b22;">qmckl_mo_basis_struct</span>;
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
The <code>uninitialized</code> integer contains one bit set to one for each
|
||||
initialization function which has not been called. It becomes equal
|
||||
to zero after all initialization functions have been called. The
|
||||
struct is then initialized and <code>provided == true</code>.
|
||||
Some values are initialized by default, and are not concerned by
|
||||
this mechanism.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org99a6f0f" class="outline-3">
|
||||
<h3 id="org99a6f0f"><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
|
||||
function returns <code>true</code>.
|
||||
</p>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">bool</span> <span style="color: #0000ff;">qmckl_mo_basis_provided</span> (<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>);
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2c4c8a7" class="outline-3">
|
||||
<h3 id="org2c4c8a7"><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
|
||||
called.
|
||||
</p>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_set_mo_basis_type</span> (<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #a020f0;">const</span> <span style="color: #228b22;">char</span> <span style="color: #a0522d;">t</span>);
|
||||
<span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_set_mo_basis_mo_num</span> (<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">mo_num</span>);
|
||||
<span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_set_mo_basis_coefficient</span> (<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> * <span style="color: #a0522d;">coefficient</span>);
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<p>
|
||||
When the basis set is completely entered, other data structures are
|
||||
computed to accelerate the calculations.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6a5746c" class="outline-2">
|
||||
<h2 id="org6a5746c"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-orgb402d37" class="outline-3">
|
||||
<h3 id="orgb402d37"><span class="section-number-3">2.1</span> Computation of MOs</h3>
|
||||
<div class="outline-text-3" id="text-2-1">
|
||||
</div>
|
||||
<div id="outline-container-orge8e5467" class="outline-4">
|
||||
<h4 id="orge8e5467"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-1-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_mo_basis_vgl</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">mo_vgl</span>);
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgbf253d7" class="outline-4">
|
||||
<h4 id="orgbf253d7"><span class="section-number-4">2.1.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org57b6c07" class="outline-4">
|
||||
<h4 id="org57b6c07"><span class="section-number-4">2.1.3</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-1-3">
|
||||
<table id="org26efd8d" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
<col class="org-left" />
|
||||
|
||||
<col class="org-left" />
|
||||
|
||||
<col class="org-left" />
|
||||
|
||||
<col class="org-left" />
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="org-left"><code>qmckl_context</code></td>
|
||||
<td class="org-left"><code>context</code></td>
|
||||
<td class="org-left">in</td>
|
||||
<td class="org-left">Global state</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>int64_t</code></td>
|
||||
<td class="org-left"><code>ao_num</code></td>
|
||||
<td class="org-left">in</td>
|
||||
<td class="org-left">Number of AOs</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>int64_t</code></td>
|
||||
<td class="org-left"><code>mo_num</code></td>
|
||||
<td class="org-left">in</td>
|
||||
<td class="org-left">Number of MOs</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>int64_t</code></td>
|
||||
<td class="org-left"><code>elec_num</code></td>
|
||||
<td class="org-left">in</td>
|
||||
<td class="org-left">Number of electrons</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>int64_t</code></td>
|
||||
<td class="org-left"><code>walk_num</code></td>
|
||||
<td class="org-left">in</td>
|
||||
<td class="org-left">Number of walkers</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>double</code></td>
|
||||
<td class="org-left"><code>coef_normalized[mo_num][ao_num]</code></td>
|
||||
<td class="org-left">in</td>
|
||||
<td class="org-left">AO to MO transformation matrix</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>double</code></td>
|
||||
<td class="org-left"><code>ao_vgl[5][walk_num][elec_num][ao_num]</code></td>
|
||||
<td class="org-left">in</td>
|
||||
<td class="org-left">Value, gradients and Laplacian of the AOs</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left"><code>double</code></td>
|
||||
<td class="org-left"><code>mo_vgl[5][walk_num][elec_num][mo_num]</code></td>
|
||||
<td class="org-left">out</td>
|
||||
<td class="org-left">Value, gradients and Laplacian of the MOs</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #228b22;">integer</span><span style="color: #a0522d;"> function qmckl_compute_mo_basis_gaussian_vgl_f(context, </span><span style="color: #a020f0;">&</span>
|
||||
ao_num, mo_num, elec_num, walk_num, <span style="color: #a020f0;">&</span>
|
||||
coef_normalized, ao_vgl, mo_vgl) <span style="color: #a020f0;">&</span>
|
||||
<span style="color: #a020f0;">result</span>(info)
|
||||
<span style="color: #a020f0;">use</span> <span style="color: #0000ff;">qmckl</span>
|
||||
<span style="color: #a020f0;">implicit</span> <span style="color: #228b22;">none</span>
|
||||
<span style="color: #228b22;">integer</span>(qmckl_context), <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> context</span>
|
||||
<span style="color: #228b22;">integer</span>*8 , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> ao_num, mo_num</span>
|
||||
<span style="color: #228b22;">integer</span>*8 , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> elec_num</span>
|
||||
<span style="color: #228b22;">integer</span>*8 , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> walk_num</span>
|
||||
<span style="color: #228b22;">double precision</span> , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> ao_vgl(ao_num,elec_num,walk_num,5)</span>
|
||||
<span style="color: #228b22;">double precision</span> , <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> coef_normalized(ao_num,mo_num)</span>
|
||||
<span style="color: #228b22;">double precision</span> , <span style="color: #a020f0;">intent</span>(out) ::<span style="color: #a0522d;"> mo_vgl(mo_num,elec_num,walk_num,5)</span>
|
||||
<span style="color: #228b22;">logical</span>*8 ::<span style="color: #a0522d;"> TransA, TransB</span>
|
||||
<span style="color: #228b22;">double precision</span> ::<span style="color: #a0522d;"> alpha, beta</span>
|
||||
<span style="color: #228b22;">integer</span> ::<span style="color: #a0522d;"> info_qmckl_dgemm_value</span>
|
||||
<span style="color: #228b22;">integer</span> ::<span style="color: #a0522d;"> info_qmckl_dgemm_Gx </span>
|
||||
<span style="color: #228b22;">integer</span> ::<span style="color: #a0522d;"> info_qmckl_dgemm_Gy </span>
|
||||
<span style="color: #228b22;">integer</span> ::<span style="color: #a0522d;"> info_qmckl_dgemm_Gz </span>
|
||||
<span style="color: #228b22;">integer</span> ::<span style="color: #a0522d;"> info_qmckl_dgemm_lap </span>
|
||||
<span style="color: #228b22;">integer</span>*8 ::<span style="color: #a0522d;"> M, N, K, LDA, LDB, LDC, i,j</span>
|
||||
|
||||
<span style="color: #228b22;">integer</span>*8 ::<span style="color: #a0522d;"> inucl, iprim, iwalk, ielec, ishell</span>
|
||||
<span style="color: #228b22;">double precision</span> ::<span style="color: #a0522d;"> x, y, z, two_a, ar2, r2, v, cutoff</span>
|
||||
TransA = <span style="color: #a020f0;">.False.</span>
|
||||
TransB = <span style="color: #a020f0;">.False.</span>
|
||||
alpha = 1.0d0
|
||||
beta = 0.0d0
|
||||
|
||||
info = QMCKL_SUCCESS
|
||||
info_qmckl_dgemm_value = QMCKL_SUCCESS
|
||||
info_qmckl_dgemm_Gx = QMCKL_SUCCESS
|
||||
info_qmckl_dgemm_Gy = QMCKL_SUCCESS
|
||||
info_qmckl_dgemm_Gz = QMCKL_SUCCESS
|
||||
info_qmckl_dgemm_lap = QMCKL_SUCCESS
|
||||
|
||||
! <span style="color: #b22222;">Don't compute exponentials when the result will be almost zero.</span>
|
||||
! <span style="color: #b22222;">TODO : Use numerical precision here</span>
|
||||
cutoff = -dlog(1.d-15)
|
||||
M = 1_8
|
||||
N = mo_num * 1_8
|
||||
K = ao_num * 1_8
|
||||
LDA = M
|
||||
LDB = K
|
||||
LDC = M
|
||||
|
||||
<span style="color: #a020f0;">do</span> iwalk = 1, walk_num
|
||||
<span style="color: #a020f0;">do</span> ielec = 1, elec_num
|
||||
! <span style="color: #b22222;">Value</span>
|
||||
info_qmckl_dgemm_value = qmckl_dgemm(context,TransA, TransB, M, N, K, alpha, <span style="color: #a020f0;">&</span>
|
||||
ao_vgl(:, ielec, iwalk, 1), LDA, <span style="color: #a020f0;">&</span>
|
||||
coef_normalized(1:ao_num,1:mo_num),<span style="color: #a020f0;">size</span>(coef_normalized,1) * 1_8, <span style="color: #a020f0;">&</span>
|
||||
beta, <span style="color: #a020f0;">&</span>
|
||||
mo_vgl(:,ielec,iwalk,1),LDC)
|
||||
! <span style="color: #b22222;">Grad_x</span>
|
||||
info_qmckl_dgemm_Gx = qmckl_dgemm(context,TransA, TransB, M, N, K, alpha, <span style="color: #a020f0;">&</span>
|
||||
ao_vgl(:, ielec, iwalk, 2), LDA, <span style="color: #a020f0;">&</span>
|
||||
coef_normalized(1:ao_num,1:mo_num),<span style="color: #a020f0;">size</span>(coef_normalized,1) * 1_8, <span style="color: #a020f0;">&</span>
|
||||
beta, <span style="color: #a020f0;">&</span>
|
||||
mo_vgl(:,ielec,iwalk,2),LDC)
|
||||
! <span style="color: #b22222;">Grad_y</span>
|
||||
info_qmckl_dgemm_Gy = qmckl_dgemm(context,TransA, TransB, M, N, K, alpha, <span style="color: #a020f0;">&</span>
|
||||
ao_vgl(:, ielec, iwalk, 3), LDA, <span style="color: #a020f0;">&</span>
|
||||
coef_normalized(1:ao_num,1:mo_num),<span style="color: #a020f0;">size</span>(coef_normalized,1) * 1_8, <span style="color: #a020f0;">&</span>
|
||||
beta, <span style="color: #a020f0;">&</span>
|
||||
mo_vgl(:,ielec,iwalk,3),LDC)
|
||||
! <span style="color: #b22222;">Grad_z</span>
|
||||
info_qmckl_dgemm_Gz = qmckl_dgemm(context,TransA, TransB, M, N, K, alpha, <span style="color: #a020f0;">&</span>
|
||||
ao_vgl(:, ielec, iwalk, 4), LDA, <span style="color: #a020f0;">&</span>
|
||||
coef_normalized(1:ao_num,1:mo_num),<span style="color: #a020f0;">size</span>(coef_normalized,1) * 1_8, <span style="color: #a020f0;">&</span>
|
||||
beta, <span style="color: #a020f0;">&</span>
|
||||
mo_vgl(:,ielec,iwalk,4),LDC)
|
||||
! <span style="color: #b22222;">Lapl_z</span>
|
||||
info_qmckl_dgemm_lap = qmckl_dgemm(context, TransA, TransB, M, N, K, alpha, <span style="color: #a020f0;">&</span>
|
||||
ao_vgl(:, ielec, iwalk, 5), LDA, <span style="color: #a020f0;">&</span>
|
||||
coef_normalized(1:ao_num,1:mo_num),<span style="color: #a020f0;">size</span>(coef_normalized,1) * 1_8, <span style="color: #a020f0;">&</span>
|
||||
beta, <span style="color: #a020f0;">&</span>
|
||||
mo_vgl(:,ielec,iwalk,5),LDC)
|
||||
<span style="color: #a020f0;">end do</span>
|
||||
<span style="color: #a020f0;">end do</span>
|
||||
|
||||
<span style="color: #a020f0;">if</span>(info_qmckl_dgemm_value <span style="color: #a020f0;">.eq.</span> QMCKL_SUCCESS <span style="color: #a020f0;">.and.</span> <span style="color: #a020f0;">&</span>
|
||||
info_qmckl_dgemm_Gx <span style="color: #a020f0;">.eq.</span> QMCKL_SUCCESS <span style="color: #a020f0;">.and.</span> <span style="color: #a020f0;">&</span>
|
||||
info_qmckl_dgemm_Gy <span style="color: #a020f0;">.eq.</span> QMCKL_SUCCESS <span style="color: #a020f0;">.and.</span> <span style="color: #a020f0;">&</span>
|
||||
info_qmckl_dgemm_Gz <span style="color: #a020f0;">.eq.</span> QMCKL_SUCCESS <span style="color: #a020f0;">.and.</span> <span style="color: #a020f0;">&</span>
|
||||
info_qmckl_dgemm_lap <span style="color: #a020f0;">.eq.</span> QMCKL_SUCCESS ) <span style="color: #a020f0;">then</span>
|
||||
info = QMCKL_SUCCESS
|
||||
<span style="color: #a020f0;">else</span>
|
||||
info = QMCKL_FAILURE
|
||||
<span style="color: #a020f0;">end if</span>
|
||||
|
||||
<span style="color: #a020f0;">end function</span> <span style="color: #0000ff;">qmckl_compute_mo_basis_gaussian_vgl_f</span>
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_compute_mo_basis_gaussian_vgl</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;">int64_t</span> <span style="color: #a0522d;">ao_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">mo_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">elec_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">walk_num</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">coef_normalized</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">ao_vgl</span>,
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">mo_vgl</span> );
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org7f29b08" class="outline-4">
|
||||
<h4 id="org7f29b08"><span class="section-number-4">2.1.4</span> Test</h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-10-06 Wed 07:32</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
</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-28 Tue 22:27 -->
|
||||
<!-- 2021-10-06 Wed 07:32 -->
|
||||
<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="#orgb65782e">1. Context</a>
|
||||
<li><a href="#orge88113e">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#org44bc39f">1.1. Data structure</a></li>
|
||||
<li><a href="#orga4fcd70">1.2. Access functions</a></li>
|
||||
<li><a href="#org22f0e47">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org49e87c9">1.4. Test</a></li>
|
||||
<li><a href="#org1a67dcf">1.1. Data structure</a></li>
|
||||
<li><a href="#org479da3b">1.2. Access functions</a></li>
|
||||
<li><a href="#org48ac294">1.3. Initialization functions</a></li>
|
||||
<li><a href="#orgb28f725">1.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org4b74fbd">2. Computation</a>
|
||||
<li><a href="#orgf1e5135">2. Computation</a>
|
||||
<ul>
|
||||
<li><a href="#org04091c4">2.1. Nucleus-nucleus distances</a>
|
||||
<li><a href="#orgd8b7e2f">2.1. Nucleus-nucleus distances</a>
|
||||
<ul>
|
||||
<li><a href="#org26ba049">2.1.1. Get</a></li>
|
||||
<li><a href="#orgf628c8c">2.1.2. Compute</a></li>
|
||||
<li><a href="#orgc3e893c">2.1.3. Test</a></li>
|
||||
<li><a href="#org5d19724">2.1.1. Get</a></li>
|
||||
<li><a href="#org4a0d144">2.1.2. Compute</a></li>
|
||||
<li><a href="#orge408682">2.1.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgdf2307f">2.2. Nucleus-nucleus rescaled distances</a>
|
||||
<li><a href="#org755db34">2.2. Nucleus-nucleus rescaled distances</a>
|
||||
<ul>
|
||||
<li><a href="#org527dbd6">2.2.1. Get</a></li>
|
||||
<li><a href="#org8ea6e3a">2.2.2. Compute</a></li>
|
||||
<li><a href="#orgb4118f8">2.2.3. Test</a></li>
|
||||
<li><a href="#orgb251411">2.2.1. Get</a></li>
|
||||
<li><a href="#org8f05e01">2.2.2. Compute</a></li>
|
||||
<li><a href="#org38ca22e">2.2.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org9b52b00">2.3. Nuclear repulsion energy</a>
|
||||
<li><a href="#org8324664">2.3. Nuclear repulsion energy</a>
|
||||
<ul>
|
||||
<li><a href="#org34e59d6">2.3.1. Get</a></li>
|
||||
<li><a href="#org0c05565">2.3.2. Compute</a></li>
|
||||
<li><a href="#orgf0d6a1e">2.3.3. Test</a></li>
|
||||
<li><a href="#org6e9a14c">2.3.1. Get</a></li>
|
||||
<li><a href="#org3e70aa7">2.3.2. Compute</a></li>
|
||||
<li><a href="#org950c830">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-orgb65782e" class="outline-2">
|
||||
<h2 id="orgb65782e"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-orge88113e" class="outline-2">
|
||||
<h2 id="orge88113e"><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-org44bc39f" class="outline-3">
|
||||
<h3 id="org44bc39f"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-org1a67dcf" class="outline-3">
|
||||
<h3 id="org1a67dcf"><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-orga4fcd70" class="outline-3">
|
||||
<h3 id="orga4fcd70"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div id="outline-container-org479da3b" class="outline-3">
|
||||
<h3 id="org479da3b"><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-org22f0e47" class="outline-3">
|
||||
<h3 id="org22f0e47"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-org48ac294" class="outline-3">
|
||||
<h3 id="org48ac294"><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-org49e87c9" class="outline-3">
|
||||
<h3 id="org49e87c9"><span class="section-number-3">1.4</span> Test</h3>
|
||||
<div id="outline-container-orgb28f725" class="outline-3">
|
||||
<h3 id="orgb28f725"><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-org4b74fbd" class="outline-2">
|
||||
<h2 id="org4b74fbd"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div id="outline-container-orgf1e5135" class="outline-2">
|
||||
<h2 id="orgf1e5135"><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-org04091c4" class="outline-3">
|
||||
<h3 id="org04091c4"><span class="section-number-3">2.1</span> Nucleus-nucleus distances</h3>
|
||||
<div id="outline-container-orgd8b7e2f" class="outline-3">
|
||||
<h3 id="orgd8b7e2f"><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-org26ba049" class="outline-4">
|
||||
<h4 id="org26ba049"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div id="outline-container-org5d19724" class="outline-4">
|
||||
<h4 id="org5d19724"><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-orgf628c8c" class="outline-4">
|
||||
<h4 id="orgf628c8c"><span class="section-number-4">2.1.2</span> Compute</h4>
|
||||
<div id="outline-container-org4a0d144" class="outline-4">
|
||||
<h4 id="org4a0d144"><span class="section-number-4">2.1.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-1-2">
|
||||
<table id="orgeeaa384" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org38be68c" 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-orgc3e893c" class="outline-4">
|
||||
<h4 id="orgc3e893c"><span class="section-number-4">2.1.3</span> Test</h4>
|
||||
<div id="outline-container-orge408682" class="outline-4">
|
||||
<h4 id="orge408682"><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-orgdf2307f" class="outline-3">
|
||||
<h3 id="orgdf2307f"><span class="section-number-3">2.2</span> Nucleus-nucleus rescaled distances</h3>
|
||||
<div id="outline-container-org755db34" class="outline-3">
|
||||
<h3 id="org755db34"><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-org527dbd6" class="outline-4">
|
||||
<h4 id="org527dbd6"><span class="section-number-4">2.2.1</span> Get</h4>
|
||||
<div id="outline-container-orgb251411" class="outline-4">
|
||||
<h4 id="orgb251411"><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-org8ea6e3a" class="outline-4">
|
||||
<h4 id="org8ea6e3a"><span class="section-number-4">2.2.2</span> Compute</h4>
|
||||
<div id="outline-container-org8f05e01" class="outline-4">
|
||||
<h4 id="org8f05e01"><span class="section-number-4">2.2.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-2-2">
|
||||
<table id="orgd6ea099" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org985e2dc" 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-orgb4118f8" class="outline-4">
|
||||
<h4 id="orgb4118f8"><span class="section-number-4">2.2.3</span> Test</h4>
|
||||
<div id="outline-container-org38ca22e" class="outline-4">
|
||||
<h4 id="org38ca22e"><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-org9b52b00" class="outline-3">
|
||||
<h3 id="org9b52b00"><span class="section-number-3">2.3</span> Nuclear repulsion energy</h3>
|
||||
<div id="outline-container-org8324664" class="outline-3">
|
||||
<h3 id="org8324664"><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-org34e59d6" class="outline-4">
|
||||
<h4 id="org34e59d6"><span class="section-number-4">2.3.1</span> Get</h4>
|
||||
<div id="outline-container-org6e9a14c" class="outline-4">
|
||||
<h4 id="org6e9a14c"><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-org0c05565" class="outline-4">
|
||||
<h4 id="org0c05565"><span class="section-number-4">2.3.2</span> Compute</h4>
|
||||
<div id="outline-container-org3e70aa7" class="outline-4">
|
||||
<h4 id="org3e70aa7"><span class="section-number-4">2.3.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-3-2">
|
||||
<table id="org01ec820" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgb7e2ddc" 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-orgf0d6a1e" class="outline-4">
|
||||
<h4 id="orgf0d6a1e"><span class="section-number-4">2.3.3</span> Test</h4>
|
||||
<div id="outline-container-org950c830" class="outline-4">
|
||||
<h4 id="org950c830"><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-28 Tue 22:27</p>
|
||||
<p class="date">Created: 2021-10-06 Wed 07:32</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-28 Tue 22:27 -->
|
||||
<!-- 2021-10-06 Wed 07:31 -->
|
||||
<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="#orgbbd46ff">1. Control of the numerical precision</a></li>
|
||||
<li><a href="#org28e0cbd">2. Precision</a></li>
|
||||
<li><a href="#orgd6528e3">3. Range</a></li>
|
||||
<li><a href="#org8f41215">4. Helper functions</a></li>
|
||||
<li><a href="#org6b9bccd">1. Control of the numerical precision</a></li>
|
||||
<li><a href="#orgd5591e2">2. Precision</a></li>
|
||||
<li><a href="#org84bb0aa">3. Range</a></li>
|
||||
<li><a href="#org23c1568">4. Helper functions</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgbbd46ff" class="outline-2">
|
||||
<h2 id="orgbbd46ff"><span class="section-number-2">1</span> Control of the numerical precision</h2>
|
||||
<div id="outline-container-org6b9bccd" class="outline-2">
|
||||
<h2 id="org6b9bccd"><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="org8de4d85" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org17c703e" 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-org28e0cbd" class="outline-2">
|
||||
<h2 id="org28e0cbd"><span class="section-number-2">2</span> Precision</h2>
|
||||
<div id="outline-container-orgd5591e2" class="outline-2">
|
||||
<h2 id="orgd5591e2"><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-orgd6528e3" class="outline-2">
|
||||
<h2 id="orgd6528e3"><span class="section-number-2">3</span> Range</h2>
|
||||
<div id="outline-container-org84bb0aa" class="outline-2">
|
||||
<h2 id="org84bb0aa"><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-org8f41215" class="outline-2">
|
||||
<h2 id="org8f41215"><span class="section-number-2">4</span> Helper functions</h2>
|
||||
<div id="outline-container-org23c1568" class="outline-2">
|
||||
<h2 id="org23c1568"><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-28 Tue 22:27</p>
|
||||
<p class="date">Created: 2021-10-06 Wed 07:31</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-28 Tue 22:27 -->
|
||||
<!-- 2021-10-06 Wed 07:32 -->
|
||||
<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="#orgf2f1379">1. Headers</a></li>
|
||||
<li><a href="#org3409152">2. Naïve Sherman-Morrison</a>
|
||||
<li><a href="#orge336211">1. Headers</a></li>
|
||||
<li><a href="#org7c75ec5">2. Naïve Sherman-Morrison</a>
|
||||
<ul>
|
||||
<li><a href="#org1f52907">2.1. <code>qmckl_sherman_morrison</code></a>
|
||||
<li><a href="#orgf473601">2.1. <code>qmckl_sherman_morrison</code></a>
|
||||
<ul>
|
||||
<li><a href="#org8475876">2.1.1. Requirements</a></li>
|
||||
<li><a href="#orge9fc428">2.1.2. C header</a></li>
|
||||
<li><a href="#orgf788947">2.1.3. Source</a></li>
|
||||
<li><a href="#org7297014">2.1.4. Performance</a></li>
|
||||
<li><a href="#org1328828">2.1.1. Requirements</a></li>
|
||||
<li><a href="#org2d80028">2.1.2. C header</a></li>
|
||||
<li><a href="#orgc899c0c">2.1.3. Source</a></li>
|
||||
<li><a href="#orgccdb91a">2.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org082d13d">3. Woodbury 2x2</a>
|
||||
<li><a href="#orgaca0813">3. Woodbury 2x2</a>
|
||||
<ul>
|
||||
<li><a href="#org01ce830">3.1. <code>qmckl_woodbury_2</code></a>
|
||||
<li><a href="#org039c1e1">3.1. <code>qmckl_woodbury_2</code></a>
|
||||
<ul>
|
||||
<li><a href="#orgcf8cfd6">3.1.1. Requirements</a></li>
|
||||
<li><a href="#orgc13d61d">3.1.2. C header</a></li>
|
||||
<li><a href="#org3fea8ec">3.1.3. Source</a></li>
|
||||
<li><a href="#org3c90641">3.1.4. Performance</a></li>
|
||||
<li><a href="#orgface94b">3.1.1. Requirements</a></li>
|
||||
<li><a href="#orgbf72d45">3.1.2. C header</a></li>
|
||||
<li><a href="#orgc499696">3.1.3. Source</a></li>
|
||||
<li><a href="#org08aa57f">3.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org9134732">4. Woodbury 3x3</a>
|
||||
<li><a href="#orgffde58d">4. Woodbury 3x3</a>
|
||||
<ul>
|
||||
<li><a href="#org2657414">4.1. <code>qmckl_woodbury_3</code></a>
|
||||
<li><a href="#orgcd63f8c">4.1. <code>qmckl_woodbury_3</code></a>
|
||||
<ul>
|
||||
<li><a href="#orga394247">4.1.1. Requirements</a></li>
|
||||
<li><a href="#org0a2b2f1">4.1.2. C header</a></li>
|
||||
<li><a href="#orgf205a36">4.1.3. Source</a></li>
|
||||
<li><a href="#orga54063f">4.1.4. Performance…</a></li>
|
||||
<li><a href="#org21d6581">4.1.1. Requirements</a></li>
|
||||
<li><a href="#orgd95df6b">4.1.2. C header</a></li>
|
||||
<li><a href="#org524b79c">4.1.3. Source</a></li>
|
||||
<li><a href="#orgd329df5">4.1.4. Performance…</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org3de62af">5. Sherman-Morrison with update splitting</a>
|
||||
<li><a href="#org66b9008">5. Sherman-Morrison with update splitting</a>
|
||||
<ul>
|
||||
<li><a href="#orgf9c9956">5.1. <code>qmckl_sherman_morrison_splitting</code></a>
|
||||
<li><a href="#orgec6f87a">5.1. <code>qmckl_sherman_morrison_splitting</code></a>
|
||||
<ul>
|
||||
<li><a href="#org3624732">5.1.1. Requirements</a></li>
|
||||
<li><a href="#orgd2b835d">5.1.2. C header</a></li>
|
||||
<li><a href="#org60383e9">5.1.3. Source</a></li>
|
||||
<li><a href="#org847854d">5.1.4. Performance…</a></li>
|
||||
<li><a href="#orgfa16574">5.1.1. Requirements</a></li>
|
||||
<li><a href="#org1e56828">5.1.2. C header</a></li>
|
||||
<li><a href="#orgb14a941">5.1.3. Source</a></li>
|
||||
<li><a href="#orgfcc3c76">5.1.4. Performance…</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org8166ec4">6. Woodbury 3x3 and 2x2 with Sherman-Morrison and update splitting</a>
|
||||
<li><a href="#org16b0875">6. Woodbury 3x3 and 2x2 with Sherman-Morrison and update splitting</a>
|
||||
<ul>
|
||||
<li><a href="#org4c373d9">6.1. <code>qmckl_sherman_morrison_smw32s</code></a>
|
||||
<li><a href="#orgd7505c2">6.1. <code>qmckl_sherman_morrison_smw32s</code></a>
|
||||
<ul>
|
||||
<li><a href="#org2f605a9">6.1.1. Requirements</a></li>
|
||||
<li><a href="#orgaa9b101">6.1.2. C header</a></li>
|
||||
<li><a href="#org8ae53ec">6.1.3. Source</a></li>
|
||||
<li><a href="#orgeded056">6.1.4. Performance…</a></li>
|
||||
<li><a href="#org75ca785">6.1.1. Requirements</a></li>
|
||||
<li><a href="#org3c3e227">6.1.2. C header</a></li>
|
||||
<li><a href="#orgb58fbd0">6.1.3. Source</a></li>
|
||||
<li><a href="#orgc0424a3">6.1.4. Performance…</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org532e981">7. Helper Functions</a>
|
||||
<li><a href="#org3f4c340">7. Helper Functions</a>
|
||||
<ul>
|
||||
<li><a href="#org5dec6a3">7.1. <code>qmckl_slagel_splitting</code></a>
|
||||
<li><a href="#org159d140">7.1. <code>qmckl_slagel_splitting</code></a>
|
||||
<ul>
|
||||
<li><a href="#orgb1a41e3">7.1.1. Requirements</a></li>
|
||||
<li><a href="#orgf993732">7.1.2. C header</a></li>
|
||||
<li><a href="#org222c067">7.1.3. Source</a></li>
|
||||
<li><a href="#orgf7b8396">7.1.4. Performance</a></li>
|
||||
<li><a href="#orge988b5f">7.1.1. Requirements</a></li>
|
||||
<li><a href="#orgc1f1b74">7.1.2. C header</a></li>
|
||||
<li><a href="#orgc320251">7.1.3. Source</a></li>
|
||||
<li><a href="#orgdc325b9">7.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org8149db6">8. End of files</a></li>
|
||||
<li><a href="#orgd579221">8. End of files</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf2f1379" class="outline-2">
|
||||
<h2 id="orgf2f1379"><span class="section-number-2">1</span> Headers</h2>
|
||||
<div id="outline-container-orge336211" class="outline-2">
|
||||
<h2 id="orge336211"><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-org3409152" class="outline-2">
|
||||
<h2 id="org3409152"><span class="section-number-2">2</span> Naïve Sherman-Morrison</h2>
|
||||
<div id="outline-container-org7c75ec5" class="outline-2">
|
||||
<h2 id="org7c75ec5"><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-org1f52907" class="outline-3">
|
||||
<h3 id="org1f52907"><span class="section-number-3">2.1</span> <code>qmckl_sherman_morrison</code></h3>
|
||||
<div id="outline-container-orgf473601" class="outline-3">
|
||||
<h3 id="orgf473601"><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="org2da6b3b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgb4f68e3" 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-org8475876" class="outline-4">
|
||||
<h4 id="org8475876"><span class="section-number-4">2.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org1328828" class="outline-4">
|
||||
<h4 id="org1328828"><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-orge9fc428" class="outline-4">
|
||||
<h4 id="orge9fc428"><span class="section-number-4">2.1.2</span> C header</h4>
|
||||
<div id="outline-container-org2d80028" class="outline-4">
|
||||
<h4 id="org2d80028"><span class="section-number-4">2.1.2</span> C header</h4>
|
||||
<div class="outline-text-4" id="text-2-1-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_sherman_morrison</span> (
|
||||
@ -571,8 +571,8 @@ If \(1+v_j^TS^{-1}u_j \leq \epsilon\) the update is rejected and the kernel exit
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf788947" class="outline-4">
|
||||
<h4 id="orgf788947"><span class="section-number-4">2.1.3</span> Source</h4>
|
||||
<div id="outline-container-orgc899c0c" class="outline-4">
|
||||
<h4 id="orgc899c0c"><span class="section-number-4">2.1.3</span> Source</h4>
|
||||
<div class="outline-text-4" id="text-2-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #483d8b;">#include</span> <span style="color: #8b2252;"><stdbool.h></span>
|
||||
@ -635,8 +635,8 @@ If \(1+v_j^TS^{-1}u_j \leq \epsilon\) the update is rejected and the kernel exit
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7297014" class="outline-4">
|
||||
<h4 id="org7297014"><span class="section-number-4">2.1.4</span> Performance</h4>
|
||||
<div id="outline-container-orgccdb91a" class="outline-4">
|
||||
<h4 id="orgccdb91a"><span class="section-number-4">2.1.4</span> Performance</h4>
|
||||
<div class="outline-text-4" id="text-2-1-4">
|
||||
<p>
|
||||
This function performs best when there is only 1 rank-1 update in the update cycle. It is not useful to
|
||||
@ -648,12 +648,12 @@ where applying the update causes singular behaviour.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org082d13d" class="outline-2">
|
||||
<h2 id="org082d13d"><span class="section-number-2">3</span> Woodbury 2x2</h2>
|
||||
<div id="outline-container-orgaca0813" class="outline-2">
|
||||
<h2 id="orgaca0813"><span class="section-number-2">3</span> Woodbury 2x2</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
</div>
|
||||
<div id="outline-container-org01ce830" class="outline-3">
|
||||
<h3 id="org01ce830"><span class="section-number-3">3.1</span> <code>qmckl_woodbury_2</code></h3>
|
||||
<div id="outline-container-org039c1e1" class="outline-3">
|
||||
<h3 id="org039c1e1"><span class="section-number-3">3.1</span> <code>qmckl_woodbury_2</code></h3>
|
||||
<div class="outline-text-3" id="text-3-1">
|
||||
<p>
|
||||
The Woodbury 2x2 kernel. It is used to apply two rank-1 updates at once. The formula used in
|
||||
@ -671,7 +671,7 @@ where
|
||||
</p>
|
||||
|
||||
|
||||
<table id="org36d74de" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org4331e04" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -729,8 +729,8 @@ where
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgcf8cfd6" class="outline-4">
|
||||
<h4 id="orgcf8cfd6"><span class="section-number-4">3.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-orgface94b" class="outline-4">
|
||||
<h4 id="orgface94b"><span class="section-number-4">3.1.1</span> Requirements</h4>
|
||||
<div class="outline-text-4" id="text-3-1-1">
|
||||
<ul class="org-ul">
|
||||
<li><code>context</code> is not <code>qmckl_null_context</code></li>
|
||||
@ -743,8 +743,8 @@ where
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc13d61d" class="outline-4">
|
||||
<h4 id="orgc13d61d"><span class="section-number-4">3.1.2</span> C header</h4>
|
||||
<div id="outline-container-orgbf72d45" class="outline-4">
|
||||
<h4 id="orgbf72d45"><span class="section-number-4">3.1.2</span> C header</h4>
|
||||
<div class="outline-text-4" id="text-3-1-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_woodbury_2</span> (
|
||||
@ -759,8 +759,8 @@ where
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3fea8ec" class="outline-4">
|
||||
<h4 id="org3fea8ec"><span class="section-number-4">3.1.3</span> Source</h4>
|
||||
<div id="outline-container-orgc499696" class="outline-4">
|
||||
<h4 id="orgc499696"><span class="section-number-4">3.1.3</span> Source</h4>
|
||||
<div class="outline-text-4" id="text-3-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #483d8b;">#include</span> <span style="color: #8b2252;"><stdbool.h></span>
|
||||
@ -840,8 +840,8 @@ where
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3c90641" class="outline-4">
|
||||
<h4 id="org3c90641"><span class="section-number-4">3.1.4</span> Performance</h4>
|
||||
<div id="outline-container-org08aa57f" class="outline-4">
|
||||
<h4 id="org08aa57f"><span class="section-number-4">3.1.4</span> Performance</h4>
|
||||
<div class="outline-text-4" id="text-3-1-4">
|
||||
<p>
|
||||
This function is most efficient when used in cases where there are only 2 rank-1 updates and
|
||||
@ -852,12 +852,12 @@ it is sure they will not result in a singular matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9134732" class="outline-2">
|
||||
<h2 id="org9134732"><span class="section-number-2">4</span> Woodbury 3x3</h2>
|
||||
<div id="outline-container-orgffde58d" class="outline-2">
|
||||
<h2 id="orgffde58d"><span class="section-number-2">4</span> Woodbury 3x3</h2>
|
||||
<div class="outline-text-2" id="text-4">
|
||||
</div>
|
||||
<div id="outline-container-org2657414" class="outline-3">
|
||||
<h3 id="org2657414"><span class="section-number-3">4.1</span> <code>qmckl_woodbury_3</code></h3>
|
||||
<div id="outline-container-orgcd63f8c" class="outline-3">
|
||||
<h3 id="orgcd63f8c"><span class="section-number-3">4.1</span> <code>qmckl_woodbury_3</code></h3>
|
||||
<div class="outline-text-3" id="text-4-1">
|
||||
<p>
|
||||
The 3x3 version of the Woodbury 2x2 kernel. It is used to apply three
|
||||
@ -871,7 +871,7 @@ except for the sizes of the following matrices:
|
||||
\(D := VS^{-1}\), a \(3 \times Dim\) matrix
|
||||
</p>
|
||||
|
||||
<table id="org513115d" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgebb07e1" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -929,8 +929,8 @@ except for the sizes of the following matrices:
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga394247" class="outline-4">
|
||||
<h4 id="orga394247"><span class="section-number-4">4.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org21d6581" class="outline-4">
|
||||
<h4 id="org21d6581"><span class="section-number-4">4.1.1</span> Requirements</h4>
|
||||
<div class="outline-text-4" id="text-4-1-1">
|
||||
<ul class="org-ul">
|
||||
<li><code>context</code> is not <code>qmckl_null_context</code></li>
|
||||
@ -943,8 +943,8 @@ except for the sizes of the following matrices:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0a2b2f1" class="outline-4">
|
||||
<h4 id="org0a2b2f1"><span class="section-number-4">4.1.2</span> C header</h4>
|
||||
<div id="outline-container-orgd95df6b" class="outline-4">
|
||||
<h4 id="orgd95df6b"><span class="section-number-4">4.1.2</span> C header</h4>
|
||||
<div class="outline-text-4" id="text-4-1-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_woodbury_3</span> (
|
||||
@ -959,8 +959,8 @@ except for the sizes of the following matrices:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf205a36" class="outline-4">
|
||||
<h4 id="orgf205a36"><span class="section-number-4">4.1.3</span> Source</h4>
|
||||
<div id="outline-container-org524b79c" class="outline-4">
|
||||
<h4 id="org524b79c"><span class="section-number-4">4.1.3</span> Source</h4>
|
||||
<div class="outline-text-4" id="text-4-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #483d8b;">#include</span> <span style="color: #8b2252;"><stdbool.h></span>
|
||||
@ -1055,8 +1055,8 @@ except for the sizes of the following matrices:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga54063f" class="outline-4">
|
||||
<h4 id="orga54063f"><span class="section-number-4">4.1.4</span> Performance…</h4>
|
||||
<div id="outline-container-orgd329df5" class="outline-4">
|
||||
<h4 id="orgd329df5"><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-org3de62af" class="outline-2">
|
||||
<h2 id="org3de62af"><span class="section-number-2">5</span> Sherman-Morrison with update splitting</h2>
|
||||
<div id="outline-container-org66b9008" class="outline-2">
|
||||
<h2 id="org66b9008"><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-orgf9c9956" class="outline-3">
|
||||
<h3 id="orgf9c9956"><span class="section-number-3">5.1</span> <code>qmckl_sherman_morrison_splitting</code></h3>
|
||||
<div id="outline-container-orgec6f87a" class="outline-3">
|
||||
<h3 id="orgec6f87a"><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="org71d747b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org78b68c4" 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-org3624732" class="outline-4">
|
||||
<h4 id="org3624732"><span class="section-number-4">5.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-orgfa16574" class="outline-4">
|
||||
<h4 id="orgfa16574"><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-orgd2b835d" class="outline-4">
|
||||
<h4 id="orgd2b835d"><span class="section-number-4">5.1.2</span> C header</h4>
|
||||
<div id="outline-container-org1e56828" class="outline-4">
|
||||
<h4 id="org1e56828"><span class="section-number-4">5.1.2</span> C header</h4>
|
||||
<div class="outline-text-4" id="text-5-1-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_sherman_morrison_splitting</span> (
|
||||
@ -1186,8 +1186,8 @@ kernel exits with an exit code.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org60383e9" class="outline-4">
|
||||
<h4 id="org60383e9"><span class="section-number-4">5.1.3</span> Source</h4>
|
||||
<div id="outline-container-orgb14a941" class="outline-4">
|
||||
<h4 id="orgb14a941"><span class="section-number-4">5.1.3</span> Source</h4>
|
||||
<div class="outline-text-4" id="text-5-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #483d8b;">#include</span> <span style="color: #8b2252;"><stdbool.h></span>
|
||||
@ -1221,8 +1221,8 @@ kernel exits with an exit code.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org847854d" class="outline-4">
|
||||
<h4 id="org847854d"><span class="section-number-4">5.1.4</span> Performance…</h4>
|
||||
<div id="outline-container-orgfcc3c76" class="outline-4">
|
||||
<h4 id="orgfcc3c76"><span class="section-number-4">5.1.4</span> Performance…</h4>
|
||||
<div class="outline-text-4" id="text-5-1-4">
|
||||
<p>
|
||||
This kernel performs best when there are 2 or more rank-1 update cycles and fail-rate is high.
|
||||
@ -1232,12 +1232,12 @@ This kernel performs best when there are 2 or more rank-1 update cycles and fail
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8166ec4" class="outline-2">
|
||||
<h2 id="org8166ec4"><span class="section-number-2">6</span> Woodbury 3x3 and 2x2 with Sherman-Morrison and update splitting</h2>
|
||||
<div id="outline-container-org16b0875" class="outline-2">
|
||||
<h2 id="org16b0875"><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-org4c373d9" class="outline-3">
|
||||
<h3 id="org4c373d9"><span class="section-number-3">6.1</span> <code>qmckl_sherman_morrison_smw32s</code></h3>
|
||||
<div id="outline-container-orgd7505c2" class="outline-3">
|
||||
<h3 id="orgd7505c2"><span class="section-number-3">6.1</span> <code>qmckl_sherman_morrison_smw32s</code></h3>
|
||||
<div class="outline-text-3" id="text-6-1">
|
||||
<p>
|
||||
The Woodbury 3x3 and 2x2 kernel with Sherman-Morrison and update splitting combines the low-level Woodbury 3x3 kernel,
|
||||
@ -1247,7 +1247,7 @@ with Woodbury 2x2 instead of sending them all to Sherman-Morrison with update sp
|
||||
5 updates the updates are applied in 1 block of 3 updates end 1 block of 2 updates.
|
||||
</p>
|
||||
|
||||
<table id="orgfee9afa" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgd6c1f50" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1312,8 +1312,8 @@ with Woodbury 2x2 instead of sending them all to Sherman-Morrison with update sp
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2f605a9" class="outline-4">
|
||||
<h4 id="org2f605a9"><span class="section-number-4">6.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org75ca785" class="outline-4">
|
||||
<h4 id="org75ca785"><span class="section-number-4">6.1.1</span> Requirements</h4>
|
||||
<div class="outline-text-4" id="text-6-1-1">
|
||||
<ul class="org-ul">
|
||||
<li><code>context</code> is not <code>QMCKL_NULL_CONTEXT</code></li>
|
||||
@ -1327,8 +1327,8 @@ with Woodbury 2x2 instead of sending them all to Sherman-Morrison with update sp
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgaa9b101" class="outline-4">
|
||||
<h4 id="orgaa9b101"><span class="section-number-4">6.1.2</span> C header</h4>
|
||||
<div id="outline-container-org3c3e227" class="outline-4">
|
||||
<h4 id="org3c3e227"><span class="section-number-4">6.1.2</span> C header</h4>
|
||||
<div class="outline-text-4" id="text-6-1-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_sherman_morrison_smw32s</span> (
|
||||
@ -1344,8 +1344,8 @@ with Woodbury 2x2 instead of sending them all to Sherman-Morrison with update sp
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8ae53ec" class="outline-4">
|
||||
<h4 id="org8ae53ec"><span class="section-number-4">6.1.3</span> Source</h4>
|
||||
<div id="outline-container-orgb58fbd0" class="outline-4">
|
||||
<h4 id="orgb58fbd0"><span class="section-number-4">6.1.3</span> Source</h4>
|
||||
<div class="outline-text-4" id="text-6-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #483d8b;">#include</span> <span style="color: #8b2252;"><stdbool.h></span>
|
||||
@ -1421,8 +1421,8 @@ with Woodbury 2x2 instead of sending them all to Sherman-Morrison with update sp
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgeded056" class="outline-4">
|
||||
<h4 id="orgeded056"><span class="section-number-4">6.1.4</span> Performance…</h4>
|
||||
<div id="outline-container-orgc0424a3" class="outline-4">
|
||||
<h4 id="orgc0424a3"><span class="section-number-4">6.1.4</span> Performance…</h4>
|
||||
<div class="outline-text-4" id="text-6-1-4">
|
||||
<p>
|
||||
This kernel performs best for update cycles with 2 or more rank-1 updates and the fail-rate is low.
|
||||
@ -1432,8 +1432,8 @@ This kernel performs best for update cycles with 2 or more rank-1 updates and th
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org532e981" class="outline-2">
|
||||
<h2 id="org532e981"><span class="section-number-2">7</span> Helper Functions</h2>
|
||||
<div id="outline-container-org3f4c340" class="outline-2">
|
||||
<h2 id="org3f4c340"><span class="section-number-2">7</span> Helper Functions</h2>
|
||||
<div class="outline-text-2" id="text-7">
|
||||
<p>
|
||||
Private helper-functions that are used by the Sherman-Morrison-Woodbury kernels.
|
||||
@ -1441,8 +1441,8 @@ These functions can only be used internally by the kernels in this module.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5dec6a3" class="outline-3">
|
||||
<h3 id="org5dec6a3"><span class="section-number-3">7.1</span> <code>qmckl_slagel_splitting</code></h3>
|
||||
<div id="outline-container-org159d140" class="outline-3">
|
||||
<h3 id="org159d140"><span class="section-number-3">7.1</span> <code>qmckl_slagel_splitting</code></h3>
|
||||
<div class="outline-text-3" id="text-7-1">
|
||||
<p>
|
||||
<code>qmckl_slagel_splitting</code> is the non-recursive, inner part of the 'Sherman-Morrison with update splitting'-kernel.
|
||||
@ -1457,7 +1457,7 @@ as \(\frac{1}{2}u_j\). One half is applied immediately, the other half will be a
|
||||
\(u_{j'}=\frac{1}{2}u_j\) and \(v_{j'}^T=v_{j}^T\), which are stored in the array \texttt{later_updates}.
|
||||
</p>
|
||||
|
||||
<table id="orgdca9c6c" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org5ee4066" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1537,8 +1537,8 @@ as \(\frac{1}{2}u_j\). One half is applied immediately, the other half will be a
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgb1a41e3" class="outline-4">
|
||||
<h4 id="orgb1a41e3"><span class="section-number-4">7.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-orge988b5f" class="outline-4">
|
||||
<h4 id="orge988b5f"><span class="section-number-4">7.1.1</span> Requirements</h4>
|
||||
<div class="outline-text-4" id="text-7-1-1">
|
||||
<ul class="org-ul">
|
||||
<li><code>Dim >= 2</code></li>
|
||||
@ -1554,8 +1554,8 @@ as \(\frac{1}{2}u_j\). One half is applied immediately, the other half will be a
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf993732" class="outline-4">
|
||||
<h4 id="orgf993732"><span class="section-number-4">7.1.2</span> C header</h4>
|
||||
<div id="outline-container-orgc1f1b74" class="outline-4">
|
||||
<h4 id="orgc1f1b74"><span class="section-number-4">7.1.2</span> C header</h4>
|
||||
<div class="outline-text-4" id="text-7-1-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">double</span> <span style="color: #0000ff;">qmckl_slagel_splitting</span> (
|
||||
@ -1573,8 +1573,8 @@ as \(\frac{1}{2}u_j\). One half is applied immediately, the other half will be a
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org222c067" class="outline-4">
|
||||
<h4 id="org222c067"><span class="section-number-4">7.1.3</span> Source</h4>
|
||||
<div id="outline-container-orgc320251" class="outline-4">
|
||||
<h4 id="orgc320251"><span class="section-number-4">7.1.3</span> Source</h4>
|
||||
<div class="outline-text-4" id="text-7-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #483d8b;">#include</span> <span style="color: #8b2252;"><stdbool.h></span>
|
||||
@ -1647,8 +1647,8 @@ as \(\frac{1}{2}u_j\). One half is applied immediately, the other half will be a
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf7b8396" class="outline-4">
|
||||
<h4 id="orgf7b8396"><span class="section-number-4">7.1.4</span> Performance</h4>
|
||||
<div id="outline-container-orgdc325b9" class="outline-4">
|
||||
<h4 id="orgdc325b9"><span class="section-number-4">7.1.4</span> Performance</h4>
|
||||
<div class="outline-text-4" id="text-7-1-4">
|
||||
<p>
|
||||
This function cannot be used by itself and is used in Sherman-Morrison with update splitting and Woodbury 3x3 and 2x2
|
||||
@ -1659,8 +1659,8 @@ with Sherman-Morrison and update splitting. Please look at the performance recco
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8149db6" class="outline-2">
|
||||
<h2 id="org8149db6"><span class="section-number-2">8</span> End of files</h2>
|
||||
<div id="outline-container-orgd579221" class="outline-2">
|
||||
<h2 id="orgd579221"><span class="section-number-2">8</span> End of files</h2>
|
||||
<div class="outline-text-2" id="text-8">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"> <span style="color: #0000ff;">assert</span> (<span style="color: #228b22;">qmckl_context_destroy</span>(<span style="color: #a0522d;">context</span>) == QMCKL_SUCCESS);
|
||||
@ -1674,7 +1674,7 @@ with Sherman-Morrison and update splitting. Please look at the performance recco
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-09-28 Tue 22:27</p>
|
||||
<p class="date">Created: 2021-10-06 Wed 07:32</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-28 Tue 22:27 -->
|
||||
<!-- 2021-10-06 Wed 07:32 -->
|
||||
<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="#org5ff9c31">1. CHBrClF</a>
|
||||
<li><a href="#org7e0235b">1. CHBrClF</a>
|
||||
<ul>
|
||||
<li><a href="#org2849684">1.1. XYZ coordinates</a></li>
|
||||
<li><a href="#orgb23a033">1.2. Atomic basis set</a></li>
|
||||
<li><a href="#org2337f98">1.3. Molecular orbitals</a></li>
|
||||
<li><a href="#org35ca177">1.4. Electron coordinates</a></li>
|
||||
<li><a href="#org0143da9">1.1. XYZ coordinates</a></li>
|
||||
<li><a href="#orgee2f3f6">1.2. Atomic basis set</a></li>
|
||||
<li><a href="#org67fc37c">1.3. Molecular orbitals</a></li>
|
||||
<li><a href="#org69a9949">1.4. Electron coordinates</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org26d9ced">2. N2</a>
|
||||
<li><a href="#orgd9eeb46">2. N2</a>
|
||||
<ul>
|
||||
<li><a href="#org2bab5ad">2.1. XYZ coordinates</a></li>
|
||||
<li><a href="#org286307a">2.2. Electron coordinates</a></li>
|
||||
<li><a href="#orgce91d19">2.3. Jastrow related data</a></li>
|
||||
<li><a href="#orgb04b37f">2.1. XYZ coordinates</a></li>
|
||||
<li><a href="#org81015c8">2.2. Electron coordinates</a></li>
|
||||
<li><a href="#org08139dd">2.3. Jastrow related data</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5ff9c31" class="outline-2">
|
||||
<h2 id="org5ff9c31"><span class="section-number-2">1</span> CHBrClF</h2>
|
||||
<div id="outline-container-org7e0235b" class="outline-2">
|
||||
<h2 id="org7e0235b"><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-org2849684" class="outline-3">
|
||||
<h3 id="org2849684"><span class="section-number-3">1.1</span> XYZ coordinates</h3>
|
||||
<div id="outline-container-org0143da9" class="outline-3">
|
||||
<h3 id="org0143da9"><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-orgb23a033" class="outline-3">
|
||||
<h3 id="orgb23a033"><span class="section-number-3">1.2</span> Atomic basis set</h3>
|
||||
<div id="outline-container-orgee2f3f6" class="outline-3">
|
||||
<h3 id="orgee2f3f6"><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
|
||||
@ -849,7 +849,7 @@ F 1
|
||||
|
||||
<span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">chbrclf_basis_nucleus_index</span>[chbrclf_nucl_num] = {0, 14, 23, 37, 53};
|
||||
|
||||
<span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">chbrclf_basis_nucleus_shell_num</span>[chbrclf_nucl_num] = {14, 9, 14, 16, 19};
|
||||
<span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">chbrclf_basis_nucleus_shell_num</span>[chbrclf_nucl_num] = {14, 9, 14, 16, 19}; // <span style="color: #b22222;">C, H, F, Cl, Br</span>
|
||||
|
||||
<span style="color: #228b22;">int32_t</span> <span style="color: #a0522d;">chbrclf_basis_shell_ang_mom</span>[chbrclf_shell_num] =
|
||||
{0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 3, 3, 0, 0, 0, 0, 1, 1, 1, 2, 2, 0,
|
||||
@ -1288,8 +1288,8 @@ F 1
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2337f98" class="outline-3">
|
||||
<h3 id="org2337f98"><span class="section-number-3">1.3</span> Molecular orbitals</h3>
|
||||
<div id="outline-container-org67fc37c" class="outline-3">
|
||||
<h3 id="org67fc37c"><span class="section-number-3">1.3</span> Molecular orbitals</h3>
|
||||
<div class="outline-text-3" id="text-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #483d8b;">#define</span> <span style="color: #a0522d;">chbrclf_mo_num</span> ((<span style="color: #228b22;">int64_t</span>) 224)
|
||||
@ -60213,8 +60213,8 @@ F 1
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org35ca177" class="outline-3">
|
||||
<h3 id="org35ca177"><span class="section-number-3">1.4</span> Electron coordinates</h3>
|
||||
<div id="outline-container-org69a9949" class="outline-3">
|
||||
<h3 id="org69a9949"><span class="section-number-3">1.4</span> Electron coordinates</h3>
|
||||
<div class="outline-text-3" id="text-1-4">
|
||||
<p>
|
||||
Electron coordinates are stored in atomic units in normal format.
|
||||
@ -60374,8 +60374,8 @@ Electron coordinates are stored in atomic units in normal format.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org26d9ced" class="outline-2">
|
||||
<h2 id="org26d9ced"><span class="section-number-2">2</span> N2</h2>
|
||||
<div id="outline-container-orgd9eeb46" class="outline-2">
|
||||
<h2 id="orgd9eeb46"><span class="section-number-2">2</span> N2</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
<p>
|
||||
This test is mainly for the Jastrow factor and was supplied by
|
||||
@ -60416,8 +60416,8 @@ treated by pseudopotentials thus excluded from the actual calculation.
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2bab5ad" class="outline-3">
|
||||
<h3 id="org2bab5ad"><span class="section-number-3">2.1</span> XYZ coordinates</h3>
|
||||
<div id="outline-container-orgb04b37f" class="outline-3">
|
||||
<h3 id="orgb04b37f"><span class="section-number-3">2.1</span> XYZ coordinates</h3>
|
||||
<div class="outline-text-3" id="text-2-1">
|
||||
<pre class="example">
|
||||
2
|
||||
@ -60444,8 +60444,8 @@ Nuclear coordinates are stored in atomic units in transposed format.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org286307a" class="outline-3">
|
||||
<h3 id="org286307a"><span class="section-number-3">2.2</span> Electron coordinates</h3>
|
||||
<div id="outline-container-org81015c8" class="outline-3">
|
||||
<h3 id="org81015c8"><span class="section-number-3">2.2</span> Electron coordinates</h3>
|
||||
<div class="outline-text-3" id="text-2-2">
|
||||
<p>
|
||||
Electron coordinates are stored in atomic units in normal format.
|
||||
@ -60474,8 +60474,8 @@ Electron coordinates are stored in atomic units in normal format.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgce91d19" class="outline-3">
|
||||
<h3 id="orgce91d19"><span class="section-number-3">2.3</span> Jastrow related data</h3>
|
||||
<div id="outline-container-org08139dd" class="outline-3">
|
||||
<h3 id="org08139dd"><span class="section-number-3">2.3</span> Jastrow related data</h3>
|
||||
<div class="outline-text-3" id="text-2-3">
|
||||
<p>
|
||||
This test is mainly for the Jastrow factor and was supplied by
|
||||
@ -60574,7 +60574,7 @@ Ramon Panades Baruetta.
|
||||
</div>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="date">Created: 2021-09-28 Tue 22:27</p>
|
||||
<p class="date">Created: 2021-10-06 Wed 07:32</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-28 Tue 22:27 -->
|
||||
<!-- 2021-10-06 Wed 07:31 -->
|
||||
<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="#org6dcc6b0">1. Matrix operations</a>
|
||||
<li><a href="#org9557367">1. Matrix operations</a>
|
||||
<ul>
|
||||
<li><a href="#orgbfc7ff2">1.1. <code>qmckl_transpose</code></a>
|
||||
<li><a href="#orgf941873">1.1. <code>qmckl_transpose</code></a>
|
||||
<ul>
|
||||
<li><a href="#orgadb7ea6">1.1.1. Requirements</a></li>
|
||||
<li><a href="#orgaf751c6">1.1.2. C header</a></li>
|
||||
<li><a href="#org623aea6">1.1.3. Source</a></li>
|
||||
<li><a href="#orgb2adbd3">1.1.1. Requirements</a></li>
|
||||
<li><a href="#orgd66a57c">1.1.2. C header</a></li>
|
||||
<li><a href="#orgeef8f97">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-org6dcc6b0" class="outline-2">
|
||||
<h2 id="org6dcc6b0"><span class="section-number-2">1</span> Matrix operations</h2>
|
||||
<div id="outline-container-org9557367" class="outline-2">
|
||||
<h2 id="org9557367"><span class="section-number-2">1</span> Matrix operations</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
</div>
|
||||
<div id="outline-container-orgbfc7ff2" class="outline-3">
|
||||
<h3 id="orgbfc7ff2"><span class="section-number-3">1.1</span> <code>qmckl_transpose</code></h3>
|
||||
<div id="outline-container-orgf941873" class="outline-3">
|
||||
<h3 id="orgf941873"><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="org7d480be" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org1455b26" 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-orgadb7ea6" class="outline-4">
|
||||
<h4 id="orgadb7ea6"><span class="section-number-4">1.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-orgb2adbd3" class="outline-4">
|
||||
<h4 id="orgb2adbd3"><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-orgaf751c6" class="outline-4">
|
||||
<h4 id="orgaf751c6"><span class="section-number-4">1.1.2</span> C header</h4>
|
||||
<div id="outline-container-orgd66a57c" class="outline-4">
|
||||
<h4 id="orgd66a57c"><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-org623aea6" class="outline-4">
|
||||
<h4 id="org623aea6"><span class="section-number-4">1.1.3</span> Source</h4>
|
||||
<div id="outline-container-orgeef8f97" class="outline-4">
|
||||
<h4 id="orgeef8f97"><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-28 Tue 22:27</p>
|
||||
<p class="date">Created: 2021-10-06 Wed 07:31</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
Loading…
x
Reference in New Issue
Block a user