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@bae4692154 🚀
This commit is contained in:
parent
4c5e700e35
commit
9ad791ae7d
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-10-12 Tue 09:26 -->
|
||||
<!-- 2021-10-13 Wed 10:18 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>QMCkl source code documentation</title>
|
||||
@ -356,7 +356,7 @@ and bug reports should be submitted at
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-10-12 Tue 09:26</p>
|
||||
<p class="date">Created: 2021-10-13 Wed 10:18</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
102
qmckl.html
102
qmckl.html
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-10-12 Tue 09:26 -->
|
||||
<!-- 2021-10-13 Wed 10:18 -->
|
||||
<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="#orgad32eae">1. Using QMCkl</a></li>
|
||||
<li><a href="#org97be3ed">2. Developing in QMCkl</a>
|
||||
<li><a href="#org0c753c8">1. Using QMCkl</a></li>
|
||||
<li><a href="#org2897d23">2. Developing in QMCkl</a>
|
||||
<ul>
|
||||
<li><a href="#org92d93b7">2.1. Literate programming</a></li>
|
||||
<li><a href="#orgd55321d">2.2. Source code editing</a></li>
|
||||
<li><a href="#orgb19ceda">2.3. Choice of the programming language</a></li>
|
||||
<li><a href="#orgfc7ed59">2.4. Coding rules</a></li>
|
||||
<li><a href="#orgbc1571a">2.5. Design of the library</a></li>
|
||||
<li><a href="#org8337edc">2.6. Naming conventions</a></li>
|
||||
<li><a href="#org803c442">2.7. Application programming interface</a></li>
|
||||
<li><a href="#org5051ebd">2.8. Global state</a></li>
|
||||
<li><a href="#orgcfcc437">2.9. Headers</a></li>
|
||||
<li><a href="#org9917c7a">2.10. Low-level functions</a></li>
|
||||
<li><a href="#org204e52d">2.11. High-level functions</a></li>
|
||||
<li><a href="#orgf296422">2.12. Numerical precision</a></li>
|
||||
<li><a href="#orgfc82bb4">2.13. Algorithms</a></li>
|
||||
<li><a href="#orged6c7c5">2.1. Literate programming</a></li>
|
||||
<li><a href="#org41118e6">2.2. Source code editing</a></li>
|
||||
<li><a href="#org0fde267">2.3. Choice of the programming language</a></li>
|
||||
<li><a href="#org9405c07">2.4. Coding rules</a></li>
|
||||
<li><a href="#org5747e30">2.5. Design of the library</a></li>
|
||||
<li><a href="#orga8c5cf9">2.6. Naming conventions</a></li>
|
||||
<li><a href="#orgd4559c1">2.7. Application programming interface</a></li>
|
||||
<li><a href="#org260d7cd">2.8. Global state</a></li>
|
||||
<li><a href="#org53e0a5a">2.9. Headers</a></li>
|
||||
<li><a href="#orga256d12">2.10. Low-level functions</a></li>
|
||||
<li><a href="#org4065b46">2.11. High-level functions</a></li>
|
||||
<li><a href="#org9ffa464">2.12. Numerical precision</a></li>
|
||||
<li><a href="#orgd30476a">2.13. Algorithms</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgad32eae" class="outline-2">
|
||||
<h2 id="orgad32eae"><span class="section-number-2">1</span> Using QMCkl</h2>
|
||||
<div id="outline-container-org0c753c8" class="outline-2">
|
||||
<h2 id="org0c753c8"><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-org97be3ed" class="outline-2">
|
||||
<h2 id="org97be3ed"><span class="section-number-2">2</span> Developing in QMCkl</h2>
|
||||
<div id="outline-container-org2897d23" class="outline-2">
|
||||
<h2 id="org2897d23"><span class="section-number-2">2</span> Developing in QMCkl</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-org92d93b7" class="outline-3">
|
||||
<h3 id="org92d93b7"><span class="section-number-3">2.1</span> Literate programming</h3>
|
||||
<div id="outline-container-orged6c7c5" class="outline-3">
|
||||
<h3 id="orged6c7c5"><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-orgd55321d" class="outline-3">
|
||||
<h3 id="orgd55321d"><span class="section-number-3">2.2</span> Source code editing</h3>
|
||||
<div id="outline-container-org41118e6" class="outline-3">
|
||||
<h3 id="org41118e6"><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-orgb19ceda" class="outline-3">
|
||||
<h3 id="orgb19ceda"><span class="section-number-3">2.3</span> Choice of the programming language</h3>
|
||||
<div id="outline-container-org0fde267" class="outline-3">
|
||||
<h3 id="org0fde267"><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-orgfc7ed59" class="outline-3">
|
||||
<h3 id="orgfc7ed59"><span class="section-number-3">2.4</span> Coding rules</h3>
|
||||
<div id="outline-container-org9405c07" class="outline-3">
|
||||
<h3 id="org9405c07"><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-orgbc1571a" class="outline-3">
|
||||
<h3 id="orgbc1571a"><span class="section-number-3">2.5</span> Design of the library</h3>
|
||||
<div id="outline-container-org5747e30" class="outline-3">
|
||||
<h3 id="org5747e30"><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-org8337edc" class="outline-3">
|
||||
<h3 id="org8337edc"><span class="section-number-3">2.6</span> Naming conventions</h3>
|
||||
<div id="outline-container-orga8c5cf9" class="outline-3">
|
||||
<h3 id="orga8c5cf9"><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-org803c442" class="outline-3">
|
||||
<h3 id="org803c442"><span class="section-number-3">2.7</span> Application programming interface</h3>
|
||||
<div id="outline-container-orgd4559c1" class="outline-3">
|
||||
<h3 id="orgd4559c1"><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-org5051ebd" class="outline-3">
|
||||
<h3 id="org5051ebd"><span class="section-number-3">2.8</span> Global state</h3>
|
||||
<div id="outline-container-org260d7cd" class="outline-3">
|
||||
<h3 id="org260d7cd"><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="org164e44d">=context=</a> contains the global
|
||||
<code>qmckl_context_create</code> function. The <a id="org48bf924">=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-orgcfcc437" class="outline-3">
|
||||
<h3 id="orgcfcc437"><span class="section-number-3">2.9</span> Headers</h3>
|
||||
<div id="outline-container-org53e0a5a" class="outline-3">
|
||||
<h3 id="org53e0a5a"><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-org9917c7a" class="outline-3">
|
||||
<h3 id="org9917c7a"><span class="section-number-3">2.10</span> Low-level functions</h3>
|
||||
<div id="outline-container-orga256d12" class="outline-3">
|
||||
<h3 id="orga256d12"><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="#org164e44d"><code>context</code></a>. They are not allowed to allocate/deallocate memory, and
|
||||
<a href="#org48bf924"><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-org204e52d" class="outline-3">
|
||||
<h3 id="org204e52d"><span class="section-number-3">2.11</span> High-level functions</h3>
|
||||
<div id="outline-container-org4065b46" class="outline-3">
|
||||
<h3 id="org4065b46"><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="#org164e44d"><code>context</code></a> variable.
|
||||
the <a href="#org48bf924"><code>context</code></a> variable.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf296422" class="outline-3">
|
||||
<h3 id="orgf296422"><span class="section-number-3">2.12</span> Numerical precision</h3>
|
||||
<div id="outline-container-org9ffa464" class="outline-3">
|
||||
<h3 id="org9ffa464"><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="#org164e44d"><code>context</code></a>
|
||||
functions will use the precision specified in the <a href="#org48bf924"><code>context</code></a>
|
||||
variable.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgfc82bb4" class="outline-3">
|
||||
<h3 id="orgfc82bb4"><span class="section-number-3">2.13</span> Algorithms</h3>
|
||||
<div id="outline-container-orgd30476a" class="outline-3">
|
||||
<h3 id="orgd30476a"><span class="section-number-3">2.13</span> Algorithms</h3>
|
||||
<div class="outline-text-3" id="text-2-13">
|
||||
<p>
|
||||
Reducing the scaling of an algorithm usually implies also reducing
|
||||
@ -783,7 +783,7 @@ implemented adapted to different problem sizes.
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-10-12 Tue 09:26</p>
|
||||
<p class="date">Created: 2021-10-13 Wed 10:18</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
260
qmckl_ao.html
260
qmckl_ao.html
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-10-12 Tue 09:26 -->
|
||||
<!-- 2021-10-13 Wed 10:18 -->
|
||||
<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="#orgf694ef6">1. Context</a>
|
||||
<li><a href="#org856a730">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#orgb3c0747">1.1. Data structure</a></li>
|
||||
<li><a href="#org382a29a">1.2. Access functions</a></li>
|
||||
<li><a href="#org97e2c91">1.3. Initialization functions</a></li>
|
||||
<li><a href="#orgef8b8d3">1.4. Fortran interfaces</a></li>
|
||||
<li><a href="#orgb7b52c2">1.1. Data structure</a></li>
|
||||
<li><a href="#orgc4c638a">1.2. Access functions</a></li>
|
||||
<li><a href="#org4d848f5">1.3. Initialization functions</a></li>
|
||||
<li><a href="#orgb5ec0f0">1.4. Fortran interfaces</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org8a1c8df">2. Radial part</a>
|
||||
<li><a href="#org840ed6e">2. Radial part</a>
|
||||
<ul>
|
||||
<li><a href="#org4ac4e5d">2.1. <span class="todo TODO">TODO</span> Helper functions to accelerate calculations</a></li>
|
||||
<li><a href="#orgee07afb">2.2. General functions for Gaussian basis functions</a></li>
|
||||
<li><a href="#org37ad924">2.3. <span class="todo TODO">TODO</span> General functions for Slater basis functions</a></li>
|
||||
<li><a href="#org7cafa14">2.4. <span class="todo TODO">TODO</span> General functions for Radial functions on a grid</a></li>
|
||||
<li><a href="#orgeeca078">2.5. Computation of primitives</a>
|
||||
<li><a href="#orge442ad4">2.1. <span class="todo TODO">TODO</span> Helper functions to accelerate calculations</a></li>
|
||||
<li><a href="#org155873a">2.2. General functions for Gaussian basis functions</a></li>
|
||||
<li><a href="#orgf29e332">2.3. <span class="todo TODO">TODO</span> General functions for Slater basis functions</a></li>
|
||||
<li><a href="#org758a1f9">2.4. <span class="todo TODO">TODO</span> General functions for Radial functions on a grid</a></li>
|
||||
<li><a href="#org2ce9b62">2.5. Computation of primitives</a>
|
||||
<ul>
|
||||
<li><a href="#org17deead">2.5.1. Get</a></li>
|
||||
<li><a href="#orgfcf7fb2">2.5.2. Provide</a></li>
|
||||
<li><a href="#org9a26610">2.5.3. Compute</a></li>
|
||||
<li><a href="#org570e6e5">2.5.4. Test</a></li>
|
||||
<li><a href="#org0cfd694">2.5.5. Ideas for improvement</a></li>
|
||||
<li><a href="#org7c61692">2.5.1. Get</a></li>
|
||||
<li><a href="#org6213829">2.5.2. Provide</a></li>
|
||||
<li><a href="#org1af3025">2.5.3. Compute</a></li>
|
||||
<li><a href="#orgb00c7da">2.5.4. Test</a></li>
|
||||
<li><a href="#orgac03bfa">2.5.5. Ideas for improvement</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org470326a">2.6. Computation of shells</a>
|
||||
<li><a href="#org74e03d7">2.6. Computation of shells</a>
|
||||
<ul>
|
||||
<li><a href="#orgf66b07f">2.6.1. Get</a></li>
|
||||
<li><a href="#org88763f2">2.6.2. Provide</a></li>
|
||||
<li><a href="#org05d934c">2.6.3. Compute</a></li>
|
||||
<li><a href="#orgbe50fe7">2.6.4. Test</a></li>
|
||||
<li><a href="#org03ac1f1">2.6.1. Get</a></li>
|
||||
<li><a href="#orgd1e65ac">2.6.2. Provide</a></li>
|
||||
<li><a href="#org4e986d7">2.6.3. Compute</a></li>
|
||||
<li><a href="#org7ece21a">2.6.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgb09ac0a">3. Polynomial part</a>
|
||||
<li><a href="#orgbd2d626">3. Polynomial part</a>
|
||||
<ul>
|
||||
<li><a href="#orgfcee18f">3.1. General functions for Powers of \(x-X_i\)</a>
|
||||
<li><a href="#org0339b5e">3.1. General functions for Powers of \(x-X_i\)</a>
|
||||
<ul>
|
||||
<li><a href="#org9c8759f">3.1.1. Requirements</a></li>
|
||||
<li><a href="#org6e9644a">3.1.2. C Header</a></li>
|
||||
<li><a href="#org198f21b">3.1.3. Source</a></li>
|
||||
<li><a href="#org69a8c82">3.1.4. C interface</a></li>
|
||||
<li><a href="#orgf613b00">3.1.5. Fortran interface</a></li>
|
||||
<li><a href="#orgfce6c5c">3.1.6. Test</a></li>
|
||||
<li><a href="#orga40f163">3.1.1. Requirements</a></li>
|
||||
<li><a href="#orgdf070d1">3.1.2. C Header</a></li>
|
||||
<li><a href="#org3594abe">3.1.3. Source</a></li>
|
||||
<li><a href="#orgdd6f734">3.1.4. C interface</a></li>
|
||||
<li><a href="#org9331f24">3.1.5. Fortran interface</a></li>
|
||||
<li><a href="#org4631fb4">3.1.6. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org9dd205f">3.2. General functions for Value, Gradient and Laplacian of a polynomial</a>
|
||||
<li><a href="#org0a93be0">3.2. General functions for Value, Gradient and Laplacian of a polynomial</a>
|
||||
<ul>
|
||||
<li><a href="#org5fd5634">3.2.1. Requirements</a></li>
|
||||
<li><a href="#org1bc6541">3.2.2. C Header</a></li>
|
||||
<li><a href="#org679789a">3.2.3. Source</a></li>
|
||||
<li><a href="#org24c7e9a">3.2.4. C interface</a></li>
|
||||
<li><a href="#org3b0df9c">3.2.5. Fortran interface</a></li>
|
||||
<li><a href="#org0655987">3.2.6. Test</a></li>
|
||||
<li><a href="#orge842397">3.2.1. Requirements</a></li>
|
||||
<li><a href="#org49b724a">3.2.2. C Header</a></li>
|
||||
<li><a href="#orgc61025e">3.2.3. Source</a></li>
|
||||
<li><a href="#orgb57b013">3.2.4. C interface</a></li>
|
||||
<li><a href="#org36a4150">3.2.5. Fortran interface</a></li>
|
||||
<li><a href="#orga19cd91">3.2.6. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgeae736c">4. Combining radial and polynomial parts</a>
|
||||
<li><a href="#org8294959">4. Combining radial and polynomial parts</a>
|
||||
<ul>
|
||||
<li>
|
||||
<ul>
|
||||
<li><a href="#org6a774bb">4.0.1. Get</a></li>
|
||||
<li><a href="#orgc12725a">4.0.2. Provide</a></li>
|
||||
<li><a href="#orga34eed0">4.0.3. Compute</a></li>
|
||||
<li><a href="#org630ab06">4.0.4. Test</a></li>
|
||||
<li><a href="#orgb9ecaba">4.0.1. Get</a></li>
|
||||
<li><a href="#orge1e9755">4.0.2. Provide</a></li>
|
||||
<li><a href="#org2ebcf9f">4.0.3. Compute</a></li>
|
||||
<li><a href="#orgea7bf57">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-orgf694ef6" class="outline-2">
|
||||
<h2 id="orgf694ef6"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-org856a730" class="outline-2">
|
||||
<h2 id="org856a730"><span class="section-number-2">1</span> Context</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
The following arrays are stored in the context:
|
||||
@ -679,8 +679,8 @@ prim_factor = [ 1.0006253235944540e+01, 2.4169531573445120e+00, 7.96109248497664
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb3c0747" class="outline-3">
|
||||
<h3 id="orgb3c0747"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-orgb7b52c2" class="outline-3">
|
||||
<h3 id="orgb7b52c2"><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-org382a29a" class="outline-3">
|
||||
<h3 id="org382a29a"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div id="outline-container-orgc4c638a" class="outline-3">
|
||||
<h3 id="orgc4c638a"><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-org97e2c91" class="outline-3">
|
||||
<h3 id="org97e2c91"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-org4d848f5" class="outline-3">
|
||||
<h3 id="org4d848f5"><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-orgef8b8d3" class="outline-3">
|
||||
<h3 id="orgef8b8d3"><span class="section-number-3">1.4</span> Fortran interfaces</h3>
|
||||
<div id="outline-container-orgb5ec0f0" class="outline-3">
|
||||
<h3 id="orgb5ec0f0"><span class="section-number-3">1.4</span> Fortran interfaces</h3>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8a1c8df" class="outline-2">
|
||||
<h2 id="org8a1c8df"><span class="section-number-2">2</span> Radial part</h2>
|
||||
<div id="outline-container-org840ed6e" class="outline-2">
|
||||
<h2 id="org840ed6e"><span class="section-number-2">2</span> Radial part</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-org4ac4e5d" class="outline-3">
|
||||
<h3 id="org4ac4e5d"><span class="section-number-3">2.1</span> <span class="todo TODO">TODO</span> Helper functions to accelerate calculations</h3>
|
||||
<div id="outline-container-orge442ad4" class="outline-3">
|
||||
<h3 id="orge442ad4"><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-orgee07afb" class="outline-3">
|
||||
<h3 id="orgee07afb"><span class="section-number-3">2.2</span> General functions for Gaussian basis functions</h3>
|
||||
<div id="outline-container-org155873a" class="outline-3">
|
||||
<h3 id="org155873a"><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-org37ad924" class="outline-3">
|
||||
<h3 id="org37ad924"><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-orgf29e332" class="outline-3">
|
||||
<h3 id="orgf29e332"><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-org7cafa14" class="outline-3">
|
||||
<h3 id="org7cafa14"><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-org758a1f9" class="outline-3">
|
||||
<h3 id="org758a1f9"><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-orgeeca078" class="outline-3">
|
||||
<h3 id="orgeeca078"><span class="section-number-3">2.5</span> Computation of primitives</h3>
|
||||
<div id="outline-container-org2ce9b62" class="outline-3">
|
||||
<h3 id="org2ce9b62"><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-org17deead" class="outline-4">
|
||||
<h4 id="org17deead"><span class="section-number-4">2.5.1</span> Get</h4>
|
||||
<div id="outline-container-org7c61692" class="outline-4">
|
||||
<h4 id="org7c61692"><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-orgfcf7fb2" class="outline-4">
|
||||
<h4 id="orgfcf7fb2"><span class="section-number-4">2.5.2</span> Provide</h4>
|
||||
<div id="outline-container-org6213829" class="outline-4">
|
||||
<h4 id="org6213829"><span class="section-number-4">2.5.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9a26610" class="outline-4">
|
||||
<h4 id="org9a26610"><span class="section-number-4">2.5.3</span> Compute</h4>
|
||||
<div id="outline-container-org1af3025" class="outline-4">
|
||||
<h4 id="org1af3025"><span class="section-number-4">2.5.3</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-5-3">
|
||||
<table id="org40f35c4" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org58a3921" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1213,12 +1213,12 @@ Requirements
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org570e6e5" class="outline-4">
|
||||
<h4 id="org570e6e5"><span class="section-number-4">2.5.4</span> Test</h4>
|
||||
<div id="outline-container-orgb00c7da" class="outline-4">
|
||||
<h4 id="orgb00c7da"><span class="section-number-4">2.5.4</span> Test</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0cfd694" class="outline-4">
|
||||
<h4 id="org0cfd694"><span class="section-number-4">2.5.5</span> Ideas for improvement</h4>
|
||||
<div id="outline-container-orgac03bfa" class="outline-4">
|
||||
<h4 id="orgac03bfa"><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-org470326a" class="outline-3">
|
||||
<h3 id="org470326a"><span class="section-number-3">2.6</span> Computation of shells</h3>
|
||||
<div id="outline-container-org74e03d7" class="outline-3">
|
||||
<h3 id="org74e03d7"><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-orgf66b07f" class="outline-4">
|
||||
<h4 id="orgf66b07f"><span class="section-number-4">2.6.1</span> Get</h4>
|
||||
<div id="outline-container-org03ac1f1" class="outline-4">
|
||||
<h4 id="org03ac1f1"><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-org88763f2" class="outline-4">
|
||||
<h4 id="org88763f2"><span class="section-number-4">2.6.2</span> Provide</h4>
|
||||
<div id="outline-container-orgd1e65ac" class="outline-4">
|
||||
<h4 id="orgd1e65ac"><span class="section-number-4">2.6.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org05d934c" class="outline-4">
|
||||
<h4 id="org05d934c"><span class="section-number-4">2.6.3</span> Compute</h4>
|
||||
<div id="outline-container-org4e986d7" class="outline-4">
|
||||
<h4 id="org4e986d7"><span class="section-number-4">2.6.3</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-6-3">
|
||||
<table id="org3fcc88f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org7bbfa3d" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1494,14 +1494,14 @@ k=0;
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgbe50fe7" class="outline-4">
|
||||
<h4 id="orgbe50fe7"><span class="section-number-4">2.6.4</span> Test</h4>
|
||||
<div id="outline-container-org7ece21a" class="outline-4">
|
||||
<h4 id="org7ece21a"><span class="section-number-4">2.6.4</span> Test</h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb09ac0a" class="outline-2">
|
||||
<h2 id="orgb09ac0a"><span class="section-number-2">3</span> Polynomial part</h2>
|
||||
<div id="outline-container-orgbd2d626" class="outline-2">
|
||||
<h2 id="orgbd2d626"><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-orgfcee18f" class="outline-3">
|
||||
<h3 id="orgfcee18f"><span class="section-number-3">3.1</span> General functions for Powers of \(x-X_i\)</h3>
|
||||
<div id="outline-container-org0339b5e" class="outline-3">
|
||||
<h3 id="org0339b5e"><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="orgb97eec8" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org6e88ddd" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1592,8 +1592,8 @@ the \(n\) points:
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9c8759f" class="outline-4">
|
||||
<h4 id="org9c8759f"><span class="section-number-4">3.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-orga40f163" class="outline-4">
|
||||
<h4 id="orga40f163"><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-org6e9644a" class="outline-4">
|
||||
<h4 id="org6e9644a"><span class="section-number-4">3.1.2</span> C Header</h4>
|
||||
<div id="outline-container-orgdf070d1" class="outline-4">
|
||||
<h4 id="orgdf070d1"><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-org198f21b" class="outline-4">
|
||||
<h4 id="org198f21b"><span class="section-number-4">3.1.3</span> Source</h4>
|
||||
<div id="outline-container-org3594abe" class="outline-4">
|
||||
<h4 id="org3594abe"><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-org69a8c82" class="outline-4">
|
||||
<h4 id="org69a8c82"><span class="section-number-4">3.1.4</span> C interface</h4>
|
||||
<div id="outline-container-orgdd6f734" class="outline-4">
|
||||
<h4 id="orgdd6f734"><span class="section-number-4">3.1.4</span> C interface</h4>
|
||||
</div>
|
||||
<div id="outline-container-orgf613b00" class="outline-4">
|
||||
<h4 id="orgf613b00"><span class="section-number-4">3.1.5</span> Fortran interface</h4>
|
||||
<div id="outline-container-org9331f24" class="outline-4">
|
||||
<h4 id="org9331f24"><span class="section-number-4">3.1.5</span> Fortran interface</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgfce6c5c" class="outline-4">
|
||||
<h4 id="orgfce6c5c"><span class="section-number-4">3.1.6</span> Test</h4>
|
||||
<div id="outline-container-org4631fb4" class="outline-4">
|
||||
<h4 id="org4631fb4"><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-org9dd205f" class="outline-3">
|
||||
<h3 id="org9dd205f"><span class="section-number-3">3.2</span> General functions for Value, Gradient and Laplacian of a polynomial</h3>
|
||||
<div id="outline-container-org0a93be0" class="outline-3">
|
||||
<h3 id="org0a93be0"><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="org17c61bb" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org0bd8bf7" 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-org5fd5634" class="outline-4">
|
||||
<h4 id="org5fd5634"><span class="section-number-4">3.2.1</span> Requirements</h4>
|
||||
<div id="outline-container-orge842397" class="outline-4">
|
||||
<h4 id="orge842397"><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-org1bc6541" class="outline-4">
|
||||
<h4 id="org1bc6541"><span class="section-number-4">3.2.2</span> C Header</h4>
|
||||
<div id="outline-container-org49b724a" class="outline-4">
|
||||
<h4 id="org49b724a"><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-org679789a" class="outline-4">
|
||||
<h4 id="org679789a"><span class="section-number-4">3.2.3</span> Source</h4>
|
||||
<div id="outline-container-orgc61025e" class="outline-4">
|
||||
<h4 id="orgc61025e"><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-org24c7e9a" class="outline-4">
|
||||
<h4 id="org24c7e9a"><span class="section-number-4">3.2.4</span> C interface</h4>
|
||||
<div id="outline-container-orgb57b013" class="outline-4">
|
||||
<h4 id="orgb57b013"><span class="section-number-4">3.2.4</span> C interface</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3b0df9c" class="outline-4">
|
||||
<h4 id="org3b0df9c"><span class="section-number-4">3.2.5</span> Fortran interface</h4>
|
||||
<div id="outline-container-org36a4150" class="outline-4">
|
||||
<h4 id="org36a4150"><span class="section-number-4">3.2.5</span> Fortran interface</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0655987" class="outline-4">
|
||||
<h4 id="org0655987"><span class="section-number-4">3.2.6</span> Test</h4>
|
||||
<div id="outline-container-orga19cd91" class="outline-4">
|
||||
<h4 id="orga19cd91"><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-orgeae736c" class="outline-2">
|
||||
<h2 id="orgeae736c"><span class="section-number-2">4</span> Combining radial and polynomial parts</h2>
|
||||
<div id="outline-container-org8294959" class="outline-2">
|
||||
<h2 id="org8294959"><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-org6a774bb" class="outline-4">
|
||||
<h4 id="org6a774bb"><span class="section-number-4">4.0.1</span> Get</h4>
|
||||
<div id="outline-container-orgb9ecaba" class="outline-4">
|
||||
<h4 id="orgb9ecaba"><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-orgc12725a" class="outline-4">
|
||||
<h4 id="orgc12725a"><span class="section-number-4">4.0.2</span> Provide</h4>
|
||||
<div id="outline-container-orge1e9755" class="outline-4">
|
||||
<h4 id="orge1e9755"><span class="section-number-4">4.0.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga34eed0" class="outline-4">
|
||||
<h4 id="orga34eed0"><span class="section-number-4">4.0.3</span> Compute</h4>
|
||||
<div id="outline-container-org2ebcf9f" class="outline-4">
|
||||
<h4 id="org2ebcf9f"><span class="section-number-4">4.0.3</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-4-0-3">
|
||||
<table id="org3651270" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org11770ea" 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-org630ab06" class="outline-4">
|
||||
<h4 id="org630ab06"><span class="section-number-4">4.0.4</span> Test</h4>
|
||||
<div id="outline-container-orgea7bf57" class="outline-4">
|
||||
<h4 id="orgea7bf57"><span class="section-number-4">4.0.4</span> Test</h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-10-12 Tue 09:26</p>
|
||||
<p class="date">Created: 2021-10-13 Wed 10:18</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-10-12 Tue 09:26 -->
|
||||
<!-- 2021-10-13 Wed 10:18 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>BLAS functions</title>
|
||||
@ -333,13 +333,13 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#org8f6bb82">1. Matrix operations</a>
|
||||
<li><a href="#org741dacb">1. Matrix operations</a>
|
||||
<ul>
|
||||
<li><a href="#orgfd6cff9">1.1. <code>qmckl_dgemm</code></a>
|
||||
<li><a href="#org5140ac0">1.1. <code>qmckl_dgemm</code></a>
|
||||
<ul>
|
||||
<li><a href="#org86d1846">1.1.1. Requirements</a></li>
|
||||
<li><a href="#orga0df4ce">1.1.2. C header</a></li>
|
||||
<li><a href="#org91a65f7">1.1.3. Source</a></li>
|
||||
<li><a href="#orgd5e0150">1.1.1. Requirements</a></li>
|
||||
<li><a href="#org430b98c">1.1.2. C header</a></li>
|
||||
<li><a href="#org28bbdc6">1.1.3. Source</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@ -348,19 +348,19 @@ for the JavaScript code in this tag.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8f6bb82" class="outline-2">
|
||||
<h2 id="org8f6bb82"><span class="section-number-2">1</span> Matrix operations</h2>
|
||||
<div id="outline-container-org741dacb" class="outline-2">
|
||||
<h2 id="org741dacb"><span class="section-number-2">1</span> Matrix operations</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
</div>
|
||||
<div id="outline-container-orgfd6cff9" class="outline-3">
|
||||
<h3 id="orgfd6cff9"><span class="section-number-3">1.1</span> <code>qmckl_dgemm</code></h3>
|
||||
<div id="outline-container-org5140ac0" class="outline-3">
|
||||
<h3 id="org5140ac0"><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="orgfc30e12" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org31a9aee" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -474,8 +474,8 @@ TODO: Add description about the external library dependence.
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org86d1846" class="outline-4">
|
||||
<h4 id="org86d1846"><span class="section-number-4">1.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-orgd5e0150" class="outline-4">
|
||||
<h4 id="orgd5e0150"><span class="section-number-4">1.1.1</span> Requirements</h4>
|
||||
<div class="outline-text-4" id="text-1-1-1">
|
||||
<ul class="org-ul">
|
||||
<li><code>context</code> is not <code>QMCKL_NULL_CONTEXT</code></li>
|
||||
@ -492,8 +492,8 @@ TODO: Add description about the external library dependence.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga0df4ce" class="outline-4">
|
||||
<h4 id="orga0df4ce"><span class="section-number-4">1.1.2</span> C header</h4>
|
||||
<div id="outline-container-org430b98c" class="outline-4">
|
||||
<h4 id="org430b98c"><span class="section-number-4">1.1.2</span> C header</h4>
|
||||
<div class="outline-text-4" id="text-1-1-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_dgemm</span> (
|
||||
@ -517,8 +517,8 @@ TODO: Add description about the external library dependence.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org91a65f7" class="outline-4">
|
||||
<h4 id="org91a65f7"><span class="section-number-4">1.1.3</span> Source</h4>
|
||||
<div id="outline-container-org28bbdc6" class="outline-4">
|
||||
<h4 id="org28bbdc6"><span class="section-number-4">1.1.3</span> Source</h4>
|
||||
<div class="outline-text-4" id="text-1-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #228b22;">integer </span><span style="color: #a020f0;">function</span><span style="color: #a0522d;"> </span><span style="color: #0000ff;">qmckl_dgemm_f</span><span style="color: #000000; background-color: #ffffff;">(context, TransA, TransB, m, n, k, alpha, A, LDA, B, LDB, beta, C, LDC)</span><span style="color: #a0522d;"> </span><span style="color: #a020f0;">&</span>
|
||||
@ -617,7 +617,7 @@ TODO: Add description about the external library dependence.
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-10-12 Tue 09:26</p>
|
||||
<p class="date">Created: 2021-10-13 Wed 10:18</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-10-12 Tue 09:26 -->
|
||||
<!-- 2021-10-13 Wed 10:18 -->
|
||||
<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="#orgc8f00fd">1. Context handling</a>
|
||||
<li><a href="#orga4b7bb6">1. Context handling</a>
|
||||
<ul>
|
||||
<li><a href="#org3f2a0eb">1.1. Data structure</a></li>
|
||||
<li><a href="#orge8521f5">1.2. Creation</a></li>
|
||||
<li><a href="#orgc0435b0">1.3. Locking</a></li>
|
||||
<li><a href="#orgb9e6c84">1.4. <span class="todo TODO">TODO</span> Copy</a></li>
|
||||
<li><a href="#org96e83ac">1.5. Destroy</a></li>
|
||||
<li><a href="#org30bfa92">1.1. Data structure</a></li>
|
||||
<li><a href="#orge73659d">1.2. Creation</a></li>
|
||||
<li><a href="#orgf10ed0b">1.3. Locking</a></li>
|
||||
<li><a href="#org9a94341">1.4. <span class="todo TODO">TODO</span> Copy</a></li>
|
||||
<li><a href="#org596f267">1.5. Destroy</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc8f00fd" class="outline-2">
|
||||
<h2 id="orgc8f00fd"><span class="section-number-2">1</span> Context handling</h2>
|
||||
<div id="outline-container-orga4b7bb6" class="outline-2">
|
||||
<h2 id="orga4b7bb6"><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="org96cd66d"><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="orgb9f3ad2"><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-org3f2a0eb" class="outline-3">
|
||||
<h3 id="org3f2a0eb"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-org30bfa92" class="outline-3">
|
||||
<h3 id="org30bfa92"><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="#orge8521f5">qmckl<sub>context</sub><sub>create</sub></a>, <a href="#org96e83ac">qmckl<sub>context</sub><sub>destroy</sub></a> and <a href="#orgb9e6c84">qmckl<sub>context</sub><sub>copy</sub></a>
|
||||
<a href="#orge73659d">qmckl<sub>context</sub><sub>create</sub></a>, <a href="#org596f267">qmckl<sub>context</sub><sub>destroy</sub></a> and <a href="#org9a94341">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-orge8521f5" class="outline-3">
|
||||
<h3 id="orge8521f5"><span class="section-number-3">1.2</span> Creation</h3>
|
||||
<div id="outline-container-orge73659d" class="outline-3">
|
||||
<h3 id="orge73659d"><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-orgc0435b0" class="outline-3">
|
||||
<h3 id="orgc0435b0"><span class="section-number-3">1.3</span> Locking</h3>
|
||||
<div id="outline-container-orgf10ed0b" class="outline-3">
|
||||
<h3 id="orgf10ed0b"><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-orgb9e6c84" class="outline-3">
|
||||
<h3 id="orgb9e6c84"><span class="section-number-3">1.4</span> <span class="todo TODO">TODO</span> Copy</h3>
|
||||
<div id="outline-container-org9a94341" class="outline-3">
|
||||
<h3 id="org9a94341"><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-org96e83ac" class="outline-3">
|
||||
<h3 id="org96e83ac"><span class="section-number-3">1.5</span> Destroy</h3>
|
||||
<div id="outline-container-org596f267" class="outline-3">
|
||||
<h3 id="org596f267"><span class="section-number-3">1.5</span> Destroy</h3>
|
||||
<div class="outline-text-3" id="text-1-5">
|
||||
<p>
|
||||
The context is destroyed with <code>qmckl_context_destroy</code>, leaving the ancestors untouched.
|
||||
@ -652,7 +652,7 @@ It frees the context, and returns the previous context.
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-10-12 Tue 09:26</p>
|
||||
<p class="date">Created: 2021-10-13 Wed 10:18</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-10-12 Tue 09:26 -->
|
||||
<!-- 2021-10-13 Wed 10:18 -->
|
||||
<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="#org5ebf940">1. Squared distance</a>
|
||||
<li><a href="#org5a33134">1. Squared distance</a>
|
||||
<ul>
|
||||
<li><a href="#org16cc5ff">1.1. <code>qmckl_distance_sq</code></a>
|
||||
<li><a href="#orgff7e36b">1.1. <code>qmckl_distance_sq</code></a>
|
||||
<ul>
|
||||
<li><a href="#orgbddaa76">1.1.1. Requirements</a></li>
|
||||
<li><a href="#orgf539663">1.1.2. C header</a></li>
|
||||
<li><a href="#org951fa1c">1.1.3. Source</a></li>
|
||||
<li><a href="#orgec296f9">1.1.4. Performance</a></li>
|
||||
<li><a href="#org7dd7bd2">1.1.1. Requirements</a></li>
|
||||
<li><a href="#org6148000">1.1.2. C header</a></li>
|
||||
<li><a href="#orga9d05e1">1.1.3. Source</a></li>
|
||||
<li><a href="#orgf1bf91f">1.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgf9f579d">2. Distance</a>
|
||||
<li><a href="#org51e478d">2. Distance</a>
|
||||
<ul>
|
||||
<li><a href="#org462de40">2.1. <code>qmckl_distance</code></a>
|
||||
<li><a href="#org20ca90b">2.1. <code>qmckl_distance</code></a>
|
||||
<ul>
|
||||
<li><a href="#org6b070b9">2.1.1. Requirements</a></li>
|
||||
<li><a href="#org4d34940">2.1.2. C header</a></li>
|
||||
<li><a href="#org4e7a47f">2.1.3. Source</a></li>
|
||||
<li><a href="#org81db2cd">2.1.4. Performance</a></li>
|
||||
<li><a href="#org666e518">2.1.1. Requirements</a></li>
|
||||
<li><a href="#org35d60b6">2.1.2. C header</a></li>
|
||||
<li><a href="#org79186a7">2.1.3. Source</a></li>
|
||||
<li><a href="#org89ed18b">2.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org6ce7a0b">3. Rescaled Distance</a>
|
||||
<li><a href="#org03f4252">3. Rescaled Distance</a>
|
||||
<ul>
|
||||
<li><a href="#org7913ce3">3.1. <code>qmckl_distance_rescaled</code></a>
|
||||
<li><a href="#org8d1937c">3.1. <code>qmckl_distance_rescaled</code></a>
|
||||
<ul>
|
||||
<li><a href="#org9d22c3f">3.1.1. Requirements</a></li>
|
||||
<li><a href="#orgd3b0c72">3.1.2. C header</a></li>
|
||||
<li><a href="#org5a82db5">3.1.3. Source</a></li>
|
||||
<li><a href="#org415dace">3.1.4. Performance</a></li>
|
||||
<li><a href="#orgfe47a11">3.1.1. Requirements</a></li>
|
||||
<li><a href="#orgd730036">3.1.2. C header</a></li>
|
||||
<li><a href="#orge2de77c">3.1.3. Source</a></li>
|
||||
<li><a href="#org96499a7">3.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orga53076c">4. Rescaled Distance Derivatives</a>
|
||||
<li><a href="#orga879115">4. Rescaled Distance Derivatives</a>
|
||||
<ul>
|
||||
<li><a href="#org1c86a0f">4.1. <code>qmckl_distance_rescaled_deriv_e</code></a>
|
||||
<li><a href="#org7134cd3">4.1. <code>qmckl_distance_rescaled_deriv_e</code></a>
|
||||
<ul>
|
||||
<li><a href="#org90503a5">4.1.1. Requirements</a></li>
|
||||
<li><a href="#orgf386df4">4.1.2. C header</a></li>
|
||||
<li><a href="#org92906b0">4.1.3. Source</a></li>
|
||||
<li><a href="#org9f0f03d">4.1.4. Performance</a></li>
|
||||
<li><a href="#org60da571">4.1.1. Requirements</a></li>
|
||||
<li><a href="#orgf60aa63">4.1.2. C header</a></li>
|
||||
<li><a href="#org9ae06f8">4.1.3. Source</a></li>
|
||||
<li><a href="#orgf7ca448">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-org5ebf940" class="outline-2">
|
||||
<h2 id="org5ebf940"><span class="section-number-2">1</span> Squared distance</h2>
|
||||
<div id="outline-container-org5a33134" class="outline-2">
|
||||
<h2 id="org5a33134"><span class="section-number-2">1</span> Squared distance</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
</div>
|
||||
<div id="outline-container-org16cc5ff" class="outline-3">
|
||||
<h3 id="org16cc5ff"><span class="section-number-3">1.1</span> <code>qmckl_distance_sq</code></h3>
|
||||
<div id="outline-container-orgff7e36b" class="outline-3">
|
||||
<h3 id="orgff7e36b"><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="org3c41ebe" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org9e8b5e4" 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-orgbddaa76" class="outline-4">
|
||||
<h4 id="orgbddaa76"><span class="section-number-4">1.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org7dd7bd2" class="outline-4">
|
||||
<h4 id="org7dd7bd2"><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-orgf539663" class="outline-4">
|
||||
<h4 id="orgf539663"><span class="section-number-4">1.1.2</span> C header</h4>
|
||||
<div id="outline-container-org6148000" class="outline-4">
|
||||
<h4 id="org6148000"><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-org951fa1c" class="outline-4">
|
||||
<h4 id="org951fa1c"><span class="section-number-4">1.1.3</span> Source</h4>
|
||||
<div id="outline-container-orga9d05e1" class="outline-4">
|
||||
<h4 id="orga9d05e1"><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-orgec296f9" class="outline-4">
|
||||
<h4 id="orgec296f9"><span class="section-number-4">1.1.4</span> Performance</h4>
|
||||
<div id="outline-container-orgf1bf91f" class="outline-4">
|
||||
<h4 id="orgf1bf91f"><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-orgf9f579d" class="outline-2">
|
||||
<h2 id="orgf9f579d"><span class="section-number-2">2</span> Distance</h2>
|
||||
<div id="outline-container-org51e478d" class="outline-2">
|
||||
<h2 id="org51e478d"><span class="section-number-2">2</span> Distance</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-org462de40" class="outline-3">
|
||||
<h3 id="org462de40"><span class="section-number-3">2.1</span> <code>qmckl_distance</code></h3>
|
||||
<div id="outline-container-org20ca90b" class="outline-3">
|
||||
<h3 id="org20ca90b"><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="org912dfe1" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org92a4fe4" 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-org6b070b9" class="outline-4">
|
||||
<h4 id="org6b070b9"><span class="section-number-4">2.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org666e518" class="outline-4">
|
||||
<h4 id="org666e518"><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-org4d34940" class="outline-4">
|
||||
<h4 id="org4d34940"><span class="section-number-4">2.1.2</span> C header</h4>
|
||||
<div id="outline-container-org35d60b6" class="outline-4">
|
||||
<h4 id="org35d60b6"><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-org4e7a47f" class="outline-4">
|
||||
<h4 id="org4e7a47f"><span class="section-number-4">2.1.3</span> Source</h4>
|
||||
<div id="outline-container-org79186a7" class="outline-4">
|
||||
<h4 id="org79186a7"><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-org81db2cd" class="outline-4">
|
||||
<h4 id="org81db2cd"><span class="section-number-4">2.1.4</span> Performance</h4>
|
||||
<div id="outline-container-org89ed18b" class="outline-4">
|
||||
<h4 id="org89ed18b"><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-org6ce7a0b" class="outline-2">
|
||||
<h2 id="org6ce7a0b"><span class="section-number-2">3</span> Rescaled Distance</h2>
|
||||
<div id="outline-container-org03f4252" class="outline-2">
|
||||
<h2 id="org03f4252"><span class="section-number-2">3</span> Rescaled Distance</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
</div>
|
||||
<div id="outline-container-org7913ce3" class="outline-3">
|
||||
<h3 id="org7913ce3"><span class="section-number-3">3.1</span> <code>qmckl_distance_rescaled</code></h3>
|
||||
<div id="outline-container-org8d1937c" class="outline-3">
|
||||
<h3 id="org8d1937c"><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="org8d29cef" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgd3ec261" 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-org9d22c3f" class="outline-4">
|
||||
<h4 id="org9d22c3f"><span class="section-number-4">3.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-orgfe47a11" class="outline-4">
|
||||
<h4 id="orgfe47a11"><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-orgd3b0c72" class="outline-4">
|
||||
<h4 id="orgd3b0c72"><span class="section-number-4">3.1.2</span> C header</h4>
|
||||
<div id="outline-container-orgd730036" class="outline-4">
|
||||
<h4 id="orgd730036"><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-org5a82db5" class="outline-4">
|
||||
<h4 id="org5a82db5"><span class="section-number-4">3.1.3</span> Source</h4>
|
||||
<div id="outline-container-orge2de77c" class="outline-4">
|
||||
<h4 id="orge2de77c"><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-org415dace" class="outline-4">
|
||||
<h4 id="org415dace"><span class="section-number-4">3.1.4</span> Performance</h4>
|
||||
<div id="outline-container-org96499a7" class="outline-4">
|
||||
<h4 id="org96499a7"><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-orga53076c" class="outline-2">
|
||||
<h2 id="orga53076c"><span class="section-number-2">4</span> Rescaled Distance Derivatives</h2>
|
||||
<div id="outline-container-orga879115" class="outline-2">
|
||||
<h2 id="orga879115"><span class="section-number-2">4</span> Rescaled Distance Derivatives</h2>
|
||||
<div class="outline-text-2" id="text-4">
|
||||
</div>
|
||||
<div id="outline-container-org1c86a0f" class="outline-3">
|
||||
<h3 id="org1c86a0f"><span class="section-number-3">4.1</span> <code>qmckl_distance_rescaled_deriv_e</code></h3>
|
||||
<div id="outline-container-org7134cd3" class="outline-3">
|
||||
<h3 id="org7134cd3"><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="orgcdfa20f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org4af9933" 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-org90503a5" class="outline-4">
|
||||
<h4 id="org90503a5"><span class="section-number-4">4.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org60da571" class="outline-4">
|
||||
<h4 id="org60da571"><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-orgf386df4" class="outline-4">
|
||||
<h4 id="orgf386df4"><span class="section-number-4">4.1.2</span> C header</h4>
|
||||
<div id="outline-container-orgf60aa63" class="outline-4">
|
||||
<h4 id="orgf60aa63"><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-org92906b0" class="outline-4">
|
||||
<h4 id="org92906b0"><span class="section-number-4">4.1.3</span> Source</h4>
|
||||
<div id="outline-container-org9ae06f8" class="outline-4">
|
||||
<h4 id="org9ae06f8"><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-org9f0f03d" class="outline-4">
|
||||
<h4 id="org9f0f03d"><span class="section-number-4">4.1.4</span> Performance</h4>
|
||||
<div id="outline-container-orgf7ca448" class="outline-4">
|
||||
<h4 id="orgf7ca448"><span class="section-number-4">4.1.4</span> Performance</h4>
|
||||
<div class="outline-text-4" id="text-4-1-4">
|
||||
<p>
|
||||
This function is more efficient when <code>A</code> and <code>B</code> are transposed.
|
||||
@ -1781,7 +1781,7 @@ This function is more efficient when <code>A</code> and <code>B</code> are trans
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-10-12 Tue 09:26</p>
|
||||
<p class="date">Created: 2021-10-13 Wed 10:18</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-10-12 Tue 09:26 -->
|
||||
<!-- 2021-10-13 Wed 10:18 -->
|
||||
<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="#org87399df">1. Context</a>
|
||||
<li><a href="#org05af73b">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#org682beda">1.1. Data structure</a></li>
|
||||
<li><a href="#org84a8a42">1.2. Access functions</a>
|
||||
<li><a href="#orgeca03d9">1.1. Data structure</a></li>
|
||||
<li><a href="#orgd34a317">1.2. Access functions</a>
|
||||
<ul>
|
||||
<li><a href="#org4f053a9">1.2.1. Number of electrons</a></li>
|
||||
<li><a href="#orgbbbe8c5">1.2.2. Number of walkers</a></li>
|
||||
<li><a href="#org809a312">1.2.3. Scaling factors Kappa</a></li>
|
||||
<li><a href="#orgeed2a10">1.2.4. Electron coordinates</a></li>
|
||||
<li><a href="#org693b08f">1.2.1. Number of electrons</a></li>
|
||||
<li><a href="#orgca13757">1.2.2. Number of walkers</a></li>
|
||||
<li><a href="#orgbaf8bd6">1.2.3. Scaling factors Kappa</a></li>
|
||||
<li><a href="#org9412e1c">1.2.4. Electron coordinates</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org8760c63">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org4c7b9ea">1.4. Test</a></li>
|
||||
<li><a href="#org65c1217">1.3. Initialization functions</a></li>
|
||||
<li><a href="#orgde6a047">1.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org54fd62d">2. Computation</a>
|
||||
<li><a href="#org8e014c8">2. Computation</a>
|
||||
<ul>
|
||||
<li><a href="#orgba79e34">2.1. Electron-electron distances</a>
|
||||
<li><a href="#org7525e62">2.1. Electron-electron distances</a>
|
||||
<ul>
|
||||
<li><a href="#orgf674292">2.1.1. Get</a></li>
|
||||
<li><a href="#org1a19b80">2.1.2. Compute</a></li>
|
||||
<li><a href="#org5e3b012">2.1.3. Test</a></li>
|
||||
<li><a href="#orga5dacf5">2.1.1. Get</a></li>
|
||||
<li><a href="#org6ef474e">2.1.2. Compute</a></li>
|
||||
<li><a href="#orga6fe920">2.1.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgd07997b">2.2. Electron-electron rescaled distances</a>
|
||||
<li><a href="#orgc084944">2.2. Electron-electron rescaled distances</a>
|
||||
<ul>
|
||||
<li><a href="#org8811e58">2.2.1. Get</a></li>
|
||||
<li><a href="#org7f9fff1">2.2.2. Compute</a></li>
|
||||
<li><a href="#orgf0c6b26">2.2.3. Test</a></li>
|
||||
<li><a href="#org44c2c08">2.2.1. Get</a></li>
|
||||
<li><a href="#org85a2e07">2.2.2. Compute</a></li>
|
||||
<li><a href="#org5bebd82">2.2.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org8a57300">2.3. Electron-electron rescaled distance gradients and laplacian with respect to electron coords</a>
|
||||
<li><a href="#org0160e5d">2.3. Electron-electron rescaled distance gradients and laplacian with respect to electron coords</a>
|
||||
<ul>
|
||||
<li><a href="#org76db6a8">2.3.1. Get</a></li>
|
||||
<li><a href="#orge98f6a0">2.3.2. Compute</a></li>
|
||||
<li><a href="#orga30dcc7">2.3.3. Test</a></li>
|
||||
<li><a href="#org371a7b4">2.3.1. Get</a></li>
|
||||
<li><a href="#org62387c0">2.3.2. Compute</a></li>
|
||||
<li><a href="#org11f7635">2.3.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org1d0da1a">2.4. Electron-nucleus distances</a>
|
||||
<li><a href="#org39e2bda">2.4. Electron-nucleus distances</a>
|
||||
<ul>
|
||||
<li><a href="#org458d6cc">2.4.1. Get</a></li>
|
||||
<li><a href="#org0427a29">2.4.2. Compute</a></li>
|
||||
<li><a href="#org4d84d6d">2.4.3. Test</a></li>
|
||||
<li><a href="#org3615bcd">2.4.1. Get</a></li>
|
||||
<li><a href="#org21b7aa2">2.4.2. Compute</a></li>
|
||||
<li><a href="#org93a9bb8">2.4.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org73a4b5f">2.5. Electron-nucleus rescaled distances</a>
|
||||
<li><a href="#org7e92dad">2.5. Electron-nucleus rescaled distances</a>
|
||||
<ul>
|
||||
<li><a href="#orgceb2520">2.5.1. Get</a></li>
|
||||
<li><a href="#orga30d1c3">2.5.2. Compute</a></li>
|
||||
<li><a href="#org15897cd">2.5.3. Test</a></li>
|
||||
<li><a href="#org804e652">2.5.1. Get</a></li>
|
||||
<li><a href="#org7642010">2.5.2. Compute</a></li>
|
||||
<li><a href="#org8f7606d">2.5.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org358b293">2.6. Electron-nucleus rescaled distance gradients and laplacian with respect to electron coords</a>
|
||||
<li><a href="#org16a9c39">2.6. Electron-nucleus rescaled distance gradients and laplacian with respect to electron coords</a>
|
||||
<ul>
|
||||
<li><a href="#org073cd05">2.6.1. Get</a></li>
|
||||
<li><a href="#org169107b">2.6.2. Compute</a></li>
|
||||
<li><a href="#org345cd89">2.6.3. Test</a></li>
|
||||
<li><a href="#org6a6d0c2">2.6.1. Get</a></li>
|
||||
<li><a href="#orgb641108">2.6.2. Compute</a></li>
|
||||
<li><a href="#orgd191531">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-org87399df" class="outline-2">
|
||||
<h2 id="org87399df"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-org05af73b" class="outline-2">
|
||||
<h2 id="org05af73b"><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-org682beda" class="outline-3">
|
||||
<h3 id="org682beda"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-orgeca03d9" class="outline-3">
|
||||
<h3 id="orgeca03d9"><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-org84a8a42" class="outline-3">
|
||||
<h3 id="org84a8a42"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div id="outline-container-orgd34a317" class="outline-3">
|
||||
<h3 id="orgd34a317"><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-org4f053a9" class="outline-4">
|
||||
<h4 id="org4f053a9"><span class="section-number-4">1.2.1</span> Number of electrons</h4>
|
||||
<div id="outline-container-org693b08f" class="outline-4">
|
||||
<h4 id="org693b08f"><span class="section-number-4">1.2.1</span> Number of electrons</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgbbbe8c5" class="outline-4">
|
||||
<h4 id="orgbbbe8c5"><span class="section-number-4">1.2.2</span> Number of walkers</h4>
|
||||
<div id="outline-container-orgca13757" class="outline-4">
|
||||
<h4 id="orgca13757"><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-org809a312" class="outline-4">
|
||||
<h4 id="org809a312"><span class="section-number-4">1.2.3</span> Scaling factors Kappa</h4>
|
||||
<div id="outline-container-orgbaf8bd6" class="outline-4">
|
||||
<h4 id="orgbaf8bd6"><span class="section-number-4">1.2.3</span> Scaling factors Kappa</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgeed2a10" class="outline-4">
|
||||
<h4 id="orgeed2a10"><span class="section-number-4">1.2.4</span> Electron coordinates</h4>
|
||||
<div id="outline-container-org9412e1c" class="outline-4">
|
||||
<h4 id="org9412e1c"><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-org8760c63" class="outline-3">
|
||||
<h3 id="org8760c63"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-org65c1217" class="outline-3">
|
||||
<h3 id="org65c1217"><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-org4c7b9ea" class="outline-3">
|
||||
<h3 id="org4c7b9ea"><span class="section-number-3">1.4</span> Test</h3>
|
||||
<div id="outline-container-orgde6a047" class="outline-3">
|
||||
<h3 id="orgde6a047"><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-org54fd62d" class="outline-2">
|
||||
<h2 id="org54fd62d"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div id="outline-container-org8e014c8" class="outline-2">
|
||||
<h2 id="org8e014c8"><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-orgba79e34" class="outline-3">
|
||||
<h3 id="orgba79e34"><span class="section-number-3">2.1</span> Electron-electron distances</h3>
|
||||
<div id="outline-container-org7525e62" class="outline-3">
|
||||
<h3 id="org7525e62"><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-orgf674292" class="outline-4">
|
||||
<h4 id="orgf674292"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div id="outline-container-orga5dacf5" class="outline-4">
|
||||
<h4 id="orga5dacf5"><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-org1a19b80" class="outline-4">
|
||||
<h4 id="org1a19b80"><span class="section-number-4">2.1.2</span> Compute</h4>
|
||||
<div id="outline-container-org6ef474e" class="outline-4">
|
||||
<h4 id="org6ef474e"><span class="section-number-4">2.1.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-1-2">
|
||||
<table id="org169a1e6" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org6cc42a4" 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-org5e3b012" class="outline-4">
|
||||
<h4 id="org5e3b012"><span class="section-number-4">2.1.3</span> Test</h4>
|
||||
<div id="outline-container-orga6fe920" class="outline-4">
|
||||
<h4 id="orga6fe920"><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-orgd07997b" class="outline-3">
|
||||
<h3 id="orgd07997b"><span class="section-number-3">2.2</span> Electron-electron rescaled distances</h3>
|
||||
<div id="outline-container-orgc084944" class="outline-3">
|
||||
<h3 id="orgc084944"><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-org8811e58" class="outline-4">
|
||||
<h4 id="org8811e58"><span class="section-number-4">2.2.1</span> Get</h4>
|
||||
<div id="outline-container-org44c2c08" class="outline-4">
|
||||
<h4 id="org44c2c08"><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-org7f9fff1" class="outline-4">
|
||||
<h4 id="org7f9fff1"><span class="section-number-4">2.2.2</span> Compute</h4>
|
||||
<div id="outline-container-org85a2e07" class="outline-4">
|
||||
<h4 id="org85a2e07"><span class="section-number-4">2.2.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-2-2">
|
||||
<table id="org402c0eb" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgd06eb4e" 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-orgf0c6b26" class="outline-4">
|
||||
<h4 id="orgf0c6b26"><span class="section-number-4">2.2.3</span> Test</h4>
|
||||
<div id="outline-container-org5bebd82" class="outline-4">
|
||||
<h4 id="org5bebd82"><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-org8a57300" class="outline-3">
|
||||
<h3 id="org8a57300"><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-org0160e5d" class="outline-3">
|
||||
<h3 id="org0160e5d"><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-org76db6a8" class="outline-4">
|
||||
<h4 id="org76db6a8"><span class="section-number-4">2.3.1</span> Get</h4>
|
||||
<div id="outline-container-org371a7b4" class="outline-4">
|
||||
<h4 id="org371a7b4"><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-orge98f6a0" class="outline-4">
|
||||
<h4 id="orge98f6a0"><span class="section-number-4">2.3.2</span> Compute</h4>
|
||||
<div id="outline-container-org62387c0" class="outline-4">
|
||||
<h4 id="org62387c0"><span class="section-number-4">2.3.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-3-2">
|
||||
<table id="org331fbb5" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org5d8568e" 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-orga30dcc7" class="outline-4">
|
||||
<h4 id="orga30dcc7"><span class="section-number-4">2.3.3</span> Test</h4>
|
||||
<div id="outline-container-org11f7635" class="outline-4">
|
||||
<h4 id="org11f7635"><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-org1d0da1a" class="outline-3">
|
||||
<h3 id="org1d0da1a"><span class="section-number-3">2.4</span> Electron-nucleus distances</h3>
|
||||
<div id="outline-container-org39e2bda" class="outline-3">
|
||||
<h3 id="org39e2bda"><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-org458d6cc" class="outline-4">
|
||||
<h4 id="org458d6cc"><span class="section-number-4">2.4.1</span> Get</h4>
|
||||
<div id="outline-container-org3615bcd" class="outline-4">
|
||||
<h4 id="org3615bcd"><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-org0427a29" class="outline-4">
|
||||
<h4 id="org0427a29"><span class="section-number-4">2.4.2</span> Compute</h4>
|
||||
<div id="outline-container-org21b7aa2" class="outline-4">
|
||||
<h4 id="org21b7aa2"><span class="section-number-4">2.4.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-4-2">
|
||||
<table id="org8285479" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orge1449b3" 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-org4d84d6d" class="outline-4">
|
||||
<h4 id="org4d84d6d"><span class="section-number-4">2.4.3</span> Test</h4>
|
||||
<div id="outline-container-org93a9bb8" class="outline-4">
|
||||
<h4 id="org93a9bb8"><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-org73a4b5f" class="outline-3">
|
||||
<h3 id="org73a4b5f"><span class="section-number-3">2.5</span> Electron-nucleus rescaled distances</h3>
|
||||
<div id="outline-container-org7e92dad" class="outline-3">
|
||||
<h3 id="org7e92dad"><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-orgceb2520" class="outline-4">
|
||||
<h4 id="orgceb2520"><span class="section-number-4">2.5.1</span> Get</h4>
|
||||
<div id="outline-container-org804e652" class="outline-4">
|
||||
<h4 id="org804e652"><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-orga30d1c3" class="outline-4">
|
||||
<h4 id="orga30d1c3"><span class="section-number-4">2.5.2</span> Compute</h4>
|
||||
<div id="outline-container-org7642010" class="outline-4">
|
||||
<h4 id="org7642010"><span class="section-number-4">2.5.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-5-2">
|
||||
<table id="org3056028" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org3239245" 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-org15897cd" class="outline-4">
|
||||
<h4 id="org15897cd"><span class="section-number-4">2.5.3</span> Test</h4>
|
||||
<div id="outline-container-org8f7606d" class="outline-4">
|
||||
<h4 id="org8f7606d"><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-org358b293" class="outline-3">
|
||||
<h3 id="org358b293"><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-org16a9c39" class="outline-3">
|
||||
<h3 id="org16a9c39"><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-org073cd05" class="outline-4">
|
||||
<h4 id="org073cd05"><span class="section-number-4">2.6.1</span> Get</h4>
|
||||
<div id="outline-container-org6a6d0c2" class="outline-4">
|
||||
<h4 id="org6a6d0c2"><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-org169107b" class="outline-4">
|
||||
<h4 id="org169107b"><span class="section-number-4">2.6.2</span> Compute</h4>
|
||||
<div id="outline-container-orgb641108" class="outline-4">
|
||||
<h4 id="orgb641108"><span class="section-number-4">2.6.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-6-2">
|
||||
<table id="org83ae16a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org8445172" 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-org345cd89" class="outline-4">
|
||||
<h4 id="org345cd89"><span class="section-number-4">2.6.3</span> Test</h4>
|
||||
<div id="outline-container-orgd191531" class="outline-4">
|
||||
<h4 id="orgd191531"><span class="section-number-4">2.6.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-6-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">
|
||||
@ -2016,7 +2016,7 @@ rc = qmckl_get_electron_en_distance_rescaled_deriv_e(context, &(en_distance_
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-10-12 Tue 09:26</p>
|
||||
<p class="date">Created: 2021-10-13 Wed 10:18</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-10-12 Tue 09:26 -->
|
||||
<!-- 2021-10-13 Wed 10:18 -->
|
||||
<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="#org55e318f">1. Decoding errors</a></li>
|
||||
<li><a href="#org37f1a76">2. Data structure in context</a></li>
|
||||
<li><a href="#org4f2eccb">3. Updating errors in the context</a></li>
|
||||
<li><a href="#org0763685">4. Get the error</a></li>
|
||||
<li><a href="#org6803f0d">5. Failing</a></li>
|
||||
<li><a href="#orgcc910dd">1. Decoding errors</a></li>
|
||||
<li><a href="#org3ba4aac">2. Data structure in context</a></li>
|
||||
<li><a href="#org31e0c2e">3. Updating errors in the context</a></li>
|
||||
<li><a href="#org9452e69">4. Get the error</a></li>
|
||||
<li><a href="#orga137188">5. Failing</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org55e318f" class="outline-2">
|
||||
<h2 id="org55e318f"><span class="section-number-2">1</span> Decoding errors</h2>
|
||||
<div id="outline-container-orgcc910dd" class="outline-2">
|
||||
<h2 id="orgcc910dd"><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-org37f1a76" class="outline-2">
|
||||
<h2 id="org37f1a76"><span class="section-number-2">2</span> Data structure in context</h2>
|
||||
<div id="outline-container-org3ba4aac" class="outline-2">
|
||||
<h2 id="org3ba4aac"><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-org4f2eccb" class="outline-2">
|
||||
<h2 id="org4f2eccb"><span class="section-number-2">3</span> Updating errors in the context</h2>
|
||||
<div id="outline-container-org31e0c2e" class="outline-2">
|
||||
<h2 id="org31e0c2e"><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-org0763685" class="outline-2">
|
||||
<h2 id="org0763685"><span class="section-number-2">4</span> Get the error</h2>
|
||||
<div id="outline-container-org9452e69" class="outline-2">
|
||||
<h2 id="org9452e69"><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-org6803f0d" class="outline-2">
|
||||
<h2 id="org6803f0d"><span class="section-number-2">5</span> Failing</h2>
|
||||
<div id="outline-container-orga137188" class="outline-2">
|
||||
<h2 id="orga137188"><span class="section-number-2">5</span> Failing</h2>
|
||||
<div class="outline-text-2" id="text-5">
|
||||
<p>
|
||||
To make a function fail, the <code>qmckl_failwith</code> function should be
|
||||
@ -628,7 +628,7 @@ For example, this function can be used as
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-10-12 Tue 09:26</p>
|
||||
<p class="date">Created: 2021-10-13 Wed 10:18</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-10-12 Tue 09:26 -->
|
||||
<!-- 2021-10-13 Wed 10:18 -->
|
||||
<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="#org8ed3f35">1. Context</a>
|
||||
<li><a href="#orgab49527">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#orge13c6a9">1.1. Data structure</a></li>
|
||||
<li><a href="#org065dcae">1.2. Access functions</a></li>
|
||||
<li><a href="#org948ea68">1.3. Initialization functions</a></li>
|
||||
<li><a href="#orge4c1457">1.4. Test</a></li>
|
||||
<li><a href="#orgeb597ab">1.1. Data structure</a></li>
|
||||
<li><a href="#org1d5cb89">1.2. Access functions</a></li>
|
||||
<li><a href="#org2b8f50d">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org87b6077">1.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org0a882d8">2. Computation</a>
|
||||
<li><a href="#org1497446">2. Computation</a>
|
||||
<ul>
|
||||
<li><a href="#org7f0888b">2.1. Asymptotic component for \(f_{ee}\)</a>
|
||||
<li><a href="#orgd8c79c6">2.1. Asymptotic component for \(f_{ee}\)</a>
|
||||
<ul>
|
||||
<li><a href="#org439dd93">2.1.1. Get</a></li>
|
||||
<li><a href="#org54fdb96">2.1.2. Compute</a></li>
|
||||
<li><a href="#org8205cac">2.1.3. Test</a></li>
|
||||
<li><a href="#org0a15e10">2.1.1. Get</a></li>
|
||||
<li><a href="#org92f7253">2.1.2. Compute</a></li>
|
||||
<li><a href="#orge817b85">2.1.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgb1f6c17">2.2. Electron-electron component \(f_{ee}\)</a>
|
||||
<li><a href="#orgf123d2d">2.2. Electron-electron component \(f_{ee}\)</a>
|
||||
<ul>
|
||||
<li><a href="#org214899f">2.2.1. Get</a></li>
|
||||
<li><a href="#orge615e4f">2.2.2. Compute</a></li>
|
||||
<li><a href="#org0b37ec7">2.2.3. Test</a></li>
|
||||
<li><a href="#org6a5c25f">2.2.1. Get</a></li>
|
||||
<li><a href="#orgf3612b5">2.2.2. Compute</a></li>
|
||||
<li><a href="#org04fbbaf">2.2.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgf1b40de">2.3. Electron-electron component derivative \(f'_{ee}\)</a>
|
||||
<li><a href="#orgf5da447">2.3. Electron-electron component derivative \(f'_{ee}\)</a>
|
||||
<ul>
|
||||
<li><a href="#org5c1fd36">2.3.1. Get</a></li>
|
||||
<li><a href="#org954da39">2.3.2. Compute</a></li>
|
||||
<li><a href="#org303bf05">2.3.3. Test</a></li>
|
||||
<li><a href="#orge15c59f">2.3.1. Get</a></li>
|
||||
<li><a href="#org79292ae">2.3.2. Compute</a></li>
|
||||
<li><a href="#org29e4b34">2.3.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgbb1a390">2.4. Electron-nucleus component \(f_{en}\)</a>
|
||||
<li><a href="#org41351b4">2.4. Electron-nucleus component \(f_{en}\)</a>
|
||||
<ul>
|
||||
<li><a href="#org3aa55c7">2.4.1. Get</a></li>
|
||||
<li><a href="#org1d703ce">2.4.2. Compute</a></li>
|
||||
<li><a href="#orgc4bd521">2.4.3. Test</a></li>
|
||||
<li><a href="#orgbb68ba3">2.4.1. Get</a></li>
|
||||
<li><a href="#orgead2ba5">2.4.2. Compute</a></li>
|
||||
<li><a href="#orgfeb623b">2.4.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org6c91b74">2.5. Electron-nucleus component derivative \(f'_{en}\)</a>
|
||||
<li><a href="#org507de6a">2.5. Electron-nucleus component derivative \(f'_{en}\)</a>
|
||||
<ul>
|
||||
<li><a href="#orga553232">2.5.1. Get</a></li>
|
||||
<li><a href="#org7d88582">2.5.2. Compute</a></li>
|
||||
<li><a href="#org667ee24">2.5.3. Test</a></li>
|
||||
<li><a href="#orgd6da14f">2.5.1. Get</a></li>
|
||||
<li><a href="#orgf56e32b">2.5.2. Compute</a></li>
|
||||
<li><a href="#org0efd4b6">2.5.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org2fdcc29">2.6. Electron-electron rescaled distances for each order</a>
|
||||
<li><a href="#org826c8bb">2.6. Electron-electron rescaled distances for each order</a>
|
||||
<ul>
|
||||
<li><a href="#org57ac5a8">2.6.1. Get</a></li>
|
||||
<li><a href="#org6e66434">2.6.2. Compute</a></li>
|
||||
<li><a href="#orgf6524d2">2.6.3. Test</a></li>
|
||||
<li><a href="#org44b6581">2.6.1. Get</a></li>
|
||||
<li><a href="#orgef538b8">2.6.2. Compute</a></li>
|
||||
<li><a href="#org9066d0d">2.6.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org3df866b">2.7. Electron-electron rescaled distances for each order and derivatives</a>
|
||||
<li><a href="#orgfef36ec">2.7. Electron-electron rescaled distances for each order and derivatives</a>
|
||||
<ul>
|
||||
<li><a href="#org9f23335">2.7.1. Get</a></li>
|
||||
<li><a href="#orgba9c0b4">2.7.2. Compute</a></li>
|
||||
<li><a href="#org1d295de">2.7.3. Test</a></li>
|
||||
<li><a href="#orgf03202c">2.7.1. Get</a></li>
|
||||
<li><a href="#org830079d">2.7.2. Compute</a></li>
|
||||
<li><a href="#org6db397e">2.7.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org801639b">2.8. Electron-nucleus rescaled distances for each order</a>
|
||||
<li><a href="#org3b854c6">2.8. Electron-nucleus rescaled distances for each order</a>
|
||||
<ul>
|
||||
<li><a href="#orgb6c6768">2.8.1. Get</a></li>
|
||||
<li><a href="#orgfa9682d">2.8.2. Compute</a></li>
|
||||
<li><a href="#org634beb1">2.8.3. Test</a></li>
|
||||
<li><a href="#org3b10432">2.8.1. Get</a></li>
|
||||
<li><a href="#org3ada4c0">2.8.2. Compute</a></li>
|
||||
<li><a href="#org08e56b0">2.8.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org528bcb1">2.9. Electron-nucleus rescaled distances for each order and derivatives</a>
|
||||
<li><a href="#org7cc326b">2.9. Electron-nucleus rescaled distances for each order and derivatives</a>
|
||||
<ul>
|
||||
<li><a href="#orgeb639c6">2.9.1. Get</a></li>
|
||||
<li><a href="#orgeb10095">2.9.2. Compute</a></li>
|
||||
<li><a href="#orgf9afd31">2.9.3. Test</a></li>
|
||||
<li><a href="#orge053a81">2.9.1. Get</a></li>
|
||||
<li><a href="#org6de250b">2.9.2. Compute</a></li>
|
||||
<li><a href="#org917c7d4">2.9.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org058a967">2.10. Prepare for electron-electron-nucleus Jastrow \(f_{een}\)</a>
|
||||
<li><a href="#org21edacb">2.10. Prepare for electron-electron-nucleus Jastrow \(f_{een}\)</a>
|
||||
<ul>
|
||||
<li><a href="#org1619b25">2.10.1. Get</a></li>
|
||||
<li><a href="#orgf4561a2">2.10.2. Compute dim<sub>cord</sub><sub>vect</sub></a></li>
|
||||
<li><a href="#orge38e5c5">2.10.3. Compute cord<sub>vect</sub><sub>full</sub></a></li>
|
||||
<li><a href="#orge7c78f6">2.10.4. Compute lkpm<sub>combined</sub><sub>index</sub></a></li>
|
||||
<li><a href="#orgc081bc0">2.10.5. Test</a></li>
|
||||
<li><a href="#org38ff172">2.10.1. Get</a></li>
|
||||
<li><a href="#org901a1cb">2.10.2. Compute dim<sub>cord</sub><sub>vect</sub></a></li>
|
||||
<li><a href="#org9d47df8">2.10.3. Compute cord<sub>vect</sub><sub>full</sub></a></li>
|
||||
<li><a href="#org3ba0b22">2.10.4. Compute lkpm<sub>combined</sub><sub>index</sub></a></li>
|
||||
<li><a href="#org13ae86c">2.10.5. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgf14699a">2.11. Electron-electron-nucleus Jastrow \(f_{een}\)</a>
|
||||
<li><a href="#orgae38553">2.11. Electron-electron-nucleus Jastrow \(f_{een}\)</a>
|
||||
<ul>
|
||||
<li><a href="#orga694382">2.11.1. Get</a></li>
|
||||
<li><a href="#org4d4faeb">2.11.2. Compute</a></li>
|
||||
<li><a href="#org51db09a">2.11.3. Test</a></li>
|
||||
<li><a href="#org1ef8357">2.11.1. Get</a></li>
|
||||
<li><a href="#orgca7a3de">2.11.2. Compute</a></li>
|
||||
<li><a href="#org885afa3">2.11.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgc11fab2">2.12. Electron-electron-nucleus Jastrow \(f_{een}\) derivative</a>
|
||||
<li><a href="#orgf4d790a">2.12. Electron-electron-nucleus Jastrow \(f_{een}\) derivative</a>
|
||||
<ul>
|
||||
<li><a href="#org73e8415">2.12.1. Get</a></li>
|
||||
<li><a href="#org7f3503d">2.12.2. Compute</a></li>
|
||||
<li><a href="#orge25de1a">2.12.3. Test</a></li>
|
||||
<li><a href="#org6718ed8">2.12.1. Get</a></li>
|
||||
<li><a href="#org3be48fd">2.12.2. Compute</a></li>
|
||||
<li><a href="#orgbddf635">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-org8ed3f35" class="outline-2">
|
||||
<h2 id="org8ed3f35"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-orgab49527" class="outline-2">
|
||||
<h2 id="orgab49527"><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="org50e706b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgf05f6a9" 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="orgbd0bda8"><span style="color: #a020f0;">import</span> numpy <span style="color: #a020f0;">as</span> np
|
||||
<pre class="src src-python" id="org902ed4e"><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-orge13c6a9" class="outline-3">
|
||||
<h3 id="orge13c6a9"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-orgeb597ab" class="outline-3">
|
||||
<h3 id="orgeb597ab"><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-org065dcae" class="outline-3">
|
||||
<h3 id="org065dcae"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div id="outline-container-org1d5cb89" class="outline-3">
|
||||
<h3 id="org1d5cb89"><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-org948ea68" class="outline-3">
|
||||
<h3 id="org948ea68"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-org2b8f50d" class="outline-3">
|
||||
<h3 id="org2b8f50d"><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-orge4c1457" class="outline-3">
|
||||
<h3 id="orge4c1457"><span class="section-number-3">1.4</span> Test</h3>
|
||||
<div id="outline-container-org87b6077" class="outline-3">
|
||||
<h3 id="org87b6077"><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-org0a882d8" class="outline-2">
|
||||
<h2 id="org0a882d8"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div id="outline-container-org1497446" class="outline-2">
|
||||
<h2 id="org1497446"><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-org7f0888b" class="outline-3">
|
||||
<h3 id="org7f0888b"><span class="section-number-3">2.1</span> Asymptotic component for \(f_{ee}\)</h3>
|
||||
<div id="outline-container-orgd8c79c6" class="outline-3">
|
||||
<h3 id="orgd8c79c6"><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-org439dd93" class="outline-4">
|
||||
<h4 id="org439dd93"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div id="outline-container-org0a15e10" class="outline-4">
|
||||
<h4 id="org0a15e10"><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-org54fdb96" class="outline-4">
|
||||
<h4 id="org54fdb96"><span class="section-number-4">2.1.2</span> Compute</h4>
|
||||
<div id="outline-container-org92f7253" class="outline-4">
|
||||
<h4 id="org92f7253"><span class="section-number-4">2.1.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-1-2">
|
||||
<table id="org8022207" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org7607414" 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-org8205cac" class="outline-4">
|
||||
<h4 id="org8205cac"><span class="section-number-4">2.1.3</span> Test</h4>
|
||||
<div id="outline-container-orge817b85" class="outline-4">
|
||||
<h4 id="orge817b85"><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-orgb1f6c17" class="outline-3">
|
||||
<h3 id="orgb1f6c17"><span class="section-number-3">2.2</span> Electron-electron component \(f_{ee}\)</h3>
|
||||
<div id="outline-container-orgf123d2d" class="outline-3">
|
||||
<h3 id="orgf123d2d"><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-org214899f" class="outline-4">
|
||||
<h4 id="org214899f"><span class="section-number-4">2.2.1</span> Get</h4>
|
||||
<div id="outline-container-org6a5c25f" class="outline-4">
|
||||
<h4 id="org6a5c25f"><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-orge615e4f" class="outline-4">
|
||||
<h4 id="orge615e4f"><span class="section-number-4">2.2.2</span> Compute</h4>
|
||||
<div id="outline-container-orgf3612b5" class="outline-4">
|
||||
<h4 id="orgf3612b5"><span class="section-number-4">2.2.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-2-2">
|
||||
<table id="orgb34bab1" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgf7e50a5" 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-org0b37ec7" class="outline-4">
|
||||
<h4 id="org0b37ec7"><span class="section-number-4">2.2.3</span> Test</h4>
|
||||
<div id="outline-container-org04fbbaf" class="outline-4">
|
||||
<h4 id="org04fbbaf"><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-orgf1b40de" class="outline-3">
|
||||
<h3 id="orgf1b40de"><span class="section-number-3">2.3</span> Electron-electron component derivative \(f'_{ee}\)</h3>
|
||||
<div id="outline-container-orgf5da447" class="outline-3">
|
||||
<h3 id="orgf5da447"><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-org5c1fd36" class="outline-4">
|
||||
<h4 id="org5c1fd36"><span class="section-number-4">2.3.1</span> Get</h4>
|
||||
<div id="outline-container-orge15c59f" class="outline-4">
|
||||
<h4 id="orge15c59f"><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-org954da39" class="outline-4">
|
||||
<h4 id="org954da39"><span class="section-number-4">2.3.2</span> Compute</h4>
|
||||
<div id="outline-container-org79292ae" class="outline-4">
|
||||
<h4 id="org79292ae"><span class="section-number-4">2.3.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-3-2">
|
||||
<table id="orgdc3ff5f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org7a076c0" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1848,8 +1848,8 @@ TODO: Add equation
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org303bf05" class="outline-4">
|
||||
<h4 id="org303bf05"><span class="section-number-4">2.3.3</span> Test</h4>
|
||||
<div id="outline-container-org29e4b34" class="outline-4">
|
||||
<h4 id="org29e4b34"><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-orgbb1a390" class="outline-3">
|
||||
<h3 id="orgbb1a390"><span class="section-number-3">2.4</span> Electron-nucleus component \(f_{en}\)</h3>
|
||||
<div id="outline-container-org41351b4" class="outline-3">
|
||||
<h3 id="org41351b4"><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-org3aa55c7" class="outline-4">
|
||||
<h4 id="org3aa55c7"><span class="section-number-4">2.4.1</span> Get</h4>
|
||||
<div id="outline-container-orgbb68ba3" class="outline-4">
|
||||
<h4 id="orgbb68ba3"><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-org1d703ce" class="outline-4">
|
||||
<h4 id="org1d703ce"><span class="section-number-4">2.4.2</span> Compute</h4>
|
||||
<div id="outline-container-orgead2ba5" class="outline-4">
|
||||
<h4 id="orgead2ba5"><span class="section-number-4">2.4.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-4-2">
|
||||
<table id="orgf57bebf" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgb4bbff8" 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-orgc4bd521" class="outline-4">
|
||||
<h4 id="orgc4bd521"><span class="section-number-4">2.4.3</span> Test</h4>
|
||||
<div id="outline-container-orgfeb623b" class="outline-4">
|
||||
<h4 id="orgfeb623b"><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-org6c91b74" class="outline-3">
|
||||
<h3 id="org6c91b74"><span class="section-number-3">2.5</span> Electron-nucleus component derivative \(f'_{en}\)</h3>
|
||||
<div id="outline-container-org507de6a" class="outline-3">
|
||||
<h3 id="org507de6a"><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-orga553232" class="outline-4">
|
||||
<h4 id="orga553232"><span class="section-number-4">2.5.1</span> Get</h4>
|
||||
<div id="outline-container-orgd6da14f" class="outline-4">
|
||||
<h4 id="orgd6da14f"><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-org7d88582" class="outline-4">
|
||||
<h4 id="org7d88582"><span class="section-number-4">2.5.2</span> Compute</h4>
|
||||
<div id="outline-container-orgf56e32b" class="outline-4">
|
||||
<h4 id="orgf56e32b"><span class="section-number-4">2.5.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-5-2">
|
||||
<table id="org199ccd5" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orga7cb429" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2333,8 +2333,8 @@ TODO: write equations.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org667ee24" class="outline-4">
|
||||
<h4 id="org667ee24"><span class="section-number-4">2.5.3</span> Test</h4>
|
||||
<div id="outline-container-org0efd4b6" class="outline-4">
|
||||
<h4 id="org0efd4b6"><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-org2fdcc29" class="outline-3">
|
||||
<h3 id="org2fdcc29"><span class="section-number-3">2.6</span> Electron-electron rescaled distances for each order</h3>
|
||||
<div id="outline-container-org826c8bb" class="outline-3">
|
||||
<h3 id="org826c8bb"><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-org57ac5a8" class="outline-4">
|
||||
<h4 id="org57ac5a8"><span class="section-number-4">2.6.1</span> Get</h4>
|
||||
<div id="outline-container-org44b6581" class="outline-4">
|
||||
<h4 id="org44b6581"><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-org6e66434" class="outline-4">
|
||||
<h4 id="org6e66434"><span class="section-number-4">2.6.2</span> Compute</h4>
|
||||
<div id="outline-container-orgef538b8" class="outline-4">
|
||||
<h4 id="orgef538b8"><span class="section-number-4">2.6.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-6-2">
|
||||
<table id="orgebacc98" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org57fcd50" 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-orgf6524d2" class="outline-4">
|
||||
<h4 id="orgf6524d2"><span class="section-number-4">2.6.3</span> Test</h4>
|
||||
<div id="outline-container-org9066d0d" class="outline-4">
|
||||
<h4 id="org9066d0d"><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-org3df866b" class="outline-3">
|
||||
<h3 id="org3df866b"><span class="section-number-3">2.7</span> Electron-electron rescaled distances for each order and derivatives</h3>
|
||||
<div id="outline-container-orgfef36ec" class="outline-3">
|
||||
<h3 id="orgfef36ec"><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-org9f23335" class="outline-4">
|
||||
<h4 id="org9f23335"><span class="section-number-4">2.7.1</span> Get</h4>
|
||||
<div id="outline-container-orgf03202c" class="outline-4">
|
||||
<h4 id="orgf03202c"><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-orgba9c0b4" class="outline-4">
|
||||
<h4 id="orgba9c0b4"><span class="section-number-4">2.7.2</span> Compute</h4>
|
||||
<div id="outline-container-org830079d" class="outline-4">
|
||||
<h4 id="org830079d"><span class="section-number-4">2.7.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-7-2">
|
||||
<table id="orgcf0c8fb" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgc336aa8" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2786,8 +2786,8 @@ TODO: write formulae
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org1d295de" class="outline-4">
|
||||
<h4 id="org1d295de"><span class="section-number-4">2.7.3</span> Test</h4>
|
||||
<div id="outline-container-org6db397e" class="outline-4">
|
||||
<h4 id="org6db397e"><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-org801639b" class="outline-3">
|
||||
<h3 id="org801639b"><span class="section-number-3">2.8</span> Electron-nucleus rescaled distances for each order</h3>
|
||||
<div id="outline-container-org3b854c6" class="outline-3">
|
||||
<h3 id="org3b854c6"><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-orgb6c6768" class="outline-4">
|
||||
<h4 id="orgb6c6768"><span class="section-number-4">2.8.1</span> Get</h4>
|
||||
<div id="outline-container-org3b10432" class="outline-4">
|
||||
<h4 id="org3b10432"><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-orgfa9682d" class="outline-4">
|
||||
<h4 id="orgfa9682d"><span class="section-number-4">2.8.2</span> Compute</h4>
|
||||
<div id="outline-container-org3ada4c0" class="outline-4">
|
||||
<h4 id="org3ada4c0"><span class="section-number-4">2.8.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-8-2">
|
||||
<table id="org663c65e" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org75b9872" 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-org634beb1" class="outline-4">
|
||||
<h4 id="org634beb1"><span class="section-number-4">2.8.3</span> Test</h4>
|
||||
<div id="outline-container-org08e56b0" class="outline-4">
|
||||
<h4 id="org08e56b0"><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-org528bcb1" class="outline-3">
|
||||
<h3 id="org528bcb1"><span class="section-number-3">2.9</span> Electron-nucleus rescaled distances for each order and derivatives</h3>
|
||||
<div id="outline-container-org7cc326b" class="outline-3">
|
||||
<h3 id="org7cc326b"><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-orgeb639c6" class="outline-4">
|
||||
<h4 id="orgeb639c6"><span class="section-number-4">2.9.1</span> Get</h4>
|
||||
<div id="outline-container-orge053a81" class="outline-4">
|
||||
<h4 id="orge053a81"><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-orgeb10095" class="outline-4">
|
||||
<h4 id="orgeb10095"><span class="section-number-4">2.9.2</span> Compute</h4>
|
||||
<div id="outline-container-org6de250b" class="outline-4">
|
||||
<h4 id="org6de250b"><span class="section-number-4">2.9.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-9-2">
|
||||
<table id="orgde1f867" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org8a18c3a" 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-orgf9afd31" class="outline-4">
|
||||
<h4 id="orgf9afd31"><span class="section-number-4">2.9.3</span> Test</h4>
|
||||
<div id="outline-container-org917c7d4" class="outline-4">
|
||||
<h4 id="org917c7d4"><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-org058a967" class="outline-3">
|
||||
<h3 id="org058a967"><span class="section-number-3">2.10</span> Prepare for electron-electron-nucleus Jastrow \(f_{een}\)</h3>
|
||||
<div id="outline-container-org21edacb" class="outline-3">
|
||||
<h3 id="org21edacb"><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-org1619b25" class="outline-4">
|
||||
<h4 id="org1619b25"><span class="section-number-4">2.10.1</span> Get</h4>
|
||||
<div id="outline-container-org38ff172" class="outline-4">
|
||||
<h4 id="org38ff172"><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-orgf4561a2" class="outline-4">
|
||||
<h4 id="orgf4561a2"><span class="section-number-4">2.10.2</span> Compute dim<sub>cord</sub><sub>vect</sub></h4>
|
||||
<div id="outline-container-org901a1cb" class="outline-4">
|
||||
<h4 id="org901a1cb"><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="org5723002" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org6526afb" 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-orge38e5c5" class="outline-4">
|
||||
<h4 id="orge38e5c5"><span class="section-number-4">2.10.3</span> Compute cord<sub>vect</sub><sub>full</sub></h4>
|
||||
<div id="outline-container-org9d47df8" class="outline-4">
|
||||
<h4 id="org9d47df8"><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="orga8c0610" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org99307e3" 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-orge7c78f6" class="outline-4">
|
||||
<h4 id="orge7c78f6"><span class="section-number-4">2.10.4</span> Compute lkpm<sub>combined</sub><sub>index</sub></h4>
|
||||
<div id="outline-container-org3ba0b22" class="outline-4">
|
||||
<h4 id="org3ba0b22"><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="org750f94a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgbffc552" 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-orgc081bc0" class="outline-4">
|
||||
<h4 id="orgc081bc0"><span class="section-number-4">2.10.5</span> Test</h4>
|
||||
<div id="outline-container-org13ae86c" class="outline-4">
|
||||
<h4 id="org13ae86c"><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-orgf14699a" class="outline-3">
|
||||
<h3 id="orgf14699a"><span class="section-number-3">2.11</span> Electron-electron-nucleus Jastrow \(f_{een}\)</h3>
|
||||
<div id="outline-container-orgae38553" class="outline-3">
|
||||
<h3 id="orgae38553"><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-orga694382" class="outline-4">
|
||||
<h4 id="orga694382"><span class="section-number-4">2.11.1</span> Get</h4>
|
||||
<div id="outline-container-org1ef8357" class="outline-4">
|
||||
<h4 id="org1ef8357"><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-org4d4faeb" class="outline-4">
|
||||
<h4 id="org4d4faeb"><span class="section-number-4">2.11.2</span> Compute</h4>
|
||||
<div id="outline-container-orgca7a3de" class="outline-4">
|
||||
<h4 id="orgca7a3de"><span class="section-number-4">2.11.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-11-2">
|
||||
<table id="org3a8f49b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org3128365" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -3850,8 +3850,8 @@ TODO: write equations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org51db09a" class="outline-4">
|
||||
<h4 id="org51db09a"><span class="section-number-4">2.11.3</span> Test</h4>
|
||||
<div id="outline-container-org885afa3" class="outline-4">
|
||||
<h4 id="org885afa3"><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-orgc11fab2" class="outline-3">
|
||||
<h3 id="orgc11fab2"><span class="section-number-3">2.12</span> Electron-electron-nucleus Jastrow \(f_{een}\) derivative</h3>
|
||||
<div id="outline-container-orgf4d790a" class="outline-3">
|
||||
<h3 id="orgf4d790a"><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-org73e8415" class="outline-4">
|
||||
<h4 id="org73e8415"><span class="section-number-4">2.12.1</span> Get</h4>
|
||||
<div id="outline-container-org6718ed8" class="outline-4">
|
||||
<h4 id="org6718ed8"><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-org7f3503d" class="outline-4">
|
||||
<h4 id="org7f3503d"><span class="section-number-4">2.12.2</span> Compute</h4>
|
||||
<div id="outline-container-org3be48fd" class="outline-4">
|
||||
<h4 id="org3be48fd"><span class="section-number-4">2.12.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-12-2">
|
||||
<table id="org885bb43" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org282a8b2" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -4118,8 +4118,8 @@ TODO: write equations.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orge25de1a" class="outline-4">
|
||||
<h4 id="orge25de1a"><span class="section-number-4">2.12.3</span> Test</h4>
|
||||
<div id="outline-container-orgbddf635" class="outline-4">
|
||||
<h4 id="orgbddf635"><span class="section-number-4">2.12.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-12-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">/* <span style="color: #b22222;">Check if Jastrow is properly initialized </span>*/
|
||||
@ -4138,7 +4138,7 @@ rc = qmckl_get_jastrow_factor_een_deriv_e(context, &(factor_een_deriv_e[0][0
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-10-12 Tue 09:26</p>
|
||||
<p class="date">Created: 2021-10-13 Wed 10:18</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-10-12 Tue 09:26 -->
|
||||
<!-- 2021-10-13 Wed 10:18 -->
|
||||
<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="#org43e64f3">1. Memory data structure for the context</a></li>
|
||||
<li><a href="#org03522c9">2. Passing info to allocation routines</a></li>
|
||||
<li><a href="#orge1c16f4">3. Allocation/deallocation functions</a></li>
|
||||
<li><a href="#orgfa8893a">1. Memory data structure for the context</a></li>
|
||||
<li><a href="#org59fb7e1">2. Passing info to allocation routines</a></li>
|
||||
<li><a href="#orge65e9cf">3. Allocation/deallocation functions</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org43e64f3" class="outline-2">
|
||||
<h2 id="org43e64f3"><span class="section-number-2">1</span> Memory data structure for the context</h2>
|
||||
<div id="outline-container-orgfa8893a" class="outline-2">
|
||||
<h2 id="orgfa8893a"><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-org03522c9" class="outline-2">
|
||||
<h2 id="org03522c9"><span class="section-number-2">2</span> Passing info to allocation routines</h2>
|
||||
<div id="outline-container-org59fb7e1" class="outline-2">
|
||||
<h2 id="org59fb7e1"><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-orge1c16f4" class="outline-2">
|
||||
<h2 id="orge1c16f4"><span class="section-number-2">3</span> Allocation/deallocation functions</h2>
|
||||
<div id="outline-container-orge65e9cf" class="outline-2">
|
||||
<h2 id="orge65e9cf"><span class="section-number-2">3</span> Allocation/deallocation functions</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
<p>
|
||||
Memory allocation inside the library should be done with
|
||||
@ -535,7 +535,7 @@ allocation and needs to be updated.
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-10-12 Tue 09:26</p>
|
||||
<p class="date">Created: 2021-10-13 Wed 10:18</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-10-12 Tue 09:26 -->
|
||||
<!-- 2021-10-13 Wed 10:18 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Molecular Orbitals</title>
|
||||
@ -311,21 +311,21 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#orgbb5827e">1. Context</a>
|
||||
<li><a href="#org7144abf">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#org050ad55">1.1. Data structure</a></li>
|
||||
<li><a href="#org76b0a1d">1.2. Access functions</a></li>
|
||||
<li><a href="#org9c02ae3">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org809a84b">1.1. Data structure</a></li>
|
||||
<li><a href="#org46a4d27">1.2. Access functions</a></li>
|
||||
<li><a href="#org2c26c26">1.3. Initialization functions</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org27fb80c">2. Computation</a>
|
||||
<li><a href="#orgf7829e5">2. Computation</a>
|
||||
<ul>
|
||||
<li><a href="#orge387b4c">2.1. Computation of MOs</a>
|
||||
<li><a href="#orgbd6ffb7">2.1. Computation of MOs</a>
|
||||
<ul>
|
||||
<li><a href="#org7f63de2">2.1.1. Get</a></li>
|
||||
<li><a href="#org411ad90">2.1.2. Provide</a></li>
|
||||
<li><a href="#org3cb9550">2.1.3. Compute</a></li>
|
||||
<li><a href="#orgf82c58f">2.1.4. Test</a></li>
|
||||
<li><a href="#org8415643">2.1.1. Get</a></li>
|
||||
<li><a href="#org0c80147">2.1.2. Provide</a></li>
|
||||
<li><a href="#org0d7ddd8">2.1.3. Compute</a></li>
|
||||
<li><a href="#orgfbee912">2.1.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@ -334,8 +334,8 @@ for the JavaScript code in this tag.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgbb5827e" class="outline-2">
|
||||
<h2 id="orgbb5827e"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-org7144abf" class="outline-2">
|
||||
<h2 id="org7144abf"><span class="section-number-2">1</span> Context</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
The following arrays are stored in the context:
|
||||
@ -402,8 +402,8 @@ Computed data:
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org050ad55" class="outline-3">
|
||||
<h3 id="org050ad55"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-org809a84b" class="outline-3">
|
||||
<h3 id="org809a84b"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #a020f0;">typedef</span> <span style="color: #a020f0;">struct</span> <span style="color: #228b22;">qmckl_mo_basis_struct</span> {
|
||||
@ -431,8 +431,8 @@ this mechanism.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org76b0a1d" class="outline-3">
|
||||
<h3 id="org76b0a1d"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div id="outline-container-org46a4d27" class="outline-3">
|
||||
<h3 id="org46a4d27"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div class="outline-text-3" id="text-1-2">
|
||||
<p>
|
||||
When all the data for the AOs have been provided, the following
|
||||
@ -446,8 +446,8 @@ function returns <code>true</code>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9c02ae3" class="outline-3">
|
||||
<h3 id="org9c02ae3"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-org2c26c26" class="outline-3">
|
||||
<h3 id="org2c26c26"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div class="outline-text-3" id="text-1-3">
|
||||
<p>
|
||||
To set the basis set, all the following functions need to be
|
||||
@ -469,16 +469,16 @@ computed to accelerate the calculations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org27fb80c" class="outline-2">
|
||||
<h2 id="org27fb80c"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div id="outline-container-orgf7829e5" class="outline-2">
|
||||
<h2 id="orgf7829e5"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-orge387b4c" class="outline-3">
|
||||
<h3 id="orge387b4c"><span class="section-number-3">2.1</span> Computation of MOs</h3>
|
||||
<div id="outline-container-orgbd6ffb7" class="outline-3">
|
||||
<h3 id="orgbd6ffb7"><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-org7f63de2" class="outline-4">
|
||||
<h4 id="org7f63de2"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div id="outline-container-org8415643" class="outline-4">
|
||||
<h4 id="org8415643"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-1-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_mo_basis_vgl</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">mo_vgl</span>);
|
||||
@ -487,14 +487,14 @@ computed to accelerate the calculations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org411ad90" class="outline-4">
|
||||
<h4 id="org411ad90"><span class="section-number-4">2.1.2</span> Provide</h4>
|
||||
<div id="outline-container-org0c80147" class="outline-4">
|
||||
<h4 id="org0c80147"><span class="section-number-4">2.1.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3cb9550" class="outline-4">
|
||||
<h4 id="org3cb9550"><span class="section-number-4">2.1.3</span> Compute</h4>
|
||||
<div id="outline-container-org0d7ddd8" class="outline-4">
|
||||
<h4 id="org0d7ddd8"><span class="section-number-4">2.1.3</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-1-3">
|
||||
<table id="orgb8f187b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org38fe06a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -666,15 +666,15 @@ computed to accelerate the calculations.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgf82c58f" class="outline-4">
|
||||
<h4 id="orgf82c58f"><span class="section-number-4">2.1.4</span> Test</h4>
|
||||
<div id="outline-container-orgfbee912" class="outline-4">
|
||||
<h4 id="orgfbee912"><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-12 Tue 09:26</p>
|
||||
<p class="date">Created: 2021-10-13 Wed 10:18</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-10-12 Tue 09:26 -->
|
||||
<!-- 2021-10-13 Wed 10:18 -->
|
||||
<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="#orgb4639b4">1. Context</a>
|
||||
<li><a href="#org5c63764">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#org67ea9f3">1.1. Data structure</a></li>
|
||||
<li><a href="#org348fe9b">1.2. Access functions</a></li>
|
||||
<li><a href="#org145aac0">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org45c5358">1.4. Test</a></li>
|
||||
<li><a href="#org7a2447a">1.1. Data structure</a></li>
|
||||
<li><a href="#orgbed8791">1.2. Access functions</a></li>
|
||||
<li><a href="#orged46cab">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org1278a10">1.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org8081fad">2. Computation</a>
|
||||
<li><a href="#orgb08b8b5">2. Computation</a>
|
||||
<ul>
|
||||
<li><a href="#org96e17e0">2.1. Nucleus-nucleus distances</a>
|
||||
<li><a href="#org8cea8f2">2.1. Nucleus-nucleus distances</a>
|
||||
<ul>
|
||||
<li><a href="#org6f0cd12">2.1.1. Get</a></li>
|
||||
<li><a href="#org9d69956">2.1.2. Compute</a></li>
|
||||
<li><a href="#org3fadf34">2.1.3. Test</a></li>
|
||||
<li><a href="#org1dda9ce">2.1.1. Get</a></li>
|
||||
<li><a href="#org93638f6">2.1.2. Compute</a></li>
|
||||
<li><a href="#orgacc21cc">2.1.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org3d3fe6e">2.2. Nucleus-nucleus rescaled distances</a>
|
||||
<li><a href="#org9389d92">2.2. Nucleus-nucleus rescaled distances</a>
|
||||
<ul>
|
||||
<li><a href="#org334bb5d">2.2.1. Get</a></li>
|
||||
<li><a href="#org21df121">2.2.2. Compute</a></li>
|
||||
<li><a href="#org5f116ec">2.2.3. Test</a></li>
|
||||
<li><a href="#org9c65a08">2.2.1. Get</a></li>
|
||||
<li><a href="#org24436d9">2.2.2. Compute</a></li>
|
||||
<li><a href="#org476de63">2.2.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org624d480">2.3. Nuclear repulsion energy</a>
|
||||
<li><a href="#orgf6ab9cb">2.3. Nuclear repulsion energy</a>
|
||||
<ul>
|
||||
<li><a href="#org49a8118">2.3.1. Get</a></li>
|
||||
<li><a href="#org547acc0">2.3.2. Compute</a></li>
|
||||
<li><a href="#org686e7f2">2.3.3. Test</a></li>
|
||||
<li><a href="#orgfab6cc8">2.3.1. Get</a></li>
|
||||
<li><a href="#orgb3f9047">2.3.2. Compute</a></li>
|
||||
<li><a href="#org22b117d">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-orgb4639b4" class="outline-2">
|
||||
<h2 id="orgb4639b4"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-org5c63764" class="outline-2">
|
||||
<h2 id="org5c63764"><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-org67ea9f3" class="outline-3">
|
||||
<h3 id="org67ea9f3"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-org7a2447a" class="outline-3">
|
||||
<h3 id="org7a2447a"><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-org348fe9b" class="outline-3">
|
||||
<h3 id="org348fe9b"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div id="outline-container-orgbed8791" class="outline-3">
|
||||
<h3 id="orgbed8791"><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-org145aac0" class="outline-3">
|
||||
<h3 id="org145aac0"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-orged46cab" class="outline-3">
|
||||
<h3 id="orged46cab"><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-org45c5358" class="outline-3">
|
||||
<h3 id="org45c5358"><span class="section-number-3">1.4</span> Test</h3>
|
||||
<div id="outline-container-org1278a10" class="outline-3">
|
||||
<h3 id="org1278a10"><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-org8081fad" class="outline-2">
|
||||
<h2 id="org8081fad"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div id="outline-container-orgb08b8b5" class="outline-2">
|
||||
<h2 id="orgb08b8b5"><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-org96e17e0" class="outline-3">
|
||||
<h3 id="org96e17e0"><span class="section-number-3">2.1</span> Nucleus-nucleus distances</h3>
|
||||
<div id="outline-container-org8cea8f2" class="outline-3">
|
||||
<h3 id="org8cea8f2"><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-org6f0cd12" class="outline-4">
|
||||
<h4 id="org6f0cd12"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div id="outline-container-org1dda9ce" class="outline-4">
|
||||
<h4 id="org1dda9ce"><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-org9d69956" class="outline-4">
|
||||
<h4 id="org9d69956"><span class="section-number-4">2.1.2</span> Compute</h4>
|
||||
<div id="outline-container-org93638f6" class="outline-4">
|
||||
<h4 id="org93638f6"><span class="section-number-4">2.1.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-1-2">
|
||||
<table id="org90923e1" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org0c3c550" 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-org3fadf34" class="outline-4">
|
||||
<h4 id="org3fadf34"><span class="section-number-4">2.1.3</span> Test</h4>
|
||||
<div id="outline-container-orgacc21cc" class="outline-4">
|
||||
<h4 id="orgacc21cc"><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-org3d3fe6e" class="outline-3">
|
||||
<h3 id="org3d3fe6e"><span class="section-number-3">2.2</span> Nucleus-nucleus rescaled distances</h3>
|
||||
<div id="outline-container-org9389d92" class="outline-3">
|
||||
<h3 id="org9389d92"><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-org334bb5d" class="outline-4">
|
||||
<h4 id="org334bb5d"><span class="section-number-4">2.2.1</span> Get</h4>
|
||||
<div id="outline-container-org9c65a08" class="outline-4">
|
||||
<h4 id="org9c65a08"><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-org21df121" class="outline-4">
|
||||
<h4 id="org21df121"><span class="section-number-4">2.2.2</span> Compute</h4>
|
||||
<div id="outline-container-org24436d9" class="outline-4">
|
||||
<h4 id="org24436d9"><span class="section-number-4">2.2.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-2-2">
|
||||
<table id="org3cf28b7" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org17906fe" 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-org5f116ec" class="outline-4">
|
||||
<h4 id="org5f116ec"><span class="section-number-4">2.2.3</span> Test</h4>
|
||||
<div id="outline-container-org476de63" class="outline-4">
|
||||
<h4 id="org476de63"><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-org624d480" class="outline-3">
|
||||
<h3 id="org624d480"><span class="section-number-3">2.3</span> Nuclear repulsion energy</h3>
|
||||
<div id="outline-container-orgf6ab9cb" class="outline-3">
|
||||
<h3 id="orgf6ab9cb"><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-org49a8118" class="outline-4">
|
||||
<h4 id="org49a8118"><span class="section-number-4">2.3.1</span> Get</h4>
|
||||
<div id="outline-container-orgfab6cc8" class="outline-4">
|
||||
<h4 id="orgfab6cc8"><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-org547acc0" class="outline-4">
|
||||
<h4 id="org547acc0"><span class="section-number-4">2.3.2</span> Compute</h4>
|
||||
<div id="outline-container-orgb3f9047" class="outline-4">
|
||||
<h4 id="orgb3f9047"><span class="section-number-4">2.3.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-3-2">
|
||||
<table id="org943e99c" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org0138b04" 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-org686e7f2" class="outline-4">
|
||||
<h4 id="org686e7f2"><span class="section-number-4">2.3.3</span> Test</h4>
|
||||
<div id="outline-container-org22b117d" class="outline-4">
|
||||
<h4 id="org22b117d"><span class="section-number-4">2.3.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-3-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">/* <span style="color: #b22222;">Reference input data </span>*/
|
||||
@ -1038,7 +1038,7 @@ rc = qmckl_get_nucleus_repulsion(context, &rep);
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-10-12 Tue 09:26</p>
|
||||
<p class="date">Created: 2021-10-13 Wed 10:18</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-10-12 Tue 09:26 -->
|
||||
<!-- 2021-10-13 Wed 10:18 -->
|
||||
<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="#orgfbb57ec">1. Control of the numerical precision</a></li>
|
||||
<li><a href="#orgc22c64c">2. Precision</a></li>
|
||||
<li><a href="#org0f69ea1">3. Range</a></li>
|
||||
<li><a href="#org37ca27b">4. Helper functions</a></li>
|
||||
<li><a href="#orgd5eed94">1. Control of the numerical precision</a></li>
|
||||
<li><a href="#org60a6081">2. Precision</a></li>
|
||||
<li><a href="#orge3164d0">3. Range</a></li>
|
||||
<li><a href="#org703dfe0">4. Helper functions</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgfbb57ec" class="outline-2">
|
||||
<h2 id="orgfbb57ec"><span class="section-number-2">1</span> Control of the numerical precision</h2>
|
||||
<div id="outline-container-orgd5eed94" class="outline-2">
|
||||
<h2 id="orgd5eed94"><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="org6f21352" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org4f60372" 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-orgc22c64c" class="outline-2">
|
||||
<h2 id="orgc22c64c"><span class="section-number-2">2</span> Precision</h2>
|
||||
<div id="outline-container-org60a6081" class="outline-2">
|
||||
<h2 id="org60a6081"><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-org0f69ea1" class="outline-2">
|
||||
<h2 id="org0f69ea1"><span class="section-number-2">3</span> Range</h2>
|
||||
<div id="outline-container-orge3164d0" class="outline-2">
|
||||
<h2 id="orge3164d0"><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-org37ca27b" class="outline-2">
|
||||
<h2 id="org37ca27b"><span class="section-number-2">4</span> Helper functions</h2>
|
||||
<div id="outline-container-org703dfe0" class="outline-2">
|
||||
<h2 id="org703dfe0"><span class="section-number-2">4</span> Helper functions</h2>
|
||||
<div class="outline-text-2" id="text-4">
|
||||
<p>
|
||||
<code>qmckl_get_numprec_epsilon</code> returns \(\epsilon = 2^{1-n}\) where <code>n</code> is the precision.
|
||||
@ -581,7 +581,7 @@ We need to remove the sign bit from the precision.
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-10-12 Tue 09:26</p>
|
||||
<p class="date">Created: 2021-10-13 Wed 10:18</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-10-12 Tue 09:26 -->
|
||||
<!-- 2021-10-13 Wed 10:18 -->
|
||||
<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="#orgf748766">1. Headers</a></li>
|
||||
<li><a href="#org99f5206">2. Naïve Sherman-Morrison</a>
|
||||
<li><a href="#org3025edd">1. Headers</a></li>
|
||||
<li><a href="#orgbeb02e4">2. Naïve Sherman-Morrison</a>
|
||||
<ul>
|
||||
<li><a href="#orgbd54550">2.1. <code>qmckl_sherman_morrison</code></a>
|
||||
<li><a href="#org82a31d5">2.1. <code>qmckl_sherman_morrison</code></a>
|
||||
<ul>
|
||||
<li><a href="#org78bcfb8">2.1.1. Requirements</a></li>
|
||||
<li><a href="#org709d295">2.1.2. C header</a></li>
|
||||
<li><a href="#org1cf90ea">2.1.3. C source</a></li>
|
||||
<li><a href="#org2784aa7">2.1.4. Performance</a></li>
|
||||
<li><a href="#orgf1a8418">2.1.1. Requirements</a></li>
|
||||
<li><a href="#orgcd6ff48">2.1.2. C header</a></li>
|
||||
<li><a href="#orgb926c0e">2.1.3. C source</a></li>
|
||||
<li><a href="#org29d37fa">2.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgaef13b6">3. Woodbury 2x2</a>
|
||||
<li><a href="#orgb12ea45">3. Woodbury 2x2</a>
|
||||
<ul>
|
||||
<li><a href="#org9786911">3.1. <code>qmckl_woodbury_2</code></a>
|
||||
<li><a href="#orgb4876fa">3.1. <code>qmckl_woodbury_2</code></a>
|
||||
<ul>
|
||||
<li><a href="#org8e0262d">3.1.1. Requirements</a></li>
|
||||
<li><a href="#org3db06a1">3.1.2. C header</a></li>
|
||||
<li><a href="#org6de1d26">3.1.3. C source</a></li>
|
||||
<li><a href="#org0a31803">3.1.4. Performance</a></li>
|
||||
<li><a href="#org7b59596">3.1.1. Requirements</a></li>
|
||||
<li><a href="#orgc408ca3">3.1.2. C header</a></li>
|
||||
<li><a href="#org5b5b792">3.1.3. C source</a></li>
|
||||
<li><a href="#orgcdfd217">3.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orga0807ae">4. Woodbury 3x3</a>
|
||||
<li><a href="#org06e48ec">4. Woodbury 3x3</a>
|
||||
<ul>
|
||||
<li><a href="#org4b264ac">4.1. <code>qmckl_woodbury_3</code></a>
|
||||
<li><a href="#orgbc4e978">4.1. <code>qmckl_woodbury_3</code></a>
|
||||
<ul>
|
||||
<li><a href="#orgdd66d63">4.1.1. Requirements</a></li>
|
||||
<li><a href="#orgfaa1245">4.1.2. C header</a></li>
|
||||
<li><a href="#org50378d3">4.1.3. C source</a></li>
|
||||
<li><a href="#orgefcbfed">4.1.4. Performance…</a></li>
|
||||
<li><a href="#orge87bf8f">4.1.1. Requirements</a></li>
|
||||
<li><a href="#orgbb69020">4.1.2. C header</a></li>
|
||||
<li><a href="#orgd65ec54">4.1.3. C source</a></li>
|
||||
<li><a href="#org7c88972">4.1.4. Performance…</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgeda628d">5. Sherman-Morrison with update splitting</a>
|
||||
<li><a href="#org3ca682b">5. Sherman-Morrison with update splitting</a>
|
||||
<ul>
|
||||
<li><a href="#orgd367d88">5.1. <code>qmckl_sherman_morrison_splitting</code></a>
|
||||
<li><a href="#orga3650af">5.1. <code>qmckl_sherman_morrison_splitting</code></a>
|
||||
<ul>
|
||||
<li><a href="#org0eeea21">5.1.1. Requirements</a></li>
|
||||
<li><a href="#org988fff4">5.1.2. C header</a></li>
|
||||
<li><a href="#org0e267d7">5.1.3. C source</a></li>
|
||||
<li><a href="#orgcabc02e">5.1.4. Performance…</a></li>
|
||||
<li><a href="#orgabaa20e">5.1.1. Requirements</a></li>
|
||||
<li><a href="#org2aca30e">5.1.2. C header</a></li>
|
||||
<li><a href="#orgcad4df6">5.1.3. C source</a></li>
|
||||
<li><a href="#orgdce9582">5.1.4. Performance…</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org32f2010">6. Woodbury 3x3 and 2x2 with Sherman-Morrison and update splitting</a>
|
||||
<li><a href="#org3fc55bf">6. Woodbury 3x3 and 2x2 with Sherman-Morrison and update splitting</a>
|
||||
<ul>
|
||||
<li><a href="#orgc9671c7">6.1. <code>qmckl_sherman_morrison_smw32s</code></a>
|
||||
<li><a href="#org322829c">6.1. <code>qmckl_sherman_morrison_smw32s</code></a>
|
||||
<ul>
|
||||
<li><a href="#orgdc5982d">6.1.1. Requirements</a></li>
|
||||
<li><a href="#org470ce46">6.1.2. C header</a></li>
|
||||
<li><a href="#org46821fe">6.1.3. C source</a></li>
|
||||
<li><a href="#org6710dec">6.1.4. Performance…</a></li>
|
||||
<li><a href="#org343443a">6.1.1. Requirements</a></li>
|
||||
<li><a href="#org76a533c">6.1.2. C header</a></li>
|
||||
<li><a href="#org56fe2db">6.1.3. C source</a></li>
|
||||
<li><a href="#org1543f3d">6.1.4. Performance…</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgeefe837">7. Helper Functions</a>
|
||||
<li><a href="#orgae6349e">7. Helper Functions</a>
|
||||
<ul>
|
||||
<li><a href="#orgfcab414">7.1. <code>qmckl_slagel_splitting</code></a>
|
||||
<li><a href="#orga6a00cf">7.1. <code>qmckl_slagel_splitting</code></a>
|
||||
<ul>
|
||||
<li><a href="#org555e6e4">7.1.1. Requirements</a></li>
|
||||
<li><a href="#org4802d33">7.1.2. C header</a></li>
|
||||
<li><a href="#org9d70030">7.1.3. C source</a></li>
|
||||
<li><a href="#orgc6bdb3f">7.1.4. Performance</a></li>
|
||||
<li><a href="#orgec1028f">7.1.1. Requirements</a></li>
|
||||
<li><a href="#org8e1411f">7.1.2. C header</a></li>
|
||||
<li><a href="#org1831f1a">7.1.3. C source</a></li>
|
||||
<li><a href="#orgc29c805">7.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgd3673df">8. End of files</a></li>
|
||||
<li><a href="#orgb586117">8. End of files</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf748766" class="outline-2">
|
||||
<h2 id="orgf748766"><span class="section-number-2">1</span> Headers</h2>
|
||||
<div id="outline-container-org3025edd" class="outline-2">
|
||||
<h2 id="org3025edd"><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>
|
||||
@ -431,12 +431,12 @@ for the JavaScript code in this tag.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org99f5206" class="outline-2">
|
||||
<h2 id="org99f5206"><span class="section-number-2">2</span> Naïve Sherman-Morrison</h2>
|
||||
<div id="outline-container-orgbeb02e4" class="outline-2">
|
||||
<h2 id="orgbeb02e4"><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-orgbd54550" class="outline-3">
|
||||
<h3 id="orgbd54550"><span class="section-number-3">2.1</span> <code>qmckl_sherman_morrison</code></h3>
|
||||
<div id="outline-container-org82a31d5" class="outline-3">
|
||||
<h3 id="org82a31d5"><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
|
||||
@ -473,7 +473,12 @@ 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="orga76b63b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<p>
|
||||
If the determinant of the Slater-matrix is passed, it will be updated to the determinant resulting
|
||||
from applying the updates to the original matrix.
|
||||
</p>
|
||||
|
||||
<table id="orgb2c0dc8" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -534,12 +539,19 @@ If \(1+v_j^TS^{-1}u_j \leq \epsilon\) the update is rejected and the kernel exit
|
||||
<td class="org-left">inout</td>
|
||||
<td class="org-left">Array containing the inverse of a Slater-matrix</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">double*</td>
|
||||
<td class="org-left">determinant</td>
|
||||
<td class="org-left">inout</td>
|
||||
<td class="org-left">Determinant of the Slater-matrix</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org78bcfb8" class="outline-4">
|
||||
<h4 id="org78bcfb8"><span class="section-number-4">2.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-orgf1a8418" class="outline-4">
|
||||
<h4 id="orgf1a8418"><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>
|
||||
@ -553,8 +565,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-org709d295" class="outline-4">
|
||||
<h4 id="org709d295"><span class="section-number-4">2.1.2</span> C header</h4>
|
||||
<div id="outline-container-orgcd6ff48" class="outline-4">
|
||||
<h4 id="orgcd6ff48"><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> (
|
||||
@ -564,14 +576,15 @@ If \(1+v_j^TS^{-1}u_j \leq \epsilon\) the update is rejected and the kernel exit
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">Updates</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span>* <span style="color: #a0522d;">Updates_index</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> <span style="color: #a0522d;">breakdown</span>,
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a0522d;">Slater_inv</span> );
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a0522d;">Slater_inv</span>,
|
||||
<span style="color: #228b22;">double</span>** <span style="color: #a0522d;">determinant</span> );
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1cf90ea" class="outline-4">
|
||||
<h4 id="org1cf90ea"><span class="section-number-4">2.1.3</span> C source</h4>
|
||||
<div id="outline-container-orgb926c0e" class="outline-4">
|
||||
<h4 id="orgb926c0e"><span class="section-number-4">2.1.3</span> C source</h4>
|
||||
<div class="outline-text-4" id="text-2-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #483d8b;">#include</span> <span style="color: #8b2252;"><stdbool.h></span>
|
||||
@ -584,7 +597,8 @@ If \(1+v_j^TS^{-1}u_j \leq \epsilon\) the update is rejected and the kernel exit
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">Updates</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span>* <span style="color: #a0522d;">Updates_index</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> <span style="color: #a0522d;">breakdown</span>,
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a0522d;">Slater_inv</span>) {
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a0522d;">Slater_inv</span>,
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a0522d;">determinant</span>) {
|
||||
|
||||
<span style="color: #a020f0;">if</span> (qmckl_context_check(context) == QMCKL_NULL_CONTEXT) {
|
||||
<span style="color: #a020f0;">return</span> QMCKL_NULL_CONTEXT;
|
||||
@ -606,11 +620,16 @@ If \(1+v_j^TS^{-1}u_j \leq \epsilon\) the update is rejected and the kernel exit
|
||||
|
||||
// <span style="color: #b22222;">Denominator</span>
|
||||
<span style="color: #228b22;">double</span> <span style="color: #a0522d;">den</span> = 1 + C[Updates_index[l] - 1];
|
||||
|
||||
<span style="color: #a020f0;">if</span> (fabs(den) < breakdown) {
|
||||
<span style="color: #a020f0;">return</span> QMCKL_FAILURE;
|
||||
}
|
||||
<span style="color: #228b22;">double</span> <span style="color: #a0522d;">iden</span> = 1 / den;
|
||||
|
||||
// <span style="color: #b22222;">Update det(A)</span>
|
||||
<span style="color: #a020f0;">if</span> (determinant != <span style="color: #008b8b;">NULL</span>)
|
||||
*determinant *= den;
|
||||
|
||||
// <span style="color: #b22222;">D = v^T x A^{-1}</span>
|
||||
<span style="color: #a020f0;">for</span> (<span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">j</span> = 0; j < Dim; j++) {
|
||||
D[j] = Slater_inv[(Updates_index[l] - 1) * Dim + j];
|
||||
@ -634,8 +653,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-org2784aa7" class="outline-4">
|
||||
<h4 id="org2784aa7"><span class="section-number-4">2.1.4</span> Performance</h4>
|
||||
<div id="outline-container-org29d37fa" class="outline-4">
|
||||
<h4 id="org29d37fa"><span class="section-number-4">2.1.4</span> Performance</h4>
|
||||
<div class="outline-text-4" id="text-2-1-4">
|
||||
<p>
|
||||
This function performs best when there is only 1 rank-1 update in the update cycle. It is not useful to
|
||||
@ -647,12 +666,12 @@ where applying the update causes singular behaviour.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgaef13b6" class="outline-2">
|
||||
<h2 id="orgaef13b6"><span class="section-number-2">3</span> Woodbury 2x2</h2>
|
||||
<div id="outline-container-orgb12ea45" class="outline-2">
|
||||
<h2 id="orgb12ea45"><span class="section-number-2">3</span> Woodbury 2x2</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
</div>
|
||||
<div id="outline-container-org9786911" class="outline-3">
|
||||
<h3 id="org9786911"><span class="section-number-3">3.1</span> <code>qmckl_woodbury_2</code></h3>
|
||||
<div id="outline-container-orgb4876fa" class="outline-3">
|
||||
<h3 id="orgb4876fa"><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
|
||||
@ -669,8 +688,14 @@ where
|
||||
\(D := VS^{-1}\), a \(2 \times Dim\) matrix
|
||||
</p>
|
||||
|
||||
<p>
|
||||
If the determinant of the Slater-matrix is passed, it will be updated to the determinant resulting
|
||||
from applying the updates to the original matrix.
|
||||
</p>
|
||||
|
||||
<table id="org5d8a53a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<table id="orga9e93ee" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -724,12 +749,19 @@ where
|
||||
<td class="org-left">inout</td>
|
||||
<td class="org-left">Array containing the inverse of a Slater-matrix</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">double*</td>
|
||||
<td class="org-left">determinant</td>
|
||||
<td class="org-left">inout</td>
|
||||
<td class="org-left">Determinant of Slater-matrix</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8e0262d" class="outline-4">
|
||||
<h4 id="org8e0262d"><span class="section-number-4">3.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org7b59596" class="outline-4">
|
||||
<h4 id="org7b59596"><span class="section-number-4">3.1.1</span> Requirements</h4>
|
||||
<div class="outline-text-4" id="text-3-1-1">
|
||||
<ul class="org-ul">
|
||||
<li><code>context</code> is not <code>qmckl_null_context</code></li>
|
||||
@ -742,8 +774,8 @@ where
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3db06a1" class="outline-4">
|
||||
<h4 id="org3db06a1"><span class="section-number-4">3.1.2</span> C header</h4>
|
||||
<div id="outline-container-orgc408ca3" class="outline-4">
|
||||
<h4 id="orgc408ca3"><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> (
|
||||
@ -752,14 +784,15 @@ where
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">Updates</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span>* <span style="color: #a0522d;">Updates_index</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> <span style="color: #a0522d;">breakdown</span>,
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a0522d;">Slater_inv</span> );
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a0522d;">Slater_inv</span>,
|
||||
<span style="color: #228b22;">double</span>** <span style="color: #a0522d;">determinant</span> );
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6de1d26" class="outline-4">
|
||||
<h4 id="org6de1d26"><span class="section-number-4">3.1.3</span> C source</h4>
|
||||
<div id="outline-container-org5b5b792" class="outline-4">
|
||||
<h4 id="org5b5b792"><span class="section-number-4">3.1.3</span> C source</h4>
|
||||
<div class="outline-text-4" id="text-3-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #483d8b;">#include</span> <span style="color: #8b2252;"><stdbool.h></span>
|
||||
@ -771,7 +804,8 @@ where
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">Updates</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span>* <span style="color: #a0522d;">Updates_index</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> <span style="color: #a0522d;">breakdown</span>,
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a0522d;">Slater_inv</span>) {
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a0522d;">Slater_inv</span>,
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a0522d;">determinant</span>) {
|
||||
/*
|
||||
<span style="color: #b22222;"> C := S^{-1} * U, dim x 2</span>
|
||||
<span style="color: #b22222;"> B := 1 + V * C, 2 x 2</span>
|
||||
@ -809,6 +843,10 @@ where
|
||||
<span style="color: #a020f0;">return</span> QMCKL_FAILURE;
|
||||
}
|
||||
|
||||
// <span style="color: #b22222;">Update det(S) when passed</span>
|
||||
<span style="color: #a020f0;">if</span> (determinant != <span style="color: #008b8b;">NULL</span>)
|
||||
*determinant *= det;
|
||||
|
||||
// <span style="color: #b22222;">Compute B^{-1} with explicit formula for 2x2 inversion</span>
|
||||
<span style="color: #228b22;">double</span> <span style="color: #a0522d;">Binv</span>[4], <span style="color: #a0522d;">idet</span> = 1.0 / det;
|
||||
Binv[0] = idet * B3;
|
||||
@ -840,8 +878,8 @@ where
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0a31803" class="outline-4">
|
||||
<h4 id="org0a31803"><span class="section-number-4">3.1.4</span> Performance</h4>
|
||||
<div id="outline-container-orgcdfd217" class="outline-4">
|
||||
<h4 id="orgcdfd217"><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 +890,12 @@ it is sure they will not result in a singular matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga0807ae" class="outline-2">
|
||||
<h2 id="orga0807ae"><span class="section-number-2">4</span> Woodbury 3x3</h2>
|
||||
<div id="outline-container-org06e48ec" class="outline-2">
|
||||
<h2 id="org06e48ec"><span class="section-number-2">4</span> Woodbury 3x3</h2>
|
||||
<div class="outline-text-2" id="text-4">
|
||||
</div>
|
||||
<div id="outline-container-org4b264ac" class="outline-3">
|
||||
<h3 id="org4b264ac"><span class="section-number-3">4.1</span> <code>qmckl_woodbury_3</code></h3>
|
||||
<div id="outline-container-orgbc4e978" class="outline-3">
|
||||
<h3 id="orgbc4e978"><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 +909,14 @@ except for the sizes of the following matrices:
|
||||
\(D := VS^{-1}\), a \(3 \times Dim\) matrix
|
||||
</p>
|
||||
|
||||
<table id="org37bad31" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<p>
|
||||
If the determinant of the Slater-matrix is passed, it will be updated to the determinant resulting
|
||||
from applying the updates to the original matrix.
|
||||
</p>
|
||||
|
||||
|
||||
|
||||
<table id="orga1b26da" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -925,12 +970,19 @@ except for the sizes of the following matrices:
|
||||
<td class="org-left">inout</td>
|
||||
<td class="org-left">Array containing the inverse of a Slater-matrix</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">double*</td>
|
||||
<td class="org-left">determinant</td>
|
||||
<td class="org-left">inout</td>
|
||||
<td class="org-left">Determinant of Slater-matrix</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgdd66d63" class="outline-4">
|
||||
<h4 id="orgdd66d63"><span class="section-number-4">4.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-orge87bf8f" class="outline-4">
|
||||
<h4 id="orge87bf8f"><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 +995,8 @@ except for the sizes of the following matrices:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgfaa1245" class="outline-4">
|
||||
<h4 id="orgfaa1245"><span class="section-number-4">4.1.2</span> C header</h4>
|
||||
<div id="outline-container-orgbb69020" class="outline-4">
|
||||
<h4 id="orgbb69020"><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> (
|
||||
@ -953,14 +1005,15 @@ except for the sizes of the following matrices:
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">Updates</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span>* <span style="color: #a0522d;">Updates_index</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> <span style="color: #a0522d;">breakdown</span>,
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a0522d;">Slater_inv</span> );
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a0522d;">Slater_inv</span>,
|
||||
<span style="color: #228b22;">double</span>** <span style="color: #a0522d;">determinant</span> );
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org50378d3" class="outline-4">
|
||||
<h4 id="org50378d3"><span class="section-number-4">4.1.3</span> C source</h4>
|
||||
<div id="outline-container-orgd65ec54" class="outline-4">
|
||||
<h4 id="orgd65ec54"><span class="section-number-4">4.1.3</span> C source</h4>
|
||||
<div class="outline-text-4" id="text-4-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #483d8b;">#include</span> <span style="color: #8b2252;"><stdbool.h></span>
|
||||
@ -972,7 +1025,8 @@ except for the sizes of the following matrices:
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">Updates</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span>* <span style="color: #a0522d;">Updates_index</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> <span style="color: #a0522d;">breakdown</span>,
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a0522d;">Slater_inv</span>) {
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a0522d;">Slater_inv</span>,
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a0522d;">determinant</span>) {
|
||||
/*
|
||||
<span style="color: #b22222;"> C := S^{-1} * U, dim x 3</span>
|
||||
<span style="color: #b22222;"> B := 1 + V * C, 3 x 3</span>
|
||||
@ -1018,6 +1072,10 @@ except for the sizes of the following matrices:
|
||||
<span style="color: #a020f0;">return</span> QMCKL_FAILURE;
|
||||
}
|
||||
|
||||
// <span style="color: #b22222;">Update det(Slater) if passed</span>
|
||||
<span style="color: #a020f0;">if</span> (determinant != <span style="color: #008b8b;">NULL</span>)
|
||||
*determinant *= det;
|
||||
|
||||
// <span style="color: #b22222;">Compute B^{-1} with explicit formula for 3x3 inversion</span>
|
||||
<span style="color: #228b22;">double</span> <span style="color: #a0522d;">Binv</span>[9], <span style="color: #a0522d;">idet</span> = 1.0 / det;
|
||||
Binv[0] = (B4 * B8 - B7 * B5) * idet;
|
||||
@ -1056,8 +1114,8 @@ except for the sizes of the following matrices:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgefcbfed" class="outline-4">
|
||||
<h4 id="orgefcbfed"><span class="section-number-4">4.1.4</span> Performance…</h4>
|
||||
<div id="outline-container-org7c88972" class="outline-4">
|
||||
<h4 id="org7c88972"><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
|
||||
@ -1068,12 +1126,12 @@ it is sure they will not result in a singular matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgeda628d" class="outline-2">
|
||||
<h2 id="orgeda628d"><span class="section-number-2">5</span> Sherman-Morrison with update splitting</h2>
|
||||
<div id="outline-container-org3ca682b" class="outline-2">
|
||||
<h2 id="org3ca682b"><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-orgd367d88" class="outline-3">
|
||||
<h3 id="orgd367d88"><span class="section-number-3">5.1</span> <code>qmckl_sherman_morrison_splitting</code></h3>
|
||||
<div id="outline-container-orga3650af" class="outline-3">
|
||||
<h3 id="orga3650af"><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
|
||||
@ -1090,7 +1148,12 @@ case the Slater-matrix that would have resulted from applying the updates is sin
|
||||
kernel exits with an exit code.
|
||||
</p>
|
||||
|
||||
<table id="orgbfeece2" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<p>
|
||||
If the determinant of the Slater-matrix is passed, it will be updated to the determinant resulting
|
||||
from applying the updates to the original matrix.
|
||||
</p>
|
||||
|
||||
<table id="orgc144ff8" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1151,12 +1214,24 @@ kernel exits with an exit code.
|
||||
<td class="org-left">inout</td>
|
||||
<td class="org-left">Array containing the inverse of a Slater-matrix</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">double*</td>
|
||||
<td class="org-left">determinant</td>
|
||||
<td class="org-left">inout</td>
|
||||
<td class="org-left">Determinant of the Slater-matrix</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p>
|
||||
If the determinant of the Slater-matrix is passed, it will be updated to the determinant resulting
|
||||
from applying the updates to the original matrix.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0eeea21" class="outline-4">
|
||||
<h4 id="org0eeea21"><span class="section-number-4">5.1.1</span> Requirements</h4>
|
||||
|
||||
<div id="outline-container-orgabaa20e" class="outline-4">
|
||||
<h4 id="orgabaa20e"><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>
|
||||
@ -1170,8 +1245,8 @@ kernel exits with an exit code.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org988fff4" class="outline-4">
|
||||
<h4 id="org988fff4"><span class="section-number-4">5.1.2</span> C header</h4>
|
||||
<div id="outline-container-org2aca30e" class="outline-4">
|
||||
<h4 id="org2aca30e"><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> (
|
||||
@ -1181,14 +1256,15 @@ kernel exits with an exit code.
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">Updates</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span>* <span style="color: #a0522d;">Updates_index</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> <span style="color: #a0522d;">breakdown</span>,
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a0522d;">Slater_inv</span> );
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a0522d;">Slater_inv</span>,
|
||||
<span style="color: #228b22;">double</span>** <span style="color: #a0522d;">determinant</span> );
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0e267d7" class="outline-4">
|
||||
<h4 id="org0e267d7"><span class="section-number-4">5.1.3</span> C source</h4>
|
||||
<div id="outline-container-orgcad4df6" class="outline-4">
|
||||
<h4 id="orgcad4df6"><span class="section-number-4">5.1.3</span> C source</h4>
|
||||
<div class="outline-text-4" id="text-5-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #483d8b;">#include</span> <span style="color: #8b2252;"><stdbool.h></span>
|
||||
@ -1200,7 +1276,8 @@ kernel exits with an exit code.
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">Updates</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span>* <span style="color: #a0522d;">Updates_index</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> <span style="color: #a0522d;">breakdown</span>,
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a0522d;">Slater_inv</span>) {
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a0522d;">Slater_inv</span>,
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a0522d;">determinant</span>) {
|
||||
|
||||
<span style="color: #a020f0;">if</span> (qmckl_context_check(context) == QMCKL_NULL_CONTEXT) {
|
||||
<span style="color: #a020f0;">return</span> QMCKL_NULL_CONTEXT;
|
||||
@ -1211,11 +1288,11 @@ kernel exits with an exit code.
|
||||
<span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">later</span> = 0;
|
||||
|
||||
(<span style="color: #228b22;">void</span>) qmckl_slagel_splitting(Dim, N_updates, Updates, Updates_index,
|
||||
breakdown, Slater_inv, later_updates, later_index, &later);
|
||||
breakdown, Slater_inv, later_updates, later_index, &later, determinant);
|
||||
|
||||
<span style="color: #a020f0;">if</span> (later > 0) {
|
||||
(<span style="color: #228b22;">void</span>) qmckl_sherman_morrison_splitting(context, Dim, later,
|
||||
later_updates, later_index, breakdown, Slater_inv);
|
||||
later_updates, later_index, breakdown, Slater_inv, determinant);
|
||||
}
|
||||
|
||||
<span style="color: #a020f0;">return</span> QMCKL_SUCCESS;
|
||||
@ -1226,8 +1303,8 @@ kernel exits with an exit code.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgcabc02e" class="outline-4">
|
||||
<h4 id="orgcabc02e"><span class="section-number-4">5.1.4</span> Performance…</h4>
|
||||
<div id="outline-container-orgdce9582" class="outline-4">
|
||||
<h4 id="orgdce9582"><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.
|
||||
@ -1237,12 +1314,12 @@ This kernel performs best when there are 2 or more rank-1 update cycles and fail
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org32f2010" class="outline-2">
|
||||
<h2 id="org32f2010"><span class="section-number-2">6</span> Woodbury 3x3 and 2x2 with Sherman-Morrison and update splitting</h2>
|
||||
<div id="outline-container-org3fc55bf" class="outline-2">
|
||||
<h2 id="org3fc55bf"><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-orgc9671c7" class="outline-3">
|
||||
<h3 id="orgc9671c7"><span class="section-number-3">6.1</span> <code>qmckl_sherman_morrison_smw32s</code></h3>
|
||||
<div id="outline-container-org322829c" class="outline-3">
|
||||
<h3 id="org322829c"><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,
|
||||
@ -1252,7 +1329,12 @@ 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="org4c71957" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<p>
|
||||
If the determinant of the Slater-matrix is passed, it will be updated to the determinant resulting
|
||||
from applying the updates to the original matrix.
|
||||
</p>
|
||||
|
||||
<table id="orgaa1971e" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1313,12 +1395,20 @@ with Woodbury 2x2 instead of sending them all to Sherman-Morrison with update sp
|
||||
<td class="org-left">inout</td>
|
||||
<td class="org-left">Array containing the inverse of a Slater-matrix</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">double*</td>
|
||||
<td class="org-left">determinant</td>
|
||||
<td class="org-left">inout</td>
|
||||
<td class="org-left">Determinant of the Slater-matrix</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgdc5982d" class="outline-4">
|
||||
<h4 id="orgdc5982d"><span class="section-number-4">6.1.1</span> Requirements</h4>
|
||||
|
||||
<div id="outline-container-org343443a" class="outline-4">
|
||||
<h4 id="org343443a"><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>
|
||||
@ -1332,8 +1422,8 @@ with Woodbury 2x2 instead of sending them all to Sherman-Morrison with update sp
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org470ce46" class="outline-4">
|
||||
<h4 id="org470ce46"><span class="section-number-4">6.1.2</span> C header</h4>
|
||||
<div id="outline-container-org76a533c" class="outline-4">
|
||||
<h4 id="org76a533c"><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> (
|
||||
@ -1343,14 +1433,15 @@ with Woodbury 2x2 instead of sending them all to Sherman-Morrison with update sp
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">Updates</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span>* <span style="color: #a0522d;">Updates_index</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> <span style="color: #a0522d;">breakdown</span>,
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a0522d;">Slater_inv</span> );
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a0522d;">Slater_inv</span>,
|
||||
<span style="color: #228b22;">double</span>** <span style="color: #a0522d;">determinant</span> );
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org46821fe" class="outline-4">
|
||||
<h4 id="org46821fe"><span class="section-number-4">6.1.3</span> C source</h4>
|
||||
<div id="outline-container-org56fe2db" class="outline-4">
|
||||
<h4 id="org56fe2db"><span class="section-number-4">6.1.3</span> C source</h4>
|
||||
<div class="outline-text-4" id="text-6-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #483d8b;">#include</span> <span style="color: #8b2252;"><stdbool.h></span>
|
||||
@ -1362,7 +1453,8 @@ with Woodbury 2x2 instead of sending them all to Sherman-Morrison with update sp
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">Updates</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span>* <span style="color: #a0522d;">Updates_index</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> <span style="color: #a0522d;">breakdown</span>,
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a0522d;">Slater_inv</span>) {
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a0522d;">Slater_inv</span>,
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a0522d;">determinant</span>) {
|
||||
|
||||
<span style="color: #a020f0;">if</span> (qmckl_context_check(context) == QMCKL_NULL_CONTEXT) {
|
||||
<span style="color: #a020f0;">return</span> QMCKL_NULL_CONTEXT;
|
||||
@ -1383,11 +1475,11 @@ with Woodbury 2x2 instead of sending them all to Sherman-Morrison with update sp
|
||||
<span style="color: #a020f0;">for</span> (<span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">i</span> = 0; i < n_of_3blocks; i++) {
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> *<span style="color: #a0522d;">Updates_3block</span> = &Updates[i * length_3block];
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> *<span style="color: #a0522d;">Updates_index_3block</span> = &Updates_index[i * 3];
|
||||
rc = qmckl_woodbury_3(context, Dim, Updates_3block, Updates_index_3block, breakdown, Slater_inv);
|
||||
rc = qmckl_woodbury_3(context, Dim, Updates_3block, Updates_index_3block, breakdown, Slater_inv, determinant);
|
||||
<span style="color: #a020f0;">if</span> (rc != 0) { // <span style="color: #b22222;">Send the entire block to slagel_splitting</span>
|
||||
<span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">l</span> = 0;
|
||||
rc = qmckl_slagel_splitting(Dim, 3, Updates_3block, Updates_index_3block,
|
||||
breakdown, Slater_inv, later_updates + (Dim * later), later_index + later, &l);
|
||||
breakdown, Slater_inv, later_updates + (Dim * later), later_index + later, &l, determinant);
|
||||
later = later + l;
|
||||
}
|
||||
}
|
||||
@ -1397,11 +1489,11 @@ with Woodbury 2x2 instead of sending them all to Sherman-Morrison with update sp
|
||||
<span style="color: #a020f0;">if</span> (remainder == 2) {
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> *<span style="color: #a0522d;">Updates_2block</span> = &Updates[n_of_3blocks * length_3block];
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> *<span style="color: #a0522d;">Updates_index_2block</span> = &Updates_index[3 * n_of_3blocks];
|
||||
rc = qmckl_woodbury_2(context, Dim, Updates_2block, Updates_index_2block, breakdown, Slater_inv);
|
||||
rc = qmckl_woodbury_2(context, Dim, Updates_2block, Updates_index_2block, breakdown, Slater_inv, determinant);
|
||||
<span style="color: #a020f0;">if</span> (rc != 0) { // <span style="color: #b22222;">Send the entire block to slagel_splitting</span>
|
||||
<span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">l</span> = 0;
|
||||
(<span style="color: #228b22;">void</span>) qmckl_slagel_splitting(Dim, 2, Updates_2block, Updates_index_2block,
|
||||
breakdown, Slater_inv, later_updates + (Dim * later), later_index + later, &l);
|
||||
breakdown, Slater_inv, later_updates + (Dim * later), later_index + later, &l, determinant);
|
||||
later = later + l;
|
||||
}
|
||||
}
|
||||
@ -1411,12 +1503,12 @@ with Woodbury 2x2 instead of sending them all to Sherman-Morrison with update sp
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> *<span style="color: #a0522d;">Updates_index_1block</span> = &Updates_index[3 * n_of_3blocks];
|
||||
<span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">l</span> = 0;
|
||||
(<span style="color: #228b22;">void</span>) qmckl_slagel_splitting(Dim, 1, Updates_1block, Updates_index_1block,
|
||||
breakdown, Slater_inv, later_updates + (Dim * later), later_index + later, &l);
|
||||
breakdown, Slater_inv, later_updates + (Dim * later), later_index + later, &l, determinant);
|
||||
later = later + l;
|
||||
}
|
||||
|
||||
<span style="color: #a020f0;">if</span> (later > 0) {
|
||||
(<span style="color: #228b22;">void</span>) qmckl_sherman_morrison_splitting(context, Dim, later, later_updates, later_index, breakdown, Slater_inv);
|
||||
(<span style="color: #228b22;">void</span>) qmckl_sherman_morrison_splitting(context, Dim, later, later_updates, later_index, breakdown, Slater_inv, determinant);
|
||||
}
|
||||
<span style="color: #a020f0;">return</span> QMCKL_SUCCESS;
|
||||
}
|
||||
@ -1426,8 +1518,8 @@ with Woodbury 2x2 instead of sending them all to Sherman-Morrison with update sp
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6710dec" class="outline-4">
|
||||
<h4 id="org6710dec"><span class="section-number-4">6.1.4</span> Performance…</h4>
|
||||
<div id="outline-container-org1543f3d" class="outline-4">
|
||||
<h4 id="org1543f3d"><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.
|
||||
@ -1437,8 +1529,8 @@ This kernel performs best for update cycles with 2 or more rank-1 updates and th
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgeefe837" class="outline-2">
|
||||
<h2 id="orgeefe837"><span class="section-number-2">7</span> Helper Functions</h2>
|
||||
<div id="outline-container-orgae6349e" class="outline-2">
|
||||
<h2 id="orgae6349e"><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.
|
||||
@ -1446,8 +1538,8 @@ These functions can only be used internally by the kernels in this module.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgfcab414" class="outline-3">
|
||||
<h3 id="orgfcab414"><span class="section-number-3">7.1</span> <code>qmckl_slagel_splitting</code></h3>
|
||||
<div id="outline-container-orga6a00cf" class="outline-3">
|
||||
<h3 id="orga6a00cf"><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.
|
||||
@ -1462,7 +1554,12 @@ 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="orgbfe1b2e" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<p>
|
||||
If the determinant of the Slater-matrix is passed, it will be updated to the determinant resulting
|
||||
from applying the updates to the original matrix.
|
||||
</p>
|
||||
|
||||
<table id="org35a1339" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1537,13 +1634,20 @@ as \(\frac{1}{2}u_j\). One half is applied immediately, the other half will be a
|
||||
<td class="org-left">inout</td>
|
||||
<td class="org-left">Number of split updates for later</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">double*</td>
|
||||
<td class="org-left">determinant</td>
|
||||
<td class="org-left">inout</td>
|
||||
<td class="org-left">Determinant of the Slater-matrix</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org555e6e4" class="outline-4">
|
||||
<h4 id="org555e6e4"><span class="section-number-4">7.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-orgec1028f" class="outline-4">
|
||||
<h4 id="orgec1028f"><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>
|
||||
@ -1559,8 +1663,8 @@ as \(\frac{1}{2}u_j\). One half is applied immediately, the other half will be a
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4802d33" class="outline-4">
|
||||
<h4 id="org4802d33"><span class="section-number-4">7.1.2</span> C header</h4>
|
||||
<div id="outline-container-org8e1411f" class="outline-4">
|
||||
<h4 id="org8e1411f"><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> (
|
||||
@ -1572,14 +1676,15 @@ as \(\frac{1}{2}u_j\). One half is applied immediately, the other half will be a
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a0522d;">Slater_inv</span>,
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a0522d;">later_updates</span>,
|
||||
<span style="color: #228b22;">uint64_t</span>* <span style="color: #a0522d;">later_index</span>,
|
||||
<span style="color: #228b22;">uint64_t</span>* <span style="color: #a0522d;">later</span> );
|
||||
<span style="color: #228b22;">uint64_t</span>* <span style="color: #a0522d;">later</span>,
|
||||
<span style="color: #228b22;">double</span>** <span style="color: #a0522d;">determinant</span> );
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9d70030" class="outline-4">
|
||||
<h4 id="org9d70030"><span class="section-number-4">7.1.3</span> C source</h4>
|
||||
<div id="outline-container-org1831f1a" class="outline-4">
|
||||
<h4 id="org1831f1a"><span class="section-number-4">7.1.3</span> C source</h4>
|
||||
<div class="outline-text-4" id="text-7-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #483d8b;">#include</span> <span style="color: #8b2252;"><stdbool.h></span>
|
||||
@ -1594,7 +1699,8 @@ as \(\frac{1}{2}u_j\). One half is applied immediately, the other half will be a
|
||||
<span style="color: #228b22;">double</span> *<span style="color: #a0522d;">Slater_inv</span>,
|
||||
<span style="color: #228b22;">double</span> *<span style="color: #a0522d;">later_updates</span>,
|
||||
<span style="color: #228b22;">uint64_t</span> *<span style="color: #a0522d;">later_index</span>,
|
||||
<span style="color: #228b22;">uint64_t</span> *<span style="color: #a0522d;">later</span>) {
|
||||
<span style="color: #228b22;">uint64_t</span> *<span style="color: #a0522d;">later</span>,
|
||||
<span style="color: #228b22;">double</span> *<span style="color: #a0522d;">determinant</span>) {
|
||||
// <span style="color: #b22222;">#ifdef DEBUG // Leave commented out since debugging information is not yet implemented in QMCkl.</span>
|
||||
// <span style="color: #b22222;">std::cerr << "Called slagel_splitting with " << N_updates << " updates" << std::endl;</span>
|
||||
// <span style="color: #b22222;">#endif</span>
|
||||
@ -1629,6 +1735,9 @@ as \(\frac{1}{2}u_j\). One half is applied immediately, the other half will be a
|
||||
} // <span style="color: #b22222;">From here onwards we continue with applying the first havel of the update to Slater_inv</span>
|
||||
<span style="color: #228b22;">double</span> <span style="color: #a0522d;">iden</span> = 1 / den;
|
||||
|
||||
<span style="color: #a020f0;">if</span> (determinant != <span style="color: #008b8b;">NULL</span>)
|
||||
*determinant *= den;
|
||||
|
||||
// <span style="color: #b22222;">D = v^T x S^{-1}</span>
|
||||
<span style="color: #a020f0;">for</span> (<span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">j</span> = 0; j < Dim; j++) {
|
||||
D[j] = Slater_inv[(Updates_index[l] - 1) * Dim + j];
|
||||
@ -1652,8 +1761,8 @@ as \(\frac{1}{2}u_j\). One half is applied immediately, the other half will be a
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc6bdb3f" class="outline-4">
|
||||
<h4 id="orgc6bdb3f"><span class="section-number-4">7.1.4</span> Performance</h4>
|
||||
<div id="outline-container-orgc29c805" class="outline-4">
|
||||
<h4 id="orgc29c805"><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
|
||||
@ -1664,8 +1773,8 @@ with Sherman-Morrison and update splitting. Please look at the performance recco
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd3673df" class="outline-2">
|
||||
<h2 id="orgd3673df"><span class="section-number-2">8</span> End of files</h2>
|
||||
<div id="outline-container-orgb586117" class="outline-2">
|
||||
<h2 id="orgb586117"><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);
|
||||
@ -1679,7 +1788,7 @@ with Sherman-Morrison and update splitting. Please look at the performance recco
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-10-12 Tue 09:26</p>
|
||||
<p class="date">Created: 2021-10-13 Wed 10:18</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-10-12 Tue 09:26 -->
|
||||
<!-- 2021-10-13 Wed 10:18 -->
|
||||
<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="#orgf0fcbab">1. CHBrClF</a>
|
||||
<li><a href="#orgc5480d7">1. CHBrClF</a>
|
||||
<ul>
|
||||
<li><a href="#orgefa0620">1.1. XYZ coordinates</a></li>
|
||||
<li><a href="#orgded2573">1.2. Atomic basis set</a></li>
|
||||
<li><a href="#orgf8d2bbc">1.3. Molecular orbitals</a></li>
|
||||
<li><a href="#orgf2cb2a6">1.4. Electron coordinates</a></li>
|
||||
<li><a href="#org2b5a3dc">1.1. XYZ coordinates</a></li>
|
||||
<li><a href="#orgbda7b40">1.2. Atomic basis set</a></li>
|
||||
<li><a href="#orgd046336">1.3. Molecular orbitals</a></li>
|
||||
<li><a href="#orgbddd478">1.4. Electron coordinates</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orga4c0e41">2. N2</a>
|
||||
<li><a href="#org142c67e">2. N2</a>
|
||||
<ul>
|
||||
<li><a href="#orgba691c0">2.1. XYZ coordinates</a></li>
|
||||
<li><a href="#org8cceea4">2.2. Electron coordinates</a></li>
|
||||
<li><a href="#org125eb1b">2.3. Jastrow related data</a></li>
|
||||
<li><a href="#org14f30f5">2.1. XYZ coordinates</a></li>
|
||||
<li><a href="#orgb62c539">2.2. Electron coordinates</a></li>
|
||||
<li><a href="#org665b2a4">2.3. Jastrow related data</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf0fcbab" class="outline-2">
|
||||
<h2 id="orgf0fcbab"><span class="section-number-2">1</span> CHBrClF</h2>
|
||||
<div id="outline-container-orgc5480d7" class="outline-2">
|
||||
<h2 id="orgc5480d7"><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-orgefa0620" class="outline-3">
|
||||
<h3 id="orgefa0620"><span class="section-number-3">1.1</span> XYZ coordinates</h3>
|
||||
<div id="outline-container-org2b5a3dc" class="outline-3">
|
||||
<h3 id="org2b5a3dc"><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-orgded2573" class="outline-3">
|
||||
<h3 id="orgded2573"><span class="section-number-3">1.2</span> Atomic basis set</h3>
|
||||
<div id="outline-container-orgbda7b40" class="outline-3">
|
||||
<h3 id="orgbda7b40"><span class="section-number-3">1.2</span> Atomic basis set</h3>
|
||||
<div class="outline-text-3" id="text-1-2">
|
||||
<pre class="example">
|
||||
HYDROGEN
|
||||
@ -1288,8 +1288,8 @@ F 1
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf8d2bbc" class="outline-3">
|
||||
<h3 id="orgf8d2bbc"><span class="section-number-3">1.3</span> Molecular orbitals</h3>
|
||||
<div id="outline-container-orgd046336" class="outline-3">
|
||||
<h3 id="orgd046336"><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-orgf2cb2a6" class="outline-3">
|
||||
<h3 id="orgf2cb2a6"><span class="section-number-3">1.4</span> Electron coordinates</h3>
|
||||
<div id="outline-container-orgbddd478" class="outline-3">
|
||||
<h3 id="orgbddd478"><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-orga4c0e41" class="outline-2">
|
||||
<h2 id="orga4c0e41"><span class="section-number-2">2</span> N2</h2>
|
||||
<div id="outline-container-org142c67e" class="outline-2">
|
||||
<h2 id="org142c67e"><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-orgba691c0" class="outline-3">
|
||||
<h3 id="orgba691c0"><span class="section-number-3">2.1</span> XYZ coordinates</h3>
|
||||
<div id="outline-container-org14f30f5" class="outline-3">
|
||||
<h3 id="org14f30f5"><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-org8cceea4" class="outline-3">
|
||||
<h3 id="org8cceea4"><span class="section-number-3">2.2</span> Electron coordinates</h3>
|
||||
<div id="outline-container-orgb62c539" class="outline-3">
|
||||
<h3 id="orgb62c539"><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-org125eb1b" class="outline-3">
|
||||
<h3 id="org125eb1b"><span class="section-number-3">2.3</span> Jastrow related data</h3>
|
||||
<div id="outline-container-org665b2a4" class="outline-3">
|
||||
<h3 id="org665b2a4"><span class="section-number-3">2.3</span> Jastrow related data</h3>
|
||||
<div class="outline-text-3" id="text-2-3">
|
||||
<p>
|
||||
This test is mainly for the Jastrow factor and was supplied by
|
||||
@ -60574,7 +60574,7 @@ Ramon Panades Baruetta.
|
||||
</div>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="date">Created: 2021-10-12 Tue 09:26</p>
|
||||
<p class="date">Created: 2021-10-13 Wed 10:18</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-10-12 Tue 09:26 -->
|
||||
<!-- 2021-10-13 Wed 10:18 -->
|
||||
<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="#orgd011100">1. Matrix operations</a>
|
||||
<li><a href="#orgeba3964">1. Matrix operations</a>
|
||||
<ul>
|
||||
<li><a href="#orgaadf810">1.1. <code>qmckl_transpose</code></a>
|
||||
<li><a href="#org1e4516b">1.1. <code>qmckl_transpose</code></a>
|
||||
<ul>
|
||||
<li><a href="#orgb9f142d">1.1.1. Requirements</a></li>
|
||||
<li><a href="#org2547980">1.1.2. C header</a></li>
|
||||
<li><a href="#orgb2dc480">1.1.3. Source</a></li>
|
||||
<li><a href="#org38416f2">1.1.1. Requirements</a></li>
|
||||
<li><a href="#org664a24a">1.1.2. C header</a></li>
|
||||
<li><a href="#orga1e9511">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-orgd011100" class="outline-2">
|
||||
<h2 id="orgd011100"><span class="section-number-2">1</span> Matrix operations</h2>
|
||||
<div id="outline-container-orgeba3964" class="outline-2">
|
||||
<h2 id="orgeba3964"><span class="section-number-2">1</span> Matrix operations</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
</div>
|
||||
<div id="outline-container-orgaadf810" class="outline-3">
|
||||
<h3 id="orgaadf810"><span class="section-number-3">1.1</span> <code>qmckl_transpose</code></h3>
|
||||
<div id="outline-container-org1e4516b" class="outline-3">
|
||||
<h3 id="org1e4516b"><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="org33a1405" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org237fa6a" 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-orgb9f142d" class="outline-4">
|
||||
<h4 id="orgb9f142d"><span class="section-number-4">1.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org38416f2" class="outline-4">
|
||||
<h4 id="org38416f2"><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-org2547980" class="outline-4">
|
||||
<h4 id="org2547980"><span class="section-number-4">1.1.2</span> C header</h4>
|
||||
<div id="outline-container-org664a24a" class="outline-4">
|
||||
<h4 id="org664a24a"><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-orgb2dc480" class="outline-4">
|
||||
<h4 id="orgb2dc480"><span class="section-number-4">1.1.3</span> Source</h4>
|
||||
<div id="outline-container-orga1e9511" class="outline-4">
|
||||
<h4 id="orga1e9511"><span class="section-number-4">1.1.3</span> Source</h4>
|
||||
<div class="outline-text-4" id="text-1-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #228b22;">integer </span><span style="color: #a020f0;">function</span><span style="color: #a0522d;"> </span><span style="color: #0000ff;">qmckl_transpose_f</span><span style="color: #000000; background-color: #ffffff;">(context, m, n, A, LDA, B, LDB)</span><span style="color: #a0522d;"> </span><span style="color: #a020f0;">&</span>
|
||||
@ -516,7 +516,7 @@ Transposes a matrix: \(B_{ji} = A_{ij}\)
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-10-12 Tue 09:26</p>
|
||||
<p class="date">Created: 2021-10-13 Wed 10:18</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