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@733d941c30 🚀
This commit is contained in:
parent
d5233507d7
commit
def58a11ce
@ -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>
|
||||
<!-- 2022-02-16 Wed 00:14 -->
|
||||
<!-- 2022-02-16 Wed 18:41 -->
|
||||
<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>
|
||||
@ -361,7 +361,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: 2022-02-16 Wed 00:14</p>
|
||||
<p class="date">Created: 2022-02-16 Wed 18:41</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
118
qmckl.html
118
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>
|
||||
<!-- 2022-02-16 Wed 00:14 -->
|
||||
<!-- 2022-02-16 Wed 18:41 -->
|
||||
<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,36 +333,36 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#orgb6e20c8">1. Installing QMCkl</a>
|
||||
<li><a href="#org40d6d3d">1. Installing QMCkl</a>
|
||||
<ul>
|
||||
<li><a href="#orgb693f0e">1.1. Installing from the released tarball (for end users)</a></li>
|
||||
<li><a href="#orgca123a8">1.2. Installing from the source repository (for developers)</a></li>
|
||||
<li><a href="#orgf4fc4f1">1.1. Installing from the released tarball (for end users)</a></li>
|
||||
<li><a href="#org0e2ef77">1.2. Installing from the source repository (for developers)</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgabc988b">2. Using QMCkl</a></li>
|
||||
<li><a href="#org6510238">3. Developing in QMCkl</a>
|
||||
<li><a href="#orgd3cb7b7">2. Using QMCkl</a></li>
|
||||
<li><a href="#org899ab73">3. Developing in QMCkl</a>
|
||||
<ul>
|
||||
<li><a href="#org3b7ee1e">3.1. Literate programming</a></li>
|
||||
<li><a href="#org9df5877">3.2. Source code editing</a></li>
|
||||
<li><a href="#org4b0d05a">3.3. Choice of the programming language</a></li>
|
||||
<li><a href="#orgd204ece">3.4. Coding rules</a></li>
|
||||
<li><a href="#org64ef460">3.5. Design of the library</a></li>
|
||||
<li><a href="#org676a853">3.6. Naming conventions</a></li>
|
||||
<li><a href="#org3e055d3">3.7. Application programming interface</a></li>
|
||||
<li><a href="#org119bb9b">3.8. Global state</a></li>
|
||||
<li><a href="#org8027d1a">3.9. Headers</a></li>
|
||||
<li><a href="#orgef9c334">3.10. Low-level functions</a></li>
|
||||
<li><a href="#orgcc72752">3.11. High-level functions</a></li>
|
||||
<li><a href="#org3b26b09">3.12. Numerical precision</a></li>
|
||||
<li><a href="#orge5523a2">3.13. Algorithms</a></li>
|
||||
<li><a href="#orga046f8f">3.1. Literate programming</a></li>
|
||||
<li><a href="#org7b5c0f5">3.2. Source code editing</a></li>
|
||||
<li><a href="#org703f806">3.3. Choice of the programming language</a></li>
|
||||
<li><a href="#orgdcdb035">3.4. Coding rules</a></li>
|
||||
<li><a href="#orge54c5c6">3.5. Design of the library</a></li>
|
||||
<li><a href="#org964e8b2">3.6. Naming conventions</a></li>
|
||||
<li><a href="#orgd0dacaf">3.7. Application programming interface</a></li>
|
||||
<li><a href="#org7d22946">3.8. Global state</a></li>
|
||||
<li><a href="#org28abb8d">3.9. Headers</a></li>
|
||||
<li><a href="#org1251392">3.10. Low-level functions</a></li>
|
||||
<li><a href="#org594a17b">3.11. High-level functions</a></li>
|
||||
<li><a href="#orgb21ec42">3.12. Numerical precision</a></li>
|
||||
<li><a href="#orgc1e4c1a">3.13. Algorithms</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb6e20c8" class="outline-2">
|
||||
<h2 id="orgb6e20c8"><span class="section-number-2">1</span> Installing QMCkl</h2>
|
||||
<div id="outline-container-org40d6d3d" class="outline-2">
|
||||
<h2 id="org40d6d3d"><span class="section-number-2">1</span> Installing QMCkl</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
The latest version fo QMCkl can be downloaded
|
||||
@ -371,8 +371,8 @@ The latest version fo QMCkl can be downloaded
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb693f0e" class="outline-3">
|
||||
<h3 id="orgb693f0e"><span class="section-number-3">1.1</span> Installing from the released tarball (for end users)</h3>
|
||||
<div id="outline-container-orgf4fc4f1" class="outline-3">
|
||||
<h3 id="orgf4fc4f1"><span class="section-number-3">1.1</span> Installing from the released tarball (for end users)</h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<p>
|
||||
QMCkl is built with GNU Autotools, so the usual
|
||||
@ -387,8 +387,8 @@ options are defined using <code>CFLAGS</code> and <code>FCFLAGS</code>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgca123a8" class="outline-3">
|
||||
<h3 id="orgca123a8"><span class="section-number-3">1.2</span> Installing from the source repository (for developers)</h3>
|
||||
<div id="outline-container-org0e2ef77" class="outline-3">
|
||||
<h3 id="org0e2ef77"><span class="section-number-3">1.2</span> Installing from the source repository (for developers)</h3>
|
||||
<div class="outline-text-3" id="text-1-2">
|
||||
<p>
|
||||
To compile from the source repository, additional dependencies are
|
||||
@ -409,8 +409,8 @@ to be executed first.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgabc988b" class="outline-2">
|
||||
<h2 id="orgabc988b"><span class="section-number-2">2</span> Using QMCkl</h2>
|
||||
<div id="outline-container-orgd3cb7b7" class="outline-2">
|
||||
<h2 id="orgd3cb7b7"><span class="section-number-2">2</span> Using QMCkl</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
<p>
|
||||
The <code>qmckl.h</code> header file installed in the <code>${prefix}/include</code> directory
|
||||
@ -439,12 +439,12 @@ Both files are located in the <code>include/</code> directory.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6510238" class="outline-2">
|
||||
<h2 id="org6510238"><span class="section-number-2">3</span> Developing in QMCkl</h2>
|
||||
<div id="outline-container-org899ab73" class="outline-2">
|
||||
<h2 id="org899ab73"><span class="section-number-2">3</span> Developing in QMCkl</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
</div>
|
||||
<div id="outline-container-org3b7ee1e" class="outline-3">
|
||||
<h3 id="org3b7ee1e"><span class="section-number-3">3.1</span> Literate programming</h3>
|
||||
<div id="outline-container-orga046f8f" class="outline-3">
|
||||
<h3 id="orga046f8f"><span class="section-number-3">3.1</span> Literate programming</h3>
|
||||
<div class="outline-text-3" id="text-3-1">
|
||||
<p>
|
||||
In a traditional source code, most of the lines of source files of a program
|
||||
@ -494,8 +494,8 @@ tarball contains the generated source code.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9df5877" class="outline-3">
|
||||
<h3 id="org9df5877"><span class="section-number-3">3.2</span> Source code editing</h3>
|
||||
<div id="outline-container-org7b5c0f5" class="outline-3">
|
||||
<h3 id="org7b5c0f5"><span class="section-number-3">3.2</span> Source code editing</h3>
|
||||
<div class="outline-text-3" id="text-3-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>.
|
||||
@ -526,8 +526,8 @@ org-mode.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4b0d05a" class="outline-3">
|
||||
<h3 id="org4b0d05a"><span class="section-number-3">3.3</span> Choice of the programming language</h3>
|
||||
<div id="outline-container-org703f806" class="outline-3">
|
||||
<h3 id="org703f806"><span class="section-number-3">3.3</span> Choice of the programming language</h3>
|
||||
<div class="outline-text-3" id="text-3-3">
|
||||
<p>
|
||||
Most of the codes of the <a href="https://trex-coe.eu">TREX CoE</a> are written in Fortran with some
|
||||
@ -591,8 +591,8 @@ For more guidelines on using Fortran to generate a C interface, see
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd204ece" class="outline-3">
|
||||
<h3 id="orgd204ece"><span class="section-number-3">3.4</span> Coding rules</h3>
|
||||
<div id="outline-container-orgdcdb035" class="outline-3">
|
||||
<h3 id="orgdcdb035"><span class="section-number-3">3.4</span> Coding rules</h3>
|
||||
<div class="outline-text-3" id="text-3-4">
|
||||
<p>
|
||||
The authors should follow the recommendations of the C99
|
||||
@ -612,8 +612,8 @@ make cppcheck ; cat cppcheck.out
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org64ef460" class="outline-3">
|
||||
<h3 id="org64ef460"><span class="section-number-3">3.5</span> Design of the library</h3>
|
||||
<div id="outline-container-orge54c5c6" class="outline-3">
|
||||
<h3 id="orge54c5c6"><span class="section-number-3">3.5</span> Design of the library</h3>
|
||||
<div class="outline-text-3" id="text-3-5">
|
||||
<p>
|
||||
The proposed API should allow the library to: deal with memory transfers
|
||||
@ -624,8 +624,8 @@ functions (see below).
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org676a853" class="outline-3">
|
||||
<h3 id="org676a853"><span class="section-number-3">3.6</span> Naming conventions</h3>
|
||||
<div id="outline-container-org964e8b2" class="outline-3">
|
||||
<h3 id="org964e8b2"><span class="section-number-3">3.6</span> Naming conventions</h3>
|
||||
<div class="outline-text-3" id="text-3-6">
|
||||
<p>
|
||||
To avoid namespace collisions, we use <code>qmckl_</code> as a prefix for all exported
|
||||
@ -646,8 +646,8 @@ form is allowed.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3e055d3" class="outline-3">
|
||||
<h3 id="org3e055d3"><span class="section-number-3">3.7</span> Application programming interface</h3>
|
||||
<div id="outline-container-orgd0dacaf" class="outline-3">
|
||||
<h3 id="orgd0dacaf"><span class="section-number-3">3.7</span> Application programming interface</h3>
|
||||
<div class="outline-text-3" id="text-3-7">
|
||||
<p>
|
||||
In the C language, the number of bits used by the integer types can change
|
||||
@ -679,15 +679,15 @@ bindings in other languages in other repositories.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org119bb9b" class="outline-3">
|
||||
<h3 id="org119bb9b"><span class="section-number-3">3.8</span> Global state</h3>
|
||||
<div id="outline-container-org7d22946" class="outline-3">
|
||||
<h3 id="org7d22946"><span class="section-number-3">3.8</span> Global state</h3>
|
||||
<div class="outline-text-3" id="text-3-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="org35212fe">=context=</a> contains the global
|
||||
<code>qmckl_context_create</code> function. The <a id="orgfb8913f">=context=</a> contains the global
|
||||
state of the library, and is used as the first argument of many
|
||||
QMCkl functions.
|
||||
</p>
|
||||
@ -701,8 +701,8 @@ the state is done by setters and getters, prefixed by
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8027d1a" class="outline-3">
|
||||
<h3 id="org8027d1a"><span class="section-number-3">3.9</span> Headers</h3>
|
||||
<div id="outline-container-org28abb8d" class="outline-3">
|
||||
<h3 id="org28abb8d"><span class="section-number-3">3.9</span> Headers</h3>
|
||||
<div class="outline-text-3" id="text-3-9">
|
||||
<p>
|
||||
A single <code>qmckl.h</code> header to be distributed by the library
|
||||
@ -790,8 +790,8 @@ and the types definitions should be written in the <code>*fh_type.f90</code> fil
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgef9c334" class="outline-3">
|
||||
<h3 id="orgef9c334"><span class="section-number-3">3.10</span> Low-level functions</h3>
|
||||
<div id="outline-container-org1251392" class="outline-3">
|
||||
<h3 id="org1251392"><span class="section-number-3">3.10</span> Low-level functions</h3>
|
||||
<div class="outline-text-3" id="text-3-10">
|
||||
<p>
|
||||
Low-level functions are very simple functions which are leaves of
|
||||
@ -800,14 +800,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="#org35212fe"><code>context</code></a>. They are not allowed to allocate/deallocate memory, and
|
||||
<a href="#orgfb8913f"><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-orgcc72752" class="outline-3">
|
||||
<h3 id="orgcc72752"><span class="section-number-3">3.11</span> High-level functions</h3>
|
||||
<div id="outline-container-org594a17b" class="outline-3">
|
||||
<h3 id="org594a17b"><span class="section-number-3">3.11</span> High-level functions</h3>
|
||||
<div class="outline-text-3" id="text-3-11">
|
||||
<p>
|
||||
High-level functions are at the top of the function call tree.
|
||||
@ -819,8 +819,8 @@ temporary storage, to simplify the use of accelerators.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3b26b09" class="outline-3">
|
||||
<h3 id="org3b26b09"><span class="section-number-3">3.12</span> Numerical precision</h3>
|
||||
<div id="outline-container-orgb21ec42" class="outline-3">
|
||||
<h3 id="orgb21ec42"><span class="section-number-3">3.12</span> Numerical precision</h3>
|
||||
<div class="outline-text-3" id="text-3-12">
|
||||
<p>
|
||||
The minimal number of bits of precision required for a function
|
||||
@ -828,7 +828,7 @@ 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="#org35212fe"><code>context</code></a> variable.
|
||||
specified in the <a href="#orgfb8913f"><code>context</code></a> variable.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
@ -896,8 +896,8 @@ following points :
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge5523a2" class="outline-3">
|
||||
<h3 id="orge5523a2"><span class="section-number-3">3.13</span> Algorithms</h3>
|
||||
<div id="outline-container-orgc1e4c1a" class="outline-3">
|
||||
<h3 id="orgc1e4c1a"><span class="section-number-3">3.13</span> Algorithms</h3>
|
||||
<div class="outline-text-3" id="text-3-13">
|
||||
<p>
|
||||
Reducing the scaling of an algorithm usually implies also reducing
|
||||
@ -913,7 +913,7 @@ implemented adapted to different problem sizes.
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2022-02-16 Wed 00:14</p>
|
||||
<p class="date">Created: 2022-02-16 Wed 18:41</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
488
qmckl_ao.html
488
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>
|
||||
<!-- 2022-02-16 Wed 00:14 -->
|
||||
<!-- 2022-02-16 Wed 18:41 -->
|
||||
<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,59 +333,59 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#orgdcddad3">1. Introduction</a></li>
|
||||
<li><a href="#orged8c069">2. Context</a>
|
||||
<li><a href="#orgc78ded5">1. Introduction</a></li>
|
||||
<li><a href="#orgc884389">2. Context</a>
|
||||
<ul>
|
||||
<li><a href="#orgaae858c">2.1. Constant data</a>
|
||||
<li><a href="#org194b7f6">2.1. Constant data</a>
|
||||
<ul>
|
||||
<li><a href="#orgd8e1511">2.1.1. Initialization functions</a>
|
||||
<li><a href="#org1dc96af">2.1.1. Initialization functions</a>
|
||||
<ul>
|
||||
<li><a href="#orgef452fc">2.1.1.1. C interface</a></li>
|
||||
<li><a href="#orgdf55600">2.1.1.2. Fortran interface</a></li>
|
||||
<li><a href="#org09278f8">2.1.1.1. C interface</a></li>
|
||||
<li><a href="#org16f8e72">2.1.1.2. Fortran interface</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org45dd127">2.1.2. Access functions</a>
|
||||
<li><a href="#org3be54f4">2.1.2. Access functions</a>
|
||||
<ul>
|
||||
<li><a href="#org2cccca3">2.1.2.1. C interface</a></li>
|
||||
<li><a href="#org0a0bff7">2.1.2.2. Fortran interface</a></li>
|
||||
<li><a href="#org86e1a7f">2.1.2.1. C interface</a></li>
|
||||
<li><a href="#org0e8ac8a">2.1.2.2. Fortran interface</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org4d092d3">2.2. Computed data</a>
|
||||
<li><a href="#orgb27c318">2.2. Computed data</a>
|
||||
<ul>
|
||||
<li><a href="#org8a4430d">2.2.1. After initialization</a></li>
|
||||
<li><a href="#orgbe394b5">2.2.2. Access functions</a></li>
|
||||
<li><a href="#org1b88b2a">2.2.1. After initialization</a></li>
|
||||
<li><a href="#org5bc0fbd">2.2.2. Access functions</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgb61410a">3. Radial part</a>
|
||||
<li><a href="#orgda2b72d">3. Radial part</a>
|
||||
<ul>
|
||||
<li><a href="#org7d17530">3.1. General functions for Gaussian basis functions</a></li>
|
||||
<li><a href="#org3552dae">3.2. Computation of primitives</a></li>
|
||||
<li><a href="#org5591846">3.3. Computation of shells</a></li>
|
||||
<li><a href="#orgdecf852">3.1. General functions for Gaussian basis functions</a></li>
|
||||
<li><a href="#org7085d7c">3.2. Computation of primitives</a></li>
|
||||
<li><a href="#org465e800">3.3. Computation of shells</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orga3c3b86">4. Polynomial part</a>
|
||||
<li><a href="#org5a92943">4. Polynomial part</a>
|
||||
<ul>
|
||||
<li><a href="#org1359745">4.1. General functions for Powers of \(x-X_i\)</a></li>
|
||||
<li><a href="#org501482d">4.2. General functions for Value, Gradient and Laplacian of a polynomial</a></li>
|
||||
<li><a href="#org4435d81">4.1. General functions for Powers of \(x-X_i\)</a></li>
|
||||
<li><a href="#org354a690">4.2. General functions for Value, Gradient and Laplacian of a polynomial</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org49490e9">5. Combining radial and polynomial parts</a>
|
||||
<li><a href="#org1f2340c">5. Combining radial and polynomial parts</a>
|
||||
<ul>
|
||||
<li><a href="#orgefe7775">5.1. Unoptimized version</a></li>
|
||||
<li><a href="#org4a977be">5.2. HPC version</a></li>
|
||||
<li><a href="#orgbc01d8a">5.3. Interfaces</a></li>
|
||||
<li><a href="#org388202f">5.1. Unoptimized version</a></li>
|
||||
<li><a href="#orga66df97">5.2. HPC version</a></li>
|
||||
<li><a href="#org19b43a5">5.3. Interfaces</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgdcddad3" class="outline-2">
|
||||
<h2 id="orgdcddad3"><span class="section-number-2">1</span> Introduction</h2>
|
||||
<div id="outline-container-orgc78ded5" class="outline-2">
|
||||
<h2 id="orgc78ded5"><span class="section-number-2">1</span> Introduction</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
The atomic basis set is defined as a list of shells. Each shell \(s\) is
|
||||
@ -438,19 +438,19 @@ gradients and Laplacian of the atomic basis functions.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orged8c069" class="outline-2">
|
||||
<h2 id="orged8c069"><span class="section-number-2">2</span> Context</h2>
|
||||
<div id="outline-container-orgc884389" class="outline-2">
|
||||
<h2 id="orgc884389"><span class="section-number-2">2</span> Context</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-orgaae858c" class="outline-3">
|
||||
<h3 id="orgaae858c"><span class="section-number-3">2.1</span> Constant data</h3>
|
||||
<div id="outline-container-org194b7f6" class="outline-3">
|
||||
<h3 id="org194b7f6"><span class="section-number-3">2.1</span> Constant data</h3>
|
||||
<div class="outline-text-3" id="text-2-1">
|
||||
<p>
|
||||
The following arrays are stored in the context, and need to be set
|
||||
when initializing the library:
|
||||
</p>
|
||||
|
||||
<table id="orga695483" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgbe0776e" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -624,7 +624,7 @@ calling the functions:
|
||||
</p>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-C" id="org912a07f"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_set_ao_basis_$V$</span> ( <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
<pre class="src src-C" id="org457263e"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_set_ao_basis_$V$</span> ( <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
<span style="color: #a020f0;">const</span> $type_of_V$ $V$);
|
||||
|
||||
<span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_ao_basis_$V$</span> ( <span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
@ -661,7 +661,7 @@ For array variables, use the rule:
|
||||
</p>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-C" id="orgc07968f"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_set_ao_basis_$V$</span> ( <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
<pre class="src src-C" id="org7ed7fb9"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_set_ao_basis_$V$</span> ( <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
<span style="color: #a020f0;">const</span> $type_of_V$ $V$,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">size_max</span>);
|
||||
|
||||
@ -699,17 +699,17 @@ For array variables, use the rule:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd8e1511" class="outline-4">
|
||||
<h4 id="orgd8e1511"><span class="section-number-4">2.1.1</span> Initialization functions</h4>
|
||||
<div id="outline-container-org1dc96af" class="outline-4">
|
||||
<h4 id="org1dc96af"><span class="section-number-4">2.1.1</span> Initialization functions</h4>
|
||||
<div class="outline-text-4" id="text-2-1-1">
|
||||
<p>
|
||||
<code>size_max</code> is the dimension of the input array, which should be
|
||||
equal of larger than the value given in the table of section <a href="#orged8c069">2</a>.
|
||||
equal of larger than the value given in the table of section <a href="#orgc884389">2</a>.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgef452fc" class="outline-5">
|
||||
<h5 id="orgef452fc"><span class="section-number-5">2.1.1.1</span> C interface</h5>
|
||||
<div id="outline-container-org09278f8" class="outline-5">
|
||||
<h5 id="org09278f8"><span class="section-number-5">2.1.1.1</span> C interface</h5>
|
||||
<div class="outline-text-5" id="text-2-1-1-1">
|
||||
<p>
|
||||
To set the basis set, all the following functions need to be
|
||||
@ -833,8 +833,8 @@ called.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgdf55600" class="outline-5">
|
||||
<h5 id="orgdf55600"><span class="section-number-5">2.1.1.2</span> Fortran interface</h5>
|
||||
<div id="outline-container-org16f8e72" class="outline-5">
|
||||
<h5 id="org16f8e72"><span class="section-number-5">2.1.1.2</span> Fortran interface</h5>
|
||||
<div class="outline-text-5" id="text-2-1-1-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #a020f0;">interface</span>
|
||||
@ -1017,17 +1017,17 @@ called.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org45dd127" class="outline-4">
|
||||
<h4 id="org45dd127"><span class="section-number-4">2.1.2</span> Access functions</h4>
|
||||
<div id="outline-container-org3be54f4" class="outline-4">
|
||||
<h4 id="org3be54f4"><span class="section-number-4">2.1.2</span> Access functions</h4>
|
||||
<div class="outline-text-4" id="text-2-1-2">
|
||||
<p>
|
||||
<code>size_max</code> is the dimension of the input array, which should be
|
||||
equal of larger than the value given in the table of section <a href="#orged8c069">2</a>.
|
||||
equal of larger than the value given in the table of section <a href="#orgc884389">2</a>.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2cccca3" class="outline-5">
|
||||
<h5 id="org2cccca3"><span class="section-number-5">2.1.2.1</span> C interface</h5>
|
||||
<div id="outline-container-org86e1a7f" class="outline-5">
|
||||
<h5 id="org86e1a7f"><span class="section-number-5">2.1.2.1</span> C interface</h5>
|
||||
<div class="outline-text-5" id="text-2-1-2-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span>
|
||||
@ -1149,8 +1149,8 @@ function returns <code>true</code>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0a0bff7" class="outline-5">
|
||||
<h5 id="org0a0bff7"><span class="section-number-5">2.1.2.2</span> Fortran interface</h5>
|
||||
<div id="outline-container-org0e8ac8a" class="outline-5">
|
||||
<h5 id="org0e8ac8a"><span class="section-number-5">2.1.2.2</span> Fortran interface</h5>
|
||||
<div class="outline-text-5" id="text-2-1-2-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #a020f0;">interface</span>
|
||||
@ -1334,8 +1334,8 @@ function returns <code>true</code>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4d092d3" class="outline-3">
|
||||
<h3 id="org4d092d3"><span class="section-number-3">2.2</span> Computed data</h3>
|
||||
<div id="outline-container-orgb27c318" class="outline-3">
|
||||
<h3 id="orgb27c318"><span class="section-number-3">2.2</span> Computed data</h3>
|
||||
<div class="outline-text-3" id="text-2-2">
|
||||
<p>
|
||||
The following data is computed as described in the next sections:
|
||||
@ -1399,8 +1399,8 @@ The following data is computed as described in the next sections:
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org8a4430d" class="outline-4">
|
||||
<h4 id="org8a4430d"><span class="section-number-4">2.2.1</span> After initialization</h4>
|
||||
<div id="outline-container-org1b88b2a" class="outline-4">
|
||||
<h4 id="org1b88b2a"><span class="section-number-4">2.2.1</span> After initialization</h4>
|
||||
<div class="outline-text-4" id="text-2-2-1">
|
||||
<p>
|
||||
When the basis set is completely entered, extra data structures may be
|
||||
@ -1414,8 +1414,8 @@ the context.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgbe394b5" class="outline-4">
|
||||
<h4 id="orgbe394b5"><span class="section-number-4">2.2.2</span> Access functions</h4>
|
||||
<div id="outline-container-org5bc0fbd" class="outline-4">
|
||||
<h4 id="org5bc0fbd"><span class="section-number-4">2.2.2</span> Access functions</h4>
|
||||
<div class="outline-text-4" id="text-2-2-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span>
|
||||
@ -1428,7 +1428,7 @@ the context.
|
||||
<p>
|
||||
Returns the array of values, gradients an Laplacian of primitive
|
||||
basis functions evaluated at the current coordinates.
|
||||
See section <a href="#org3552dae">3.2</a>.
|
||||
See section <a href="#org7085d7c">3.2</a>.
|
||||
</p>
|
||||
|
||||
<div class="org-src-container">
|
||||
@ -1441,7 +1441,7 @@ See section <a href="#org3552dae">3.2</a>.
|
||||
|
||||
<p>
|
||||
Returns the array of values, gradients an Laplacian of contracted shells
|
||||
evaluated at the current coordinates. See section <a href="#org5591846">3.3</a>.
|
||||
evaluated at the current coordinates. See section <a href="#org465e800">3.3</a>.
|
||||
</p>
|
||||
|
||||
<div class="org-src-container">
|
||||
@ -1455,19 +1455,19 @@ evaluated at the current coordinates. See section <a href="#org5591846">3.3</a>.
|
||||
<p>
|
||||
Returns the array of values, gradients an Laplacian of the atomic orbitals
|
||||
evaluated at the current coordinates.
|
||||
See section <a href="#org49490e9">5</a>.
|
||||
See section <a href="#org1f2340c">5</a>.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb61410a" class="outline-2">
|
||||
<h2 id="orgb61410a"><span class="section-number-2">3</span> Radial part</h2>
|
||||
<div id="outline-container-orgda2b72d" class="outline-2">
|
||||
<h2 id="orgda2b72d"><span class="section-number-2">3</span> Radial part</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
</div>
|
||||
<div id="outline-container-org7d17530" class="outline-3">
|
||||
<h3 id="org7d17530"><span class="section-number-3">3.1</span> General functions for Gaussian basis functions</h3>
|
||||
<div id="outline-container-orgdecf852" class="outline-3">
|
||||
<h3 id="orgdecf852"><span class="section-number-3">3.1</span> General functions for Gaussian basis functions</h3>
|
||||
<div class="outline-text-3" id="text-3-1">
|
||||
<p>
|
||||
<code>qmckl_ao_gaussian_vgl</code> computes the values, gradients and
|
||||
@ -1638,10 +1638,10 @@ Requirements:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3552dae" class="outline-3">
|
||||
<h3 id="org3552dae"><span class="section-number-3">3.2</span> Computation of primitives</h3>
|
||||
<div id="outline-container-org7085d7c" class="outline-3">
|
||||
<h3 id="org7085d7c"><span class="section-number-3">3.2</span> Computation of primitives</h3>
|
||||
<div class="outline-text-3" id="text-3-2">
|
||||
<table id="orgb171823" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org6cd8fd5" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1800,10 +1800,10 @@ Requirements:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5591846" class="outline-3">
|
||||
<h3 id="org5591846"><span class="section-number-3">3.3</span> Computation of shells</h3>
|
||||
<div id="outline-container-org465e800" class="outline-3">
|
||||
<h3 id="org465e800"><span class="section-number-3">3.3</span> Computation of shells</h3>
|
||||
<div class="outline-text-3" id="text-3-3">
|
||||
<table id="org88ac45c" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orga27b788" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2055,8 +2055,8 @@ Requirements:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga3c3b86" class="outline-2">
|
||||
<h2 id="orga3c3b86"><span class="section-number-2">4</span> Polynomial part</h2>
|
||||
<div id="outline-container-org5a92943" class="outline-2">
|
||||
<h2 id="org5a92943"><span class="section-number-2">4</span> Polynomial part</h2>
|
||||
<div class="outline-text-2" id="text-4">
|
||||
<p>
|
||||
Going from the atomic basis set to AOs implies a systematic
|
||||
@ -2076,8 +2076,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-org1359745" class="outline-3">
|
||||
<h3 id="org1359745"><span class="section-number-3">4.1</span> General functions for Powers of \(x-X_i\)</h3>
|
||||
<div id="outline-container-org4435d81" class="outline-3">
|
||||
<h3 id="org4435d81"><span class="section-number-3">4.1</span> General functions for Powers of \(x-X_i\)</h3>
|
||||
<div class="outline-text-3" id="text-4-1">
|
||||
<p>
|
||||
The <code>qmckl_ao_power</code> function computes all the powers of the <code>n</code>
|
||||
@ -2089,7 +2089,7 @@ the \(n\) points:
|
||||
\[ P_{ik} = X_i^k \]
|
||||
</p>
|
||||
|
||||
<table id="org56d8804" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org664ab3a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2227,8 +2227,8 @@ Requirements:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org501482d" class="outline-3">
|
||||
<h3 id="org501482d"><span class="section-number-3">4.2</span> General functions for Value, Gradient and Laplacian of a polynomial</h3>
|
||||
<div id="outline-container-org354a690" class="outline-3">
|
||||
<h3 id="org354a690"><span class="section-number-3">4.2</span> General functions for Value, Gradient and Laplacian of a polynomial</h3>
|
||||
<div class="outline-text-3" id="text-4-2">
|
||||
<p>
|
||||
A polynomial is centered on a nucleus \(\mathbf{R}_i\)
|
||||
@ -2273,7 +2273,7 @@ Laplacians at a given point in space, of all polynomials with an
|
||||
angular momentum up to <code>lmax</code>.
|
||||
</p>
|
||||
|
||||
<table id="org8b5d7b9" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgde9e478" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2451,7 +2451,6 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
<span style="color: #228b22;">integer</span>*8 ::<span style="color: #a0522d;"> i,j</span>
|
||||
<span style="color: #228b22;">integer</span> ::<span style="color: #a0522d;"> a,b,c,d</span>
|
||||
<span style="color: #228b22;">real</span>*8 ::<span style="color: #a0522d;"> Y(3)</span>
|
||||
<span style="color: #228b22;">integer</span> ::<span style="color: #a0522d;"> lmax_array(3)</span>
|
||||
<span style="color: #228b22;">real</span>*8 ::<span style="color: #a0522d;"> pows(-2:lmax,3)</span>
|
||||
<span style="color: #228b22;">double precision</span> ::<span style="color: #a0522d;"> xy, yz, xz</span>
|
||||
<span style="color: #228b22;">double precision</span> ::<span style="color: #a0522d;"> da, db, dc, dd</span>
|
||||
@ -2483,7 +2482,6 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
Y(i) = X(i) - R(i)
|
||||
<span style="color: #a020f0;">end do</span>
|
||||
|
||||
lmax_array(1:3) = lmax
|
||||
<span style="color: #a020f0;">if</span> (lmax == 0) <span style="color: #a020f0;">then</span>
|
||||
VGL(1,1) = 1.d0
|
||||
VGL(2:5,1) = 0.d0
|
||||
@ -2593,6 +2591,20 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_ao_polynomial_transp_vgl_hpc</span> (
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">X</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">R</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int32_t</span> <span style="color: #a0522d;">lmax</span>,
|
||||
<span style="color: #228b22;">int64_t</span>* <span style="color: #a0522d;">n</span>,
|
||||
<span style="color: #228b22;">int32_t</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">L</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">ldl</span>,
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">VGL</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">ldv</span> );
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span>
|
||||
<span style="color: #0000ff;">qmckl_ao_polynomial_transp_vgl</span> (<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
@ -2606,8 +2618,7 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">ldv</span> )
|
||||
{
|
||||
<span style="color: #483d8b;">#ifdef</span> HAVE_HPC
|
||||
//<span style="color: #b22222;">return qmckl_ao_polynomial_transp_vgl_hpc (context, X, R, lmax, n, L, ldl, VGL, ldv);</span>
|
||||
<span style="color: #a020f0;">return</span> qmckl_ao_polynomial_transp_vgl_doc (context, X, R, lmax, n, L, ldl, VGL, ldv);
|
||||
<span style="color: #a020f0;">return</span> qmckl_ao_polynomial_transp_vgl_hpc (context, X, R, lmax, n, L, ldl, VGL, ldv);
|
||||
<span style="color: #483d8b;">#else</span>
|
||||
<span style="color: #a020f0;">return</span> qmckl_ao_polynomial_transp_vgl_doc (context, X, R, lmax, n, L, ldl, VGL, ldv);
|
||||
<span style="color: #483d8b;">#endif</span>
|
||||
@ -2632,7 +2643,6 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
<span style="color: #228b22;">integer</span>*8 ::<span style="color: #a0522d;"> i,j</span>
|
||||
<span style="color: #228b22;">integer</span> ::<span style="color: #a0522d;"> a,b,c,d</span>
|
||||
<span style="color: #228b22;">real</span>*8 ::<span style="color: #a0522d;"> Y(3)</span>
|
||||
<span style="color: #228b22;">integer</span> ::<span style="color: #a0522d;"> lmax_array(3)</span>
|
||||
<span style="color: #228b22;">real</span>*8 ::<span style="color: #a0522d;"> pows(-2:21,3) </span>! <span style="color: #b22222;">lmax < 22</span>
|
||||
<span style="color: #228b22;">double precision</span> ::<span style="color: #a0522d;"> xy, yz, xz</span>
|
||||
<span style="color: #228b22;">double precision</span> ::<span style="color: #a0522d;"> da, db, dc, dd</span>
|
||||
@ -2660,7 +2670,6 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
<span style="color: #a020f0;">endif</span>
|
||||
|
||||
|
||||
lmax_array(1:3) = lmax
|
||||
<span style="color: #a020f0;">if</span> (lmax > 0) <span style="color: #a020f0;">then</span>
|
||||
|
||||
<span style="color: #a020f0;">do</span> i=1,3
|
||||
@ -2677,18 +2686,17 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
VGL(1:4,1:5) = 0.d0
|
||||
|
||||
VGL(1 ,1 ) = 1.d0
|
||||
VGL(2:4,1:5) = 0.d0
|
||||
|
||||
l (1,2) = 1
|
||||
VGL(2,1) = pows(1,1)
|
||||
VGL(2,1) = Y(1)
|
||||
VGL(2,2) = 1.d0
|
||||
|
||||
l (2,3) = 1
|
||||
VGL(3,1) = pows(1,2)
|
||||
VGL(3,1) = Y(2)
|
||||
VGL(3,3) = 1.d0
|
||||
|
||||
l (3,4) = 1
|
||||
VGL(4,1) = pows(1,3)
|
||||
VGL(4,1) = Y(3)
|
||||
VGL(4,4) = 1.d0
|
||||
|
||||
n=4
|
||||
@ -2711,14 +2719,14 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
dc = dd - da - db
|
||||
n = n+1
|
||||
|
||||
l(1,n) = a
|
||||
l(2,n) = b
|
||||
l(3,n) = c
|
||||
|
||||
xy = pows(a,1) * pows(b,2)
|
||||
yz = pows(b,2) * pows(c,3)
|
||||
xz = pows(a,1) * pows(c,3)
|
||||
|
||||
l(1,n) = a
|
||||
l(2,n) = b
|
||||
l(3,n) = c
|
||||
|
||||
VGL(n,1) = xy * pows(c,3)
|
||||
|
||||
xy = dc * xy
|
||||
@ -2746,19 +2754,301 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
<span style="color: #a020f0;">end function</span> <span style="color: #0000ff;">qmckl_ao_polynomial_transp_vgl_doc_f</span>
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span>
|
||||
<span style="color: #0000ff;">qmckl_ao_polynomial_transp_vgl_hpc</span> (<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">X</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">R</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int32_t</span> <span style="color: #a0522d;">lmax</span>,
|
||||
<span style="color: #228b22;">int64_t</span>* <span style="color: #a0522d;">n</span>,
|
||||
<span style="color: #228b22;">int32_t</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">L</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">ldl</span>,
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">VGL</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">ldv</span> )
|
||||
{
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context_struct</span>* <span style="color: #a0522d;">ctx</span> = (<span style="color: #228b22;">qmckl_context_struct</span>* <span style="color: #a020f0;">const</span>) context;
|
||||
assert (ctx != <span style="color: #008b8b;">NULL</span> && X != <span style="color: #008b8b;">NULL</span> && R != <span style="color: #008b8b;">NULL</span> && n != <span style="color: #008b8b;">NULL</span> && L != <span style="color: #008b8b;">NULL</span> && VGL != <span style="color: #008b8b;">NULL</span>);
|
||||
<span style="color: #a020f0;">if</span> (lmax < 0) <span style="color: #a020f0;">return</span> QMCKL_INVALID_ARG_4;
|
||||
<span style="color: #a020f0;">if</span> (ldl < 3) <span style="color: #a020f0;">return</span> QMCKL_INVALID_ARG_7;
|
||||
|
||||
<span style="color: #228b22;">int32_t</span> <span style="color: #a0522d;">m</span>;
|
||||
|
||||
<span style="color: #a020f0;">switch</span> (lmax) {
|
||||
<span style="color: #a020f0;">case</span> 0:
|
||||
{
|
||||
<span style="color: #a020f0;">if</span> (ldv < 1) <span style="color: #a020f0;">return</span> QMCKL_INVALID_ARG_9;
|
||||
L[0] = 0; L[1] = 0; L[2] = 0;
|
||||
|
||||
VGL[0 ] = 1.0;
|
||||
VGL[ldv ] = 0.0;
|
||||
VGL[ldv<<1 ] = 0.0;
|
||||
VGL[ldv<<2-1] = 0.0;
|
||||
VGL[ldv<<2 ] = 0.0;
|
||||
m=1;
|
||||
<span style="color: #a020f0;">break</span>;
|
||||
}
|
||||
<span style="color: #a020f0;">case</span> 1:
|
||||
{
|
||||
<span style="color: #a020f0;">if</span> (ldv < 4) <span style="color: #a020f0;">return</span> QMCKL_INVALID_ARG_9;
|
||||
|
||||
<span style="color: #a020f0;">if</span> (ldl == 3) {
|
||||
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int32_t</span> <span style="color: #a0522d;">ltmp</span>[12] = {0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1};
|
||||
<span style="color: #a020f0;">for</span> (<span style="color: #228b22;">int</span> <span style="color: #a0522d;">i</span>=0 ; i<12 ; ++i)
|
||||
L[i] = ltmp[i];
|
||||
|
||||
} <span style="color: #a020f0;">else</span> {
|
||||
|
||||
<span style="color: #228b22;">int32_t</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">l</span>[4] = {L, L+ldl, L+(ldl<<1), L+3*ldl};
|
||||
l[0][0] = 0; l[0][1] = 0; l[0][2] = 0;
|
||||
l[1][0] = 1; l[1][1] = 0; l[1][2] = 0;
|
||||
l[2][0] = 0; l[2][1] = 1; l[2][2] = 0;
|
||||
l[3][0] = 0; l[3][1] = 0; l[3][2] = 1;
|
||||
}
|
||||
|
||||
|
||||
<span style="color: #a020f0;">if</span> (ldv == 4) {
|
||||
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> <span style="color: #a0522d;">tmp</span>[20] = {1.0, X[0]-R[0], X[1]-R[1], X[2]-R[2], 0.0,
|
||||
1.0, 0.0, 0.0, 0.0, 0.0,
|
||||
1.0, 0.0, 0.0, 0.0, 0.0,
|
||||
1.0, 0.0, 0.0, 0.0, 0.0};
|
||||
<span style="color: #a020f0;">for</span> (<span style="color: #228b22;">int</span> <span style="color: #a0522d;">i</span>=0 ; i<20 ; ++i)
|
||||
VGL[i] = tmp[i];
|
||||
|
||||
} <span style="color: #a020f0;">else</span> {
|
||||
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">vgl1</span> = VGL;
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">vgl2</span> = VGL + ldv;
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">vgl3</span> = VGL + (ldv << 1);
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">vgl4</span> = VGL + 3*ldv;
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">vgl5</span> = VGL + (ldv << 2);
|
||||
|
||||
<span style="color: #a020f0;">for</span> (<span style="color: #228b22;">int32_t</span> <span style="color: #a0522d;">k</span>=0 ; k<4 ; ++k) {
|
||||
vgl2[k] = 0.0;
|
||||
vgl3[k] = 0.0;
|
||||
vgl4[k] = 0.0;
|
||||
vgl5[k] = 0.0;
|
||||
}
|
||||
vgl1[0] = 1.0;
|
||||
vgl1[1] = X[0]-R[0];
|
||||
vgl1[2] = X[1]-R[1];
|
||||
vgl1[3] = X[2]-R[2];
|
||||
vgl2[1] = 1.0;
|
||||
vgl3[2] = 1.0;
|
||||
vgl4[3] = 1.0;
|
||||
}
|
||||
m=4;
|
||||
<span style="color: #a020f0;">break</span>;
|
||||
}
|
||||
<span style="color: #a020f0;">case</span> 2:
|
||||
{
|
||||
<span style="color: #a020f0;">if</span> (ldv < 10) <span style="color: #a020f0;">return</span> QMCKL_INVALID_ARG_9;
|
||||
<span style="color: #a020f0;">if</span> (ldl == 3) {
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int32_t</span> <span style="color: #a0522d;">ltmp</span>[30] = {0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1,
|
||||
2, 0, 0, 1, 1, 0, 1, 0, 1, 0, 2, 0,
|
||||
0, 1, 1, 0, 0, 2};
|
||||
<span style="color: #a020f0;">for</span> (<span style="color: #228b22;">int</span> <span style="color: #a0522d;">i</span>=0 ; i<30 ; ++i)
|
||||
L[i] = ltmp[i];
|
||||
|
||||
} <span style="color: #a020f0;">else</span> {
|
||||
<span style="color: #228b22;">int32_t</span>* <span style="color: #a0522d;">l</span>[10];
|
||||
<span style="color: #a020f0;">for</span> (<span style="color: #228b22;">int32_t</span> <span style="color: #a0522d;">i</span>=0 ; i<10 ; ++i) {
|
||||
l[i] = L + i*ldl;
|
||||
}
|
||||
|
||||
l[0][0] = 0; l[0][1] = 0; l[0][2] = 0;
|
||||
l[1][0] = 1; l[1][1] = 0; l[1][2] = 0;
|
||||
l[2][0] = 0; l[2][1] = 1; l[2][2] = 0;
|
||||
l[3][0] = 0; l[3][1] = 0; l[3][2] = 1;
|
||||
l[4][0] = 2; l[4][1] = 0; l[4][2] = 0;
|
||||
l[5][0] = 1; l[5][1] = 1; l[5][2] = 0;
|
||||
l[6][0] = 1; l[6][1] = 0; l[6][2] = 1;
|
||||
l[7][0] = 0; l[7][1] = 2; l[7][2] = 0;
|
||||
l[8][0] = 0; l[8][1] = 1; l[8][2] = 1;
|
||||
l[9][0] = 0; l[9][1] = 0; l[9][2] = 2;
|
||||
}
|
||||
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> <span style="color: #a0522d;">Y</span>[3] = { X[0]-R[0],
|
||||
X[1]-R[1],
|
||||
X[2]-R[2] };
|
||||
|
||||
<span style="color: #a020f0;">if</span> (ldv == 50) {
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> <span style="color: #a0522d;">tmp</span>[50] = {
|
||||
1.0, Y[0], Y[1], Y[2], Y[0] * Y[0],
|
||||
Y[0] * Y[1], Y[0] * Y[2], Y[1] * Y[1], Y[1] * Y[2], Y[2] * Y[2],
|
||||
0.0, 1.0, 0.0, 0.0, Y[0] + Y[0],
|
||||
Y[1], Y[2], 0.0, 0.0, 0.0,
|
||||
0.0, 0.0, 1.0, 0.0, 0.0,
|
||||
Y[0], 0.0, Y[1] + Y[1], Y[2], 0.0,
|
||||
0.0, 0.0, 0.0, 1.0, 0.0,
|
||||
0.0, Y[0], 0.0, Y[1], Y[2] + Y[2],
|
||||
0.0, 0.0, 0.0, 0.0, 2.0,
|
||||
0.0, 0.0, 2.0, 0., 2.0 };
|
||||
<span style="color: #a020f0;">for</span> (<span style="color: #228b22;">int</span> <span style="color: #a0522d;">i</span>=0 ; i<50 ; ++i)
|
||||
VGL[i] = tmp[i];
|
||||
} <span style="color: #a020f0;">else</span> {
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">vgl1</span> = VGL;
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">vgl2</span> = VGL + ldv;
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">vgl3</span> = VGL + (ldv << 1);
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">vgl4</span> = VGL + 3*ldv;
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">vgl5</span> = VGL + (ldv << 2);
|
||||
|
||||
vgl1[0] = 1.0 ; vgl1[1] = Y[0] ; vgl1[2] = Y[1];
|
||||
vgl1[3] = Y[2] ; vgl1[4] = Y[0]*Y[0]; vgl1[5] = Y[0]*Y[1];
|
||||
vgl1[6] = Y[0]*Y[2]; vgl1[7] = Y[1]*Y[1]; vgl1[8] = Y[1]*Y[2];
|
||||
vgl1[9] = Y[2]*Y[2];
|
||||
|
||||
vgl2[0] = 0.0 ; vgl2[1] = 1.0 ; vgl2[2] = 0.0 ;
|
||||
vgl2[3] = 0.0 ; vgl2[4] = Y[0]+Y[0]; vgl2[5] = Y[1];
|
||||
vgl2[6] = Y[2]; vgl2[7] = 0.0 ; vgl2[8] = 0.0 ;
|
||||
vgl2[9] = 0.0 ;
|
||||
|
||||
vgl3[0] = 0.0; vgl3[1] = 0.0 ; vgl3[2] = 1.0 ;
|
||||
vgl3[3] = 0.0; vgl3[4] = 0.0 ; vgl3[5] = Y[0];
|
||||
vgl3[6] = 0.0; vgl3[7] = Y[1]+Y[1]; vgl3[8] = Y[2];
|
||||
vgl3[9] = 0.0;
|
||||
|
||||
vgl4[0] = 0.0 ; vgl4[1] = 0.0; vgl4[2] = 0.0 ;
|
||||
vgl4[3] = 1.0 ; vgl4[4] = 0.0; vgl4[5] = 0.0 ;
|
||||
vgl4[6] = Y[0] ; vgl4[7] = 0.0; vgl4[8] = Y[1];
|
||||
vgl4[9] = Y[2]+Y[2];
|
||||
|
||||
vgl5[0] = 0.0; vgl5[1] = 0.0; vgl5[2] = 0.0;
|
||||
vgl5[3] = 0.0; vgl5[4] = 2.0; vgl5[5] = 0.0;
|
||||
vgl5[6] = 0.0; vgl5[7] = 2.0; vgl5[8] = 0.0;
|
||||
vgl5[9] = 2.0;
|
||||
}
|
||||
m=10;
|
||||
<span style="color: #a020f0;">break</span>;
|
||||
}
|
||||
/*
|
||||
<span style="color: #b22222;"> case 3: </span>
|
||||
<span style="color: #b22222;"> {</span>
|
||||
<span style="color: #b22222;"> if (ldv < 20) return QMCKL_INVALID_ARG_9;</span>
|
||||
<span style="color: #b22222;"> }</span>
|
||||
<span style="color: #b22222;"> </span>*/
|
||||
<span style="color: #a020f0;">default</span>:
|
||||
{
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int32_t</span> <span style="color: #a0522d;">size_max</span> = (lmax+1)*(lmax+2)*(lmax+3)/6;
|
||||
<span style="color: #a020f0;">if</span> (ldv < size_max) <span style="color: #a020f0;">return</span> QMCKL_INVALID_ARG_9;
|
||||
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">vgl1</span> = VGL;
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">vgl2</span> = VGL + ldv;
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">vgl3</span> = VGL + (ldv << 1);
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">vgl4</span> = VGL + 3*ldv;
|
||||
<span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">vgl5</span> = VGL + (ldv << 2);
|
||||
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> <span style="color: #a0522d;">Y</span>[3] = { X[0]-R[0],
|
||||
X[1]-R[1],
|
||||
X[2]-R[2] };
|
||||
|
||||
<span style="color: #228b22;">double</span> <span style="color: #a0522d;">pows</span>[3][size_max];
|
||||
|
||||
<span style="color: #a020f0;">for</span> (<span style="color: #228b22;">int32_t</span> <span style="color: #a0522d;">i</span>=0 ; i<=2 ; ++i) {
|
||||
pows[0][i] = 1.0;
|
||||
pows[1][i] = 1.0;
|
||||
pows[2][i] = 1.0;
|
||||
}
|
||||
|
||||
<span style="color: #a020f0;">for</span> (<span style="color: #228b22;">int32_t</span> <span style="color: #a0522d;">i</span>=3 ; i<=lmax+2 ; ++i) {
|
||||
pows[0][i] = pows[0][i-1] * Y[0];
|
||||
pows[1][i] = pows[1][i-1] * Y[1];
|
||||
pows[2][i] = pows[2][i-1] * Y[2];
|
||||
}
|
||||
|
||||
<span style="color: #228b22;">int32_t</span>* <span style="color: #a0522d;">l</span>[24];
|
||||
<span style="color: #a020f0;">for</span> (<span style="color: #228b22;">int32_t</span> <span style="color: #a0522d;">i</span>=0 ; i<size_max ; ++i) {
|
||||
l[i] = L + i*ldl;
|
||||
}
|
||||
|
||||
<span style="color: #a020f0;">for</span> (<span style="color: #228b22;">int32_t</span> <span style="color: #a0522d;">i</span>=0 ; i<4 ; ++i) {
|
||||
l[i][0] = 0;
|
||||
l[i][1] = 0;
|
||||
l[i][2] = 0;
|
||||
}
|
||||
l[1][0] = 1;
|
||||
l[2][1] = 1;
|
||||
l[3][2] = 1;
|
||||
|
||||
<span style="color: #a020f0;">for</span> (<span style="color: #228b22;">int32_t</span> <span style="color: #a0522d;">k</span>=0 ; k<4 ; ++k) {
|
||||
vgl2[k] = 0.0;
|
||||
vgl3[k] = 0.0;
|
||||
vgl4[k] = 0.0;
|
||||
vgl5[k] = 0.0;
|
||||
}
|
||||
vgl1[0] = 1.0;
|
||||
vgl1[1] = Y[0];
|
||||
vgl1[2] = Y[1];
|
||||
vgl1[3] = Y[2];
|
||||
|
||||
vgl2[1] = 1.0;
|
||||
vgl3[2] = 1.0;
|
||||
vgl4[3] = 1.0;
|
||||
m=4;
|
||||
|
||||
<span style="color: #228b22;">double</span> <span style="color: #a0522d;">dd</span> = 2.0;
|
||||
|
||||
<span style="color: #a020f0;">for</span> (<span style="color: #228b22;">int32_t</span> <span style="color: #a0522d;">d</span>=2 ; d<= lmax ; ++d) {
|
||||
<span style="color: #228b22;">double</span> <span style="color: #a0522d;">da</span> = dd;
|
||||
|
||||
<span style="color: #a020f0;">for</span> (<span style="color: #228b22;">int32_t</span> <span style="color: #a0522d;">a</span>=d ; a>=0 ; --a) {
|
||||
<span style="color: #228b22;">double</span> <span style="color: #a0522d;">db</span> = dd-da;
|
||||
|
||||
<span style="color: #a020f0;">for</span> (<span style="color: #228b22;">int32_t</span> <span style="color: #a0522d;">b</span>=d-a ; b>=0 ; --b) {
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int32_t</span> <span style="color: #a0522d;">c</span> = d - a - b;
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> <span style="color: #a0522d;">dc</span> = dd - da - db;
|
||||
|
||||
<span style="color: #228b22;">double</span> <span style="color: #a0522d;">xy</span> = pows[0][a+2] * pows[1][b+2];
|
||||
<span style="color: #228b22;">double</span> <span style="color: #a0522d;">yz</span> = pows[1][b+2] * pows[2][c+2];
|
||||
<span style="color: #228b22;">double</span> <span style="color: #a0522d;">xz</span> = pows[0][a+2] * pows[2][c+2];
|
||||
|
||||
l[m][0] = a;
|
||||
l[m][1] = b;
|
||||
l[m][2] = c;
|
||||
|
||||
vgl1[m] = xy * pows[2][c+2];
|
||||
|
||||
xy *= dc;
|
||||
xz *= db;
|
||||
yz *= da;
|
||||
|
||||
vgl2[m] = pows[0][a+1] * yz;
|
||||
vgl3[m] = pows[1][b+1] * xz;
|
||||
vgl4[m] = pows[2][c+1] * xy;
|
||||
|
||||
vgl5[m] = (da-1.) * pows[0][a] * yz +
|
||||
(db-1.) * pows[1][b] * xz +
|
||||
(dc-1.) * pows[2][c] * xy;
|
||||
|
||||
db -= 1.0;
|
||||
++m;
|
||||
}
|
||||
da -= 1.0;
|
||||
}
|
||||
dd += 1.0;
|
||||
}
|
||||
}
|
||||
}
|
||||
*n = m;
|
||||
<span style="color: #a020f0;">return</span> QMCKL_SUCCESS;
|
||||
}
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org49490e9" class="outline-2">
|
||||
<h2 id="org49490e9"><span class="section-number-2">5</span> Combining radial and polynomial parts</h2>
|
||||
<div id="outline-container-org1f2340c" class="outline-2">
|
||||
<h2 id="org1f2340c"><span class="section-number-2">5</span> Combining radial and polynomial parts</h2>
|
||||
<div class="outline-text-2" id="text-5">
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgefe7775" class="outline-3">
|
||||
<h3 id="orgefe7775"><span class="section-number-3">5.1</span> Unoptimized version</h3>
|
||||
<div id="outline-container-org388202f" class="outline-3">
|
||||
<h3 id="org388202f"><span class="section-number-3">5.1</span> Unoptimized version</h3>
|
||||
<div class="outline-text-3" id="text-5-1">
|
||||
<table id="org2896dc1" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org3ae0321" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -3023,10 +3313,10 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4a977be" class="outline-3">
|
||||
<h3 id="org4a977be"><span class="section-number-3">5.2</span> HPC version</h3>
|
||||
<div id="outline-container-orga66df97" class="outline-3">
|
||||
<h3 id="orga66df97"><span class="section-number-3">5.2</span> HPC version</h3>
|
||||
<div class="outline-text-3" id="text-5-2">
|
||||
<table id="org68be345" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org230a823" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -3184,8 +3474,8 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgbc01d8a" class="outline-3">
|
||||
<h3 id="orgbc01d8a"><span class="section-number-3">5.3</span> Interfaces</h3>
|
||||
<div id="outline-container-org19b43a5" class="outline-3">
|
||||
<h3 id="org19b43a5"><span class="section-number-3">5.3</span> Interfaces</h3>
|
||||
<div class="outline-text-3" id="text-5-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_compute_ao_vgl_doc</span> (
|
||||
@ -3235,7 +3525,7 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2022-02-16 Wed 00:14</p>
|
||||
<p class="date">Created: 2022-02-16 Wed 18:41</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
172
qmckl_blas.html
172
qmckl_blas.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>
|
||||
<!-- 2022-02-16 Wed 00:15 -->
|
||||
<!-- 2022-02-16 Wed 18:41 -->
|
||||
<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,34 +333,34 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#orgd6cddee">1. Data types</a>
|
||||
<li><a href="#org79c8d3e">1. Data types</a>
|
||||
<ul>
|
||||
<li><a href="#org1710788">1.1. Vector</a></li>
|
||||
<li><a href="#org565439d">1.2. Matrix</a></li>
|
||||
<li><a href="#org4fbabc5">1.3. Tensor</a></li>
|
||||
<li><a href="#orga73393e">1.4. Reshaping</a>
|
||||
<li><a href="#orga7d7ccd">1.1. Vector</a></li>
|
||||
<li><a href="#orgbc5bf02">1.2. Matrix</a></li>
|
||||
<li><a href="#org2e2921f">1.3. Tensor</a></li>
|
||||
<li><a href="#orga85c601">1.4. Reshaping</a>
|
||||
<ul>
|
||||
<li><a href="#orgb98ef15">1.4.1. Vector -> Matrix</a></li>
|
||||
<li><a href="#orga16c056">1.4.2. Vector -> Tensor</a></li>
|
||||
<li><a href="#org68abfc8">1.4.3. Matrix -> Vector</a></li>
|
||||
<li><a href="#orgab55102">1.4.4. Matrix -> Tensor</a></li>
|
||||
<li><a href="#orgfc94967">1.4.5. Tensor -> Vector</a></li>
|
||||
<li><a href="#org0e6c125">1.4.6. Tensor -> Matrix</a></li>
|
||||
<li><a href="#org55a3c10">1.4.1. Vector -> Matrix</a></li>
|
||||
<li><a href="#orgf47db93">1.4.2. Vector -> Tensor</a></li>
|
||||
<li><a href="#org3dfb7fc">1.4.3. Matrix -> Vector</a></li>
|
||||
<li><a href="#org7b39d0e">1.4.4. Matrix -> Tensor</a></li>
|
||||
<li><a href="#orgebe5ae1">1.4.5. Tensor -> Vector</a></li>
|
||||
<li><a href="#orgf5c21fc">1.4.6. Tensor -> Matrix</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org54b04e0">1.5. Access macros</a></li>
|
||||
<li><a href="#orgd17928a">1.6. Copy to/from to <code>double*</code></a></li>
|
||||
<li><a href="#orgbfa0abf">1.7. Tests</a></li>
|
||||
<li><a href="#org8923fdc">1.5. Access macros</a></li>
|
||||
<li><a href="#org7b46637">1.6. Copy to/from to <code>double*</code></a></li>
|
||||
<li><a href="#org8e55960">1.7. Tests</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org226d06c">2. Matrix operations</a>
|
||||
<li><a href="#org1970d9b">2. Matrix operations</a>
|
||||
<ul>
|
||||
<li><a href="#org729bf0d">2.1. <code>qmckl_dgemm</code></a></li>
|
||||
<li><a href="#org3dddb0a">2.2. <code>qmckl_matmul</code></a></li>
|
||||
<li><a href="#org8d3c55e">2.3. <code>qmckl_adjugate</code></a></li>
|
||||
<li><a href="#org4062359">2.4. <code>qmckl_transpose</code></a>
|
||||
<li><a href="#orgf2932d6">2.1. <code>qmckl_dgemm</code></a></li>
|
||||
<li><a href="#org20e0b4b">2.2. <code>qmckl_matmul</code></a></li>
|
||||
<li><a href="#org0569151">2.3. <code>qmckl_adjugate</code></a></li>
|
||||
<li><a href="#org52238cf">2.4. <code>qmckl_transpose</code></a>
|
||||
<ul>
|
||||
<li><a href="#org0c07ac3">2.4.1. Test</a></li>
|
||||
<li><a href="#org2911a80">2.4.1. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@ -369,12 +369,12 @@ for the JavaScript code in this tag.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd6cddee" class="outline-2">
|
||||
<h2 id="orgd6cddee"><span class="section-number-2">1</span> Data types</h2>
|
||||
<div id="outline-container-org79c8d3e" class="outline-2">
|
||||
<h2 id="org79c8d3e"><span class="section-number-2">1</span> Data types</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
</div>
|
||||
<div id="outline-container-org1710788" class="outline-3">
|
||||
<h3 id="org1710788"><span class="section-number-3">1.1</span> Vector</h3>
|
||||
<div id="outline-container-orga7d7ccd" class="outline-3">
|
||||
<h3 id="orga7d7ccd"><span class="section-number-3">1.1</span> Vector</h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
@ -455,27 +455,27 @@ Allocates a new vector. If the allocation failed the size is zero.
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span>
|
||||
<span style="color: #0000ff;">qmckl_vector_free</span>( <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
<span style="color: #228b22;">qmckl_vector</span> <span style="color: #a0522d;">vector</span>);
|
||||
<span style="color: #228b22;">qmckl_vector</span>* <span style="color: #a0522d;">vector</span>);
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span>
|
||||
<span style="color: #0000ff;">qmckl_vector_free</span>( <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
<span style="color: #228b22;">qmckl_vector</span> <span style="color: #a0522d;">vector</span>)
|
||||
<span style="color: #228b22;">qmckl_vector</span>* <span style="color: #a0522d;">vector</span>)
|
||||
{
|
||||
/* <span style="color: #b22222;">Always true </span>*/
|
||||
assert (vector.data != <span style="color: #008b8b;">NULL</span>);
|
||||
assert (vector->data != <span style="color: #008b8b;">NULL</span>);
|
||||
|
||||
<span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #a0522d;">rc</span>;
|
||||
|
||||
rc = qmckl_free(context, vector.data);
|
||||
rc = qmckl_free(context, vector->data);
|
||||
<span style="color: #a020f0;">if</span> (rc != QMCKL_SUCCESS) {
|
||||
<span style="color: #a020f0;">return</span> rc;
|
||||
}
|
||||
|
||||
vector.size = (<span style="color: #228b22;">int64_t</span>) 0;
|
||||
vector.data = <span style="color: #008b8b;">NULL</span>;
|
||||
vector->size = (<span style="color: #228b22;">int64_t</span>) 0;
|
||||
vector->data = <span style="color: #008b8b;">NULL</span>;
|
||||
<span style="color: #a020f0;">return</span> QMCKL_SUCCESS;
|
||||
}
|
||||
</pre>
|
||||
@ -483,8 +483,8 @@ Allocates a new vector. If the allocation failed the size is zero.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org565439d" class="outline-3">
|
||||
<h3 id="org565439d"><span class="section-number-3">1.2</span> Matrix</h3>
|
||||
<div id="outline-container-orgbc5bf02" class="outline-3">
|
||||
<h3 id="orgbc5bf02"><span class="section-number-3">1.2</span> Matrix</h3>
|
||||
<div class="outline-text-3" id="text-1-2">
|
||||
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
@ -575,27 +575,27 @@ Allocates a new matrix. If the allocation failed the sizes are zero.
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span>
|
||||
<span style="color: #0000ff;">qmckl_matrix_free</span>( <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
<span style="color: #228b22;">qmckl_matrix</span> <span style="color: #a0522d;">matrix</span>);
|
||||
<span style="color: #228b22;">qmckl_matrix</span>* <span style="color: #a0522d;">matrix</span>);
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span>
|
||||
<span style="color: #0000ff;">qmckl_matrix_free</span>( <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
<span style="color: #228b22;">qmckl_matrix</span> <span style="color: #a0522d;">matrix</span>)
|
||||
<span style="color: #228b22;">qmckl_matrix</span>* <span style="color: #a0522d;">matrix</span>)
|
||||
{
|
||||
/* <span style="color: #b22222;">Always true </span>*/
|
||||
assert (matrix.data != <span style="color: #008b8b;">NULL</span>);
|
||||
assert (matrix->data != <span style="color: #008b8b;">NULL</span>);
|
||||
|
||||
<span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #a0522d;">rc</span>;
|
||||
|
||||
rc = qmckl_free(context, matrix.data);
|
||||
rc = qmckl_free(context, matrix->data);
|
||||
<span style="color: #a020f0;">if</span> (rc != QMCKL_SUCCESS) {
|
||||
<span style="color: #a020f0;">return</span> rc;
|
||||
}
|
||||
matrix.data = <span style="color: #008b8b;">NULL</span>;
|
||||
matrix.size[0] = (<span style="color: #228b22;">int64_t</span>) 0;
|
||||
matrix.size[1] = (<span style="color: #228b22;">int64_t</span>) 0;
|
||||
matrix->data = <span style="color: #008b8b;">NULL</span>;
|
||||
matrix->size[0] = (<span style="color: #228b22;">int64_t</span>) 0;
|
||||
matrix->size[1] = (<span style="color: #228b22;">int64_t</span>) 0;
|
||||
|
||||
<span style="color: #a020f0;">return</span> QMCKL_SUCCESS;
|
||||
}
|
||||
@ -604,8 +604,8 @@ Allocates a new matrix. If the allocation failed the sizes are zero.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4fbabc5" class="outline-3">
|
||||
<h3 id="org4fbabc5"><span class="section-number-3">1.3</span> Tensor</h3>
|
||||
<div id="outline-container-org2e2921f" class="outline-3">
|
||||
<h3 id="org2e2921f"><span class="section-number-3">1.3</span> Tensor</h3>
|
||||
<div class="outline-text-3" id="text-1-3">
|
||||
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
@ -713,26 +713,26 @@ is zero.
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span>
|
||||
<span style="color: #0000ff;">qmckl_tensor_free</span>( <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
<span style="color: #228b22;">qmckl_tensor</span> <span style="color: #a0522d;">tensor</span>);
|
||||
<span style="color: #228b22;">qmckl_tensor</span>* <span style="color: #a0522d;">tensor</span>);
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span>
|
||||
<span style="color: #0000ff;">qmckl_tensor_free</span>( <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
<span style="color: #228b22;">qmckl_tensor</span> <span style="color: #a0522d;">tensor</span>)
|
||||
<span style="color: #228b22;">qmckl_tensor</span>* <span style="color: #a0522d;">tensor</span>)
|
||||
{
|
||||
/* <span style="color: #b22222;">Always true </span>*/
|
||||
assert (tensor.data != <span style="color: #008b8b;">NULL</span>);
|
||||
assert (tensor->data != <span style="color: #008b8b;">NULL</span>);
|
||||
|
||||
<span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #a0522d;">rc</span>;
|
||||
|
||||
rc = qmckl_free(context, tensor.data);
|
||||
rc = qmckl_free(context, tensor->data);
|
||||
<span style="color: #a020f0;">if</span> (rc != QMCKL_SUCCESS) {
|
||||
<span style="color: #a020f0;">return</span> rc;
|
||||
}
|
||||
|
||||
memset(&tensor, 0, <span style="color: #a020f0;">sizeof</span>(qmckl_tensor));
|
||||
memset(tensor, 0, <span style="color: #a020f0;">sizeof</span>(qmckl_tensor));
|
||||
|
||||
<span style="color: #a020f0;">return</span> QMCKL_SUCCESS;
|
||||
}
|
||||
@ -741,16 +741,16 @@ is zero.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga73393e" class="outline-3">
|
||||
<h3 id="orga73393e"><span class="section-number-3">1.4</span> Reshaping</h3>
|
||||
<div id="outline-container-orga85c601" class="outline-3">
|
||||
<h3 id="orga85c601"><span class="section-number-3">1.4</span> Reshaping</h3>
|
||||
<div class="outline-text-3" id="text-1-4">
|
||||
<p>
|
||||
Reshaping occurs in-place and the pointer to the data is copied.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb98ef15" class="outline-4">
|
||||
<h4 id="orgb98ef15"><span class="section-number-4">1.4.1</span> Vector -> Matrix</h4>
|
||||
<div id="outline-container-org55a3c10" class="outline-4">
|
||||
<h4 id="org55a3c10"><span class="section-number-4">1.4.1</span> Vector -> Matrix</h4>
|
||||
<div class="outline-text-4" id="text-1-4-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_matrix</span>
|
||||
@ -786,8 +786,8 @@ Reshapes a vector into a matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga16c056" class="outline-4">
|
||||
<h4 id="orga16c056"><span class="section-number-4">1.4.2</span> Vector -> Tensor</h4>
|
||||
<div id="outline-container-orgf47db93" class="outline-4">
|
||||
<h4 id="orgf47db93"><span class="section-number-4">1.4.2</span> Vector -> Tensor</h4>
|
||||
<div class="outline-text-4" id="text-1-4-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_tensor</span>
|
||||
@ -825,8 +825,8 @@ Reshapes a vector into a tensor.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org68abfc8" class="outline-4">
|
||||
<h4 id="org68abfc8"><span class="section-number-4">1.4.3</span> Matrix -> Vector</h4>
|
||||
<div id="outline-container-org3dfb7fc" class="outline-4">
|
||||
<h4 id="org3dfb7fc"><span class="section-number-4">1.4.3</span> Matrix -> Vector</h4>
|
||||
<div class="outline-text-4" id="text-1-4-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_vector</span>
|
||||
@ -854,8 +854,8 @@ Reshapes a matrix into a vector.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgab55102" class="outline-4">
|
||||
<h4 id="orgab55102"><span class="section-number-4">1.4.4</span> Matrix -> Tensor</h4>
|
||||
<div id="outline-container-org7b39d0e" class="outline-4">
|
||||
<h4 id="org7b39d0e"><span class="section-number-4">1.4.4</span> Matrix -> Tensor</h4>
|
||||
<div class="outline-text-4" id="text-1-4-4">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_tensor</span>
|
||||
@ -893,8 +893,8 @@ Reshapes a matrix into a tensor.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgfc94967" class="outline-4">
|
||||
<h4 id="orgfc94967"><span class="section-number-4">1.4.5</span> Tensor -> Vector</h4>
|
||||
<div id="outline-container-orgebe5ae1" class="outline-4">
|
||||
<h4 id="orgebe5ae1"><span class="section-number-4">1.4.5</span> Tensor -> Vector</h4>
|
||||
<div class="outline-text-4" id="text-1-4-5">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_vector</span>
|
||||
@ -927,8 +927,8 @@ Reshapes a tensor into a vector.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0e6c125" class="outline-4">
|
||||
<h4 id="org0e6c125"><span class="section-number-4">1.4.6</span> Tensor -> Matrix</h4>
|
||||
<div id="outline-container-orgf5c21fc" class="outline-4">
|
||||
<h4 id="orgf5c21fc"><span class="section-number-4">1.4.6</span> Tensor -> Matrix</h4>
|
||||
<div class="outline-text-4" id="text-1-4-6">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_matrix</span>
|
||||
@ -969,8 +969,8 @@ Reshapes a tensor into a vector.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org54b04e0" class="outline-3">
|
||||
<h3 id="org54b04e0"><span class="section-number-3">1.5</span> Access macros</h3>
|
||||
<div id="outline-container-org8923fdc" class="outline-3">
|
||||
<h3 id="org8923fdc"><span class="section-number-3">1.5</span> Access macros</h3>
|
||||
<div class="outline-text-3" id="text-1-5">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #483d8b;">#define</span> <span style="color: #0000ff;">qmckl_vec</span>(<span style="color: #a0522d;">v</span>, <span style="color: #a0522d;">i</span>) v.data[i]
|
||||
@ -984,8 +984,8 @@ Reshapes a tensor into a vector.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd17928a" class="outline-3">
|
||||
<h3 id="orgd17928a"><span class="section-number-3">1.6</span> Copy to/from to <code>double*</code></h3>
|
||||
<div id="outline-container-org7b46637" class="outline-3">
|
||||
<h3 id="org7b46637"><span class="section-number-3">1.6</span> Copy to/from to <code>double*</code></h3>
|
||||
<div class="outline-text-3" id="text-1-6">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span>
|
||||
@ -1191,8 +1191,8 @@ Converts a matrix to a <code>double*</code>.
|
||||
|
||||
|
||||
|
||||
<div id="outline-container-orgbfa0abf" class="outline-3">
|
||||
<h3 id="orgbfa0abf"><span class="section-number-3">1.7</span> Tests</h3>
|
||||
<div id="outline-container-org8e55960" class="outline-3">
|
||||
<h3 id="org8e55960"><span class="section-number-3">1.7</span> Tests</h3>
|
||||
<div class="outline-text-3" id="text-1-7">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">{
|
||||
@ -1222,7 +1222,7 @@ Converts a matrix to a <code>double*</code>.
|
||||
<span style="color: #a020f0;">for</span> (<span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">i</span>=0 ; i<p ; ++i)
|
||||
assert ( qmckl_vec(vec2, i) == qmckl_vec(vec, i) ) ;
|
||||
|
||||
qmckl_vector_free(context, vec);
|
||||
qmckl_vector_free(context, &vec);
|
||||
|
||||
}
|
||||
</pre>
|
||||
@ -1230,12 +1230,12 @@ Converts a matrix to a <code>double*</code>.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org226d06c" class="outline-2">
|
||||
<h2 id="org226d06c"><span class="section-number-2">2</span> Matrix operations</h2>
|
||||
<div id="outline-container-org1970d9b" class="outline-2">
|
||||
<h2 id="org1970d9b"><span class="section-number-2">2</span> Matrix operations</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-org729bf0d" class="outline-3">
|
||||
<h3 id="org729bf0d"><span class="section-number-3">2.1</span> <code>qmckl_dgemm</code></h3>
|
||||
<div id="outline-container-orgf2932d6" class="outline-3">
|
||||
<h3 id="orgf2932d6"><span class="section-number-3">2.1</span> <code>qmckl_dgemm</code></h3>
|
||||
<div class="outline-text-3" id="text-2-1">
|
||||
<p>
|
||||
Matrix multiplication:
|
||||
@ -1247,7 +1247,7 @@ Matrix multiplication:
|
||||
\]
|
||||
</p>
|
||||
|
||||
<table id="orgcbe5c71" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgdfb87a9" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1467,8 +1467,8 @@ Requirements:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3dddb0a" class="outline-3">
|
||||
<h3 id="org3dddb0a"><span class="section-number-3">2.2</span> <code>qmckl_matmul</code></h3>
|
||||
<div id="outline-container-org20e0b4b" class="outline-3">
|
||||
<h3 id="org20e0b4b"><span class="section-number-3">2.2</span> <code>qmckl_matmul</code></h3>
|
||||
<div class="outline-text-3" id="text-2-2">
|
||||
<p>
|
||||
Matrix multiplication:
|
||||
@ -1480,7 +1480,7 @@ Matrix multiplication:
|
||||
\]
|
||||
</p>
|
||||
|
||||
<table id="org072aaab" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org86fd8b8" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1713,8 +1713,8 @@ Matrix multiplication:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8d3c55e" class="outline-3">
|
||||
<h3 id="org8d3c55e"><span class="section-number-3">2.3</span> <code>qmckl_adjugate</code></h3>
|
||||
<div id="outline-container-org0569151" class="outline-3">
|
||||
<h3 id="org0569151"><span class="section-number-3">2.3</span> <code>qmckl_adjugate</code></h3>
|
||||
<div class="outline-text-3" id="text-2-3">
|
||||
<p>
|
||||
Given a matrix \(\mathbf{A}\), the adjugate matrix
|
||||
@ -1732,7 +1732,7 @@ of \(\mathbf{A}\).
|
||||
See also: <a href="https://en.wikipedia.org/wiki/Adjugate_matrix">https://en.wikipedia.org/wiki/Adjugate_matrix</a>
|
||||
</p>
|
||||
|
||||
<table id="org511bd2e" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgbfe545d" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1985,8 +1985,8 @@ determinant with the inverse:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4062359" class="outline-3">
|
||||
<h3 id="org4062359"><span class="section-number-3">2.4</span> <code>qmckl_transpose</code></h3>
|
||||
<div id="outline-container-org52238cf" class="outline-3">
|
||||
<h3 id="org52238cf"><span class="section-number-3">2.4</span> <code>qmckl_transpose</code></h3>
|
||||
<div class="outline-text-3" id="text-2-4">
|
||||
<p>
|
||||
Transposes a matrix: \(A^\dagger_{ji} = A_{ij}\).
|
||||
@ -2086,8 +2086,8 @@ Transposes a matrix: \(A^\dagger_{ji} = A_{ij}\).
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0c07ac3" class="outline-4">
|
||||
<h4 id="org0c07ac3"><span class="section-number-4">2.4.1</span> Test</h4>
|
||||
<div id="outline-container-org2911a80" class="outline-4">
|
||||
<h4 id="org2911a80"><span class="section-number-4">2.4.1</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-4-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">{
|
||||
@ -2108,8 +2108,8 @@ Transposes a matrix: \(A^\dagger_{ji} = A_{ij}\).
|
||||
<span style="color: #a020f0;">for</span> (<span style="color: #228b22;">int</span> <span style="color: #a0522d;">i</span>=0 ; i<2 ; ++i)
|
||||
assert (qmckl_mat(A, i, j) == qmckl_mat(At, j, i));
|
||||
|
||||
qmckl_matrix_free(context, A);
|
||||
qmckl_matrix_free(context, At);
|
||||
qmckl_matrix_free(context, &A);
|
||||
qmckl_matrix_free(context, &At);
|
||||
}
|
||||
|
||||
</pre>
|
||||
@ -2121,7 +2121,7 @@ Transposes a matrix: \(A^\dagger_{ji} = A_{ij}\).
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2022-02-16 Wed 00:15</p>
|
||||
<p class="date">Created: 2022-02-16 Wed 18:41</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>
|
||||
<!-- 2022-02-16 Wed 00:15 -->
|
||||
<!-- 2022-02-16 Wed 18:41 -->
|
||||
<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="#org7c73a71">1. Context handling</a>
|
||||
<li><a href="#org74fa6f6">1. Context handling</a>
|
||||
<ul>
|
||||
<li><a href="#org0782cc7">1.1. Data structure</a></li>
|
||||
<li><a href="#org3345474">1.2. Creation</a></li>
|
||||
<li><a href="#orgafdd3eb">1.3. Locking</a></li>
|
||||
<li><a href="#org2472632">1.4. <span class="todo TODO">TODO</span> Copy</a></li>
|
||||
<li><a href="#org174065c">1.5. Destroy</a></li>
|
||||
<li><a href="#orgae8cd19">1.1. Data structure</a></li>
|
||||
<li><a href="#org6d8daf6">1.2. Creation</a></li>
|
||||
<li><a href="#org01a5ce7">1.3. Locking</a></li>
|
||||
<li><a href="#orgaf4194f">1.4. <span class="todo TODO">TODO</span> Copy</a></li>
|
||||
<li><a href="#orgfd502f7">1.5. Destroy</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7c73a71" class="outline-2">
|
||||
<h2 id="org7c73a71"><span class="section-number-2">1</span> Context handling</h2>
|
||||
<div id="outline-container-org74fa6f6" class="outline-2">
|
||||
<h2 id="org74fa6f6"><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="org3340c6f"><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="org4beb05e"><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-org0782cc7" class="outline-3">
|
||||
<h3 id="org0782cc7"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-orgae8cd19" class="outline-3">
|
||||
<h3 id="orgae8cd19"><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="#org3345474">qmckl<sub>context</sub><sub>create</sub></a>, <a href="#org174065c">qmckl<sub>context</sub><sub>destroy</sub></a> and <a href="#org2472632">qmckl<sub>context</sub><sub>copy</sub></a>
|
||||
<a href="#org6d8daf6">qmckl<sub>context</sub><sub>create</sub></a>, <a href="#orgfd502f7">qmckl<sub>context</sub><sub>destroy</sub></a> and <a href="#orgaf4194f">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-org3345474" class="outline-3">
|
||||
<h3 id="org3345474"><span class="section-number-3">1.2</span> Creation</h3>
|
||||
<div id="outline-container-org6d8daf6" class="outline-3">
|
||||
<h3 id="org6d8daf6"><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.
|
||||
@ -511,8 +511,8 @@ To create a new context, <code>qmckl_context_create()</code> should be used.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgafdd3eb" class="outline-3">
|
||||
<h3 id="orgafdd3eb"><span class="section-number-3">1.3</span> Locking</h3>
|
||||
<div id="outline-container-org01a5ce7" class="outline-3">
|
||||
<h3 id="org01a5ce7"><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
|
||||
@ -557,8 +557,8 @@ number of times the thread has locked it is saved in the
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2472632" class="outline-3">
|
||||
<h3 id="org2472632"><span class="section-number-3">1.4</span> <span class="todo TODO">TODO</span> Copy</h3>
|
||||
<div id="outline-container-orgaf4194f" class="outline-3">
|
||||
<h3 id="orgaf4194f"><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
|
||||
@ -606,8 +606,8 @@ number of times the thread has locked it is saved in the
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org174065c" class="outline-3">
|
||||
<h3 id="org174065c"><span class="section-number-3">1.5</span> Destroy</h3>
|
||||
<div id="outline-container-orgfd502f7" class="outline-3">
|
||||
<h3 id="orgfd502f7"><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.
|
||||
@ -661,7 +661,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: 2022-02-16 Wed 00:15</p>
|
||||
<p class="date">Created: 2022-02-16 Wed 18:41</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>
|
||||
<!-- 2022-02-16 Wed 00:14 -->
|
||||
<!-- 2022-02-16 Wed 18:41 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Slater Determinant</title>
|
||||
@ -311,32 +311,32 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#org8d0e424">1. Context</a>
|
||||
<li><a href="#orge30416f">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#org577cf96">1.1. Data structure</a></li>
|
||||
<li><a href="#org7b5dfb9">1.2. Access functions</a></li>
|
||||
<li><a href="#org0d67848">1.3. Initialization functions</a></li>
|
||||
<li><a href="#orgc746ac5">1.4. Fortran Interfaces</a></li>
|
||||
<li><a href="#org2b8019f">1.5. Test</a></li>
|
||||
<li><a href="#orgb93a8ca">1.1. Data structure</a></li>
|
||||
<li><a href="#org4724ac6">1.2. Access functions</a></li>
|
||||
<li><a href="#org94593ea">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org1fe3b85">1.4. Fortran Interfaces</a></li>
|
||||
<li><a href="#org87c3d14">1.5. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgde1d4ce">2. Computation</a>
|
||||
<li><a href="#org18416c2">2. Computation</a>
|
||||
<ul>
|
||||
<li><a href="#org1f42f86">2.1. Determinant matrix</a>
|
||||
<li><a href="#orgb508492">2.1. Determinant matrix</a>
|
||||
<ul>
|
||||
<li><a href="#org65ab08d">2.1.1. Get</a></li>
|
||||
<li><a href="#orge01701a">2.1.2. Provide</a></li>
|
||||
<li><a href="#org6581495">2.1.3. Compute alpha</a></li>
|
||||
<li><a href="#org48e33bf">2.1.4. Compute beta</a></li>
|
||||
<li><a href="#org1bbdb2b">2.1.5. Test</a></li>
|
||||
<li><a href="#org416c5f7">2.1.1. Get</a></li>
|
||||
<li><a href="#org89c813c">2.1.2. Provide</a></li>
|
||||
<li><a href="#org42d9460">2.1.3. Compute alpha</a></li>
|
||||
<li><a href="#orgc5b4149">2.1.4. Compute beta</a></li>
|
||||
<li><a href="#org1724b0c">2.1.5. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgb014c55">2.2. Inverse of Determinant matrix</a>
|
||||
<li><a href="#org48d1cb0">2.2. Inverse of Determinant matrix</a>
|
||||
<ul>
|
||||
<li><a href="#org2034588">2.2.1. Get</a></li>
|
||||
<li><a href="#org1be6cb5">2.2.2. Provide</a></li>
|
||||
<li><a href="#org2643c8a">2.2.3. Compute alpha</a></li>
|
||||
<li><a href="#org0a7116f">2.2.4. Compute beta</a></li>
|
||||
<li><a href="#org9a04266">2.2.1. Get</a></li>
|
||||
<li><a href="#org22d3ebc">2.2.2. Provide</a></li>
|
||||
<li><a href="#org33619c7">2.2.3. Compute alpha</a></li>
|
||||
<li><a href="#org1cf35a2">2.2.4. Compute beta</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@ -345,8 +345,8 @@ for the JavaScript code in this tag.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8d0e424" class="outline-2">
|
||||
<h2 id="org8d0e424"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-orge30416f" class="outline-2">
|
||||
<h2 id="orge30416f"><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:
|
||||
@ -528,8 +528,8 @@ Computed data:
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org577cf96" class="outline-3">
|
||||
<h3 id="org577cf96"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-orgb93a8ca" class="outline-3">
|
||||
<h3 id="orgb93a8ca"><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_determinant_struct</span> {
|
||||
@ -598,8 +598,8 @@ this mechanism.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7b5dfb9" class="outline-3">
|
||||
<h3 id="org7b5dfb9"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div id="outline-container-org4724ac6" class="outline-3">
|
||||
<h3 id="org4724ac6"><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 slater determinants have been provided, the following
|
||||
@ -613,8 +613,8 @@ function returns <code>true</code>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0d67848" class="outline-3">
|
||||
<h3 id="org0d67848"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-org94593ea" class="outline-3">
|
||||
<h3 id="org94593ea"><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
|
||||
@ -638,24 +638,24 @@ computed to accelerate the calculations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc746ac5" class="outline-3">
|
||||
<h3 id="orgc746ac5"><span class="section-number-3">1.4</span> Fortran Interfaces</h3>
|
||||
<div id="outline-container-org1fe3b85" class="outline-3">
|
||||
<h3 id="org1fe3b85"><span class="section-number-3">1.4</span> Fortran Interfaces</h3>
|
||||
</div>
|
||||
<div id="outline-container-org2b8019f" class="outline-3">
|
||||
<h3 id="org2b8019f"><span class="section-number-3">1.5</span> Test</h3>
|
||||
<div id="outline-container-org87c3d14" class="outline-3">
|
||||
<h3 id="org87c3d14"><span class="section-number-3">1.5</span> Test</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgde1d4ce" class="outline-2">
|
||||
<h2 id="orgde1d4ce"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div id="outline-container-org18416c2" class="outline-2">
|
||||
<h2 id="org18416c2"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-org1f42f86" class="outline-3">
|
||||
<h3 id="org1f42f86"><span class="section-number-3">2.1</span> Determinant matrix</h3>
|
||||
<div id="outline-container-orgb508492" class="outline-3">
|
||||
<h3 id="orgb508492"><span class="section-number-3">2.1</span> Determinant matrix</h3>
|
||||
<div class="outline-text-3" id="text-2-1">
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org65ab08d" class="outline-4">
|
||||
<h4 id="org65ab08d"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div id="outline-container-org416c5f7" class="outline-4">
|
||||
<h4 id="org416c5f7"><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_det_vgl_alpha</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;">det_vgl_alpha</span>);
|
||||
@ -665,14 +665,14 @@ computed to accelerate the calculations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge01701a" class="outline-4">
|
||||
<h4 id="orge01701a"><span class="section-number-4">2.1.2</span> Provide</h4>
|
||||
<div id="outline-container-org89c813c" class="outline-4">
|
||||
<h4 id="org89c813c"><span class="section-number-4">2.1.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6581495" class="outline-4">
|
||||
<h4 id="org6581495"><span class="section-number-4">2.1.3</span> Compute alpha</h4>
|
||||
<div id="outline-container-org42d9460" class="outline-4">
|
||||
<h4 id="org42d9460"><span class="section-number-4">2.1.3</span> Compute alpha</h4>
|
||||
<div class="outline-text-4" id="text-2-1-3">
|
||||
<table id="orgb9481f4" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org4f6b679" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -846,10 +846,10 @@ computed to accelerate the calculations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org48e33bf" class="outline-4">
|
||||
<h4 id="org48e33bf"><span class="section-number-4">2.1.4</span> Compute beta</h4>
|
||||
<div id="outline-container-orgc5b4149" class="outline-4">
|
||||
<h4 id="orgc5b4149"><span class="section-number-4">2.1.4</span> Compute beta</h4>
|
||||
<div class="outline-text-4" id="text-2-1-4">
|
||||
<table id="org4d79029" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org7d4d529" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1023,18 +1023,18 @@ computed to accelerate the calculations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1bbdb2b" class="outline-4">
|
||||
<h4 id="org1bbdb2b"><span class="section-number-4">2.1.5</span> Test</h4>
|
||||
<div id="outline-container-org1724b0c" class="outline-4">
|
||||
<h4 id="org1724b0c"><span class="section-number-4">2.1.5</span> Test</h4>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb014c55" class="outline-3">
|
||||
<h3 id="orgb014c55"><span class="section-number-3">2.2</span> Inverse of Determinant matrix</h3>
|
||||
<div id="outline-container-org48d1cb0" class="outline-3">
|
||||
<h3 id="org48d1cb0"><span class="section-number-3">2.2</span> Inverse of Determinant matrix</h3>
|
||||
<div class="outline-text-3" id="text-2-2">
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2034588" class="outline-4">
|
||||
<h4 id="org2034588"><span class="section-number-4">2.2.1</span> Get</h4>
|
||||
<div id="outline-container-org9a04266" class="outline-4">
|
||||
<h4 id="org9a04266"><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_det_inv_matrix_alpha</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;">det_inv_matrix_alpha</span>);
|
||||
@ -1048,14 +1048,14 @@ computed to accelerate the calculations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1be6cb5" class="outline-4">
|
||||
<h4 id="org1be6cb5"><span class="section-number-4">2.2.2</span> Provide</h4>
|
||||
<div id="outline-container-org22d3ebc" class="outline-4">
|
||||
<h4 id="org22d3ebc"><span class="section-number-4">2.2.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2643c8a" class="outline-4">
|
||||
<h4 id="org2643c8a"><span class="section-number-4">2.2.3</span> Compute alpha</h4>
|
||||
<div id="outline-container-org33619c7" class="outline-4">
|
||||
<h4 id="org33619c7"><span class="section-number-4">2.2.3</span> Compute alpha</h4>
|
||||
<div class="outline-text-4" id="text-2-2-3">
|
||||
<table id="orge014316" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org43aa778" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1217,10 +1217,10 @@ computed to accelerate the calculations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0a7116f" class="outline-4">
|
||||
<h4 id="org0a7116f"><span class="section-number-4">2.2.4</span> Compute beta</h4>
|
||||
<div id="outline-container-org1cf35a2" class="outline-4">
|
||||
<h4 id="org1cf35a2"><span class="section-number-4">2.2.4</span> Compute beta</h4>
|
||||
<div class="outline-text-4" id="text-2-2-4">
|
||||
<table id="orgb79ae83" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgc3d1154" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1387,7 +1387,7 @@ computed to accelerate the calculations.
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2022-02-16 Wed 00:14</p>
|
||||
<p class="date">Created: 2022-02-16 Wed 18:41</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>
|
||||
<!-- 2022-02-16 Wed 00:14 -->
|
||||
<!-- 2022-02-16 Wed 18:41 -->
|
||||
<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,54 +333,54 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#orgbd3903a">1. Squared distance</a>
|
||||
<li><a href="#orgb6a973a">1. Squared distance</a>
|
||||
<ul>
|
||||
<li><a href="#org642364c">1.1. <code>qmckl_distance_sq</code></a>
|
||||
<li><a href="#org62e7d03">1.1. <code>qmckl_distance_sq</code></a>
|
||||
<ul>
|
||||
<li><a href="#org08747f6">1.1.1. Performance</a></li>
|
||||
<li><a href="#org556d41b">1.1.1. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org91bbfde">2. Distance</a>
|
||||
<li><a href="#orgc954a6a">2. Distance</a>
|
||||
<ul>
|
||||
<li><a href="#org1e0daa8">2.1. <code>qmckl_distance</code></a>
|
||||
<li><a href="#org52fdcef">2.1. <code>qmckl_distance</code></a>
|
||||
<ul>
|
||||
<li><a href="#org1201492">2.1.1. Requirements</a></li>
|
||||
<li><a href="#org333f4f2">2.1.2. C header</a></li>
|
||||
<li><a href="#orgdb3fbfa">2.1.3. Source</a></li>
|
||||
<li><a href="#orga424619">2.1.4. Performance</a></li>
|
||||
<li><a href="#org4d29a2c">2.1.1. Requirements</a></li>
|
||||
<li><a href="#org85b25a5">2.1.2. C header</a></li>
|
||||
<li><a href="#orgb831a75">2.1.3. Source</a></li>
|
||||
<li><a href="#org4af5719">2.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org49b321f">3. Rescaled Distance</a>
|
||||
<li><a href="#orgf641504">3. Rescaled Distance</a>
|
||||
<ul>
|
||||
<li><a href="#orgb83bc66">3.1. <code>qmckl_distance_rescaled</code></a>
|
||||
<li><a href="#orgf0dbd9b">3.1. <code>qmckl_distance_rescaled</code></a>
|
||||
<ul>
|
||||
<li><a href="#org0baeed9">3.1.1. Requirements</a></li>
|
||||
<li><a href="#org875a650">3.1.2. C header</a></li>
|
||||
<li><a href="#orgcf297db">3.1.3. Source</a></li>
|
||||
<li><a href="#org3ca1ea6">3.1.4. Performance</a></li>
|
||||
<li><a href="#org20f30cf">3.1.1. Requirements</a></li>
|
||||
<li><a href="#org7bae01a">3.1.2. C header</a></li>
|
||||
<li><a href="#org1772f71">3.1.3. Source</a></li>
|
||||
<li><a href="#org5c79a45">3.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org7a57ad4">4. Rescaled Distance Derivatives</a>
|
||||
<li><a href="#org323a9ab">4. Rescaled Distance Derivatives</a>
|
||||
<ul>
|
||||
<li><a href="#org90caa60">4.1. <code>qmckl_distance_rescaled_deriv_e</code></a></li>
|
||||
<li><a href="#org675e412">4.1. <code>qmckl_distance_rescaled_deriv_e</code></a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgbd3903a" class="outline-2">
|
||||
<h2 id="orgbd3903a"><span class="section-number-2">1</span> Squared distance</h2>
|
||||
<div id="outline-container-orgb6a973a" class="outline-2">
|
||||
<h2 id="orgb6a973a"><span class="section-number-2">1</span> Squared distance</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
</div>
|
||||
<div id="outline-container-org642364c" class="outline-3">
|
||||
<h3 id="org642364c"><span class="section-number-3">1.1</span> <code>qmckl_distance_sq</code></h3>
|
||||
<div id="outline-container-org62e7d03" class="outline-3">
|
||||
<h3 id="org62e7d03"><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
|
||||
@ -393,7 +393,7 @@ between all pairs of points in two sets, one point within each set:
|
||||
\]
|
||||
</p>
|
||||
|
||||
<table id="org915e7d8" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orged399b8" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -659,8 +659,8 @@ Requirements:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org08747f6" class="outline-4">
|
||||
<h4 id="org08747f6"><span class="section-number-4">1.1.1</span> Performance</h4>
|
||||
<div id="outline-container-org556d41b" class="outline-4">
|
||||
<h4 id="org556d41b"><span class="section-number-4">1.1.1</span> Performance</h4>
|
||||
<div class="outline-text-4" id="text-1-1-1">
|
||||
<p>
|
||||
This function is more efficient when <code>A</code> and <code>B</code> are
|
||||
@ -670,12 +670,12 @@ transposed.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org91bbfde" class="outline-2">
|
||||
<h2 id="org91bbfde"><span class="section-number-2">2</span> Distance</h2>
|
||||
<div id="outline-container-orgc954a6a" class="outline-2">
|
||||
<h2 id="orgc954a6a"><span class="section-number-2">2</span> Distance</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-org1e0daa8" class="outline-3">
|
||||
<h3 id="org1e0daa8"><span class="section-number-3">2.1</span> <code>qmckl_distance</code></h3>
|
||||
<div id="outline-container-org52fdcef" class="outline-3">
|
||||
<h3 id="org52fdcef"><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
|
||||
@ -693,7 +693,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="org10c03f4" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org89e224c" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -794,8 +794,8 @@ the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortra
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1201492" class="outline-4">
|
||||
<h4 id="org1201492"><span class="section-number-4">2.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org4d29a2c" class="outline-4">
|
||||
<h4 id="org4d29a2c"><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>
|
||||
@ -813,8 +813,8 @@ the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortra
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org333f4f2" class="outline-4">
|
||||
<h4 id="org333f4f2"><span class="section-number-4">2.1.2</span> C header</h4>
|
||||
<div id="outline-container-org85b25a5" class="outline-4">
|
||||
<h4 id="org85b25a5"><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> (
|
||||
@ -834,8 +834,8 @@ the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortra
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgdb3fbfa" class="outline-4">
|
||||
<h4 id="orgdb3fbfa"><span class="section-number-4">2.1.3</span> Source</h4>
|
||||
<div id="outline-container-orgb831a75" class="outline-4">
|
||||
<h4 id="orgb831a75"><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>
|
||||
@ -1002,8 +1002,8 @@ the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortra
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga424619" class="outline-4">
|
||||
<h4 id="orga424619"><span class="section-number-4">2.1.4</span> Performance</h4>
|
||||
<div id="outline-container-org4af5719" class="outline-4">
|
||||
<h4 id="org4af5719"><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.
|
||||
@ -1013,12 +1013,12 @@ This function is more efficient when <code>A</code> and <code>B</code> are trans
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org49b321f" class="outline-2">
|
||||
<h2 id="org49b321f"><span class="section-number-2">3</span> Rescaled Distance</h2>
|
||||
<div id="outline-container-orgf641504" class="outline-2">
|
||||
<h2 id="orgf641504"><span class="section-number-2">3</span> Rescaled Distance</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
</div>
|
||||
<div id="outline-container-orgb83bc66" class="outline-3">
|
||||
<h3 id="orgb83bc66"><span class="section-number-3">3.1</span> <code>qmckl_distance_rescaled</code></h3>
|
||||
<div id="outline-container-orgf0dbd9b" class="outline-3">
|
||||
<h3 id="orgf0dbd9b"><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
|
||||
@ -1036,7 +1036,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="org1c66141" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org51489e7" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1144,8 +1144,8 @@ the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortra
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0baeed9" class="outline-4">
|
||||
<h4 id="org0baeed9"><span class="section-number-4">3.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org20f30cf" class="outline-4">
|
||||
<h4 id="org20f30cf"><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>
|
||||
@ -1163,8 +1163,8 @@ the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortra
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org875a650" class="outline-4">
|
||||
<h4 id="org875a650"><span class="section-number-4">3.1.2</span> C header</h4>
|
||||
<div id="outline-container-org7bae01a" class="outline-4">
|
||||
<h4 id="org7bae01a"><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> (
|
||||
@ -1185,8 +1185,8 @@ the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortra
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgcf297db" class="outline-4">
|
||||
<h4 id="orgcf297db"><span class="section-number-4">3.1.3</span> Source</h4>
|
||||
<div id="outline-container-org1772f71" class="outline-4">
|
||||
<h4 id="org1772f71"><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>
|
||||
@ -1356,8 +1356,8 @@ the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortra
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3ca1ea6" class="outline-4">
|
||||
<h4 id="org3ca1ea6"><span class="section-number-4">3.1.4</span> Performance</h4>
|
||||
<div id="outline-container-org5c79a45" class="outline-4">
|
||||
<h4 id="org5c79a45"><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.
|
||||
@ -1366,12 +1366,12 @@ This function is more efficient when <code>A</code> and <code>B</code> are trans
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org7a57ad4" class="outline-2">
|
||||
<h2 id="org7a57ad4"><span class="section-number-2">4</span> Rescaled Distance Derivatives</h2>
|
||||
<div id="outline-container-org323a9ab" class="outline-2">
|
||||
<h2 id="org323a9ab"><span class="section-number-2">4</span> Rescaled Distance Derivatives</h2>
|
||||
<div class="outline-text-2" id="text-4">
|
||||
</div>
|
||||
<div id="outline-container-org90caa60" class="outline-3">
|
||||
<h3 id="org90caa60"><span class="section-number-3">4.1</span> <code>qmckl_distance_rescaled_deriv_e</code></h3>
|
||||
<div id="outline-container-org675e412" class="outline-3">
|
||||
<h3 id="org675e412"><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
|
||||
@ -1438,7 +1438,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="org6cd4219" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org18f3f92" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1776,7 +1776,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: 2022-02-16 Wed 00:14</p>
|
||||
<p class="date">Created: 2022-02-16 Wed 18:41</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>
|
||||
<!-- 2022-02-16 Wed 00:15 -->
|
||||
<!-- 2022-02-16 Wed 18:41 -->
|
||||
<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,88 +333,88 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#orgb33b5ca">1. Context</a>
|
||||
<li><a href="#org92381be">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#orga781f3f">1.1. Data structure</a></li>
|
||||
<li><a href="#orga60793b">1.2. Access functions</a>
|
||||
<li><a href="#orgb052d87">1.1. Data structure</a></li>
|
||||
<li><a href="#orgeafa156">1.2. Access functions</a>
|
||||
<ul>
|
||||
<li><a href="#orgf51eaa7">1.2.1. Number of electrons</a></li>
|
||||
<li><a href="#orgbf00a5d">1.2.2. Number of walkers</a></li>
|
||||
<li><a href="#orgbecacee">1.2.3. Scaling factors Kappa</a></li>
|
||||
<li><a href="#orga63933e">1.2.4. Electron coordinates</a></li>
|
||||
<li><a href="#orge266ddb">1.2.1. Number of electrons</a></li>
|
||||
<li><a href="#orge55e256">1.2.2. Number of walkers</a></li>
|
||||
<li><a href="#orgfb8ba49">1.2.3. Scaling factors Kappa</a></li>
|
||||
<li><a href="#org49c590f">1.2.4. Electron coordinates</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org2865e1b">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org94ad2a4">1.4. Test</a></li>
|
||||
<li><a href="#org323c653">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org82b2e5a">1.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org4d7cd5c">2. Computation</a>
|
||||
<li><a href="#org3d98e21">2. Computation</a>
|
||||
<ul>
|
||||
<li><a href="#org2142c2a">2.1. Electron-electron distances</a>
|
||||
<li><a href="#org98cb669">2.1. Electron-electron distances</a>
|
||||
<ul>
|
||||
<li><a href="#org621bf48">2.1.1. Get</a></li>
|
||||
<li><a href="#org399585d">2.1.2. Compute</a></li>
|
||||
<li><a href="#orga396e91">2.1.3. Test</a></li>
|
||||
<li><a href="#org5536ddf">2.1.1. Get</a></li>
|
||||
<li><a href="#org7247883">2.1.2. Compute</a></li>
|
||||
<li><a href="#org7288958">2.1.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgb6e5f9d">2.2. Electron-electron rescaled distances</a>
|
||||
<li><a href="#org46fdb12">2.2. Electron-electron rescaled distances</a>
|
||||
<ul>
|
||||
<li><a href="#orgf0d3b32">2.2.1. Get</a></li>
|
||||
<li><a href="#org0c4f98b">2.2.2. Compute</a></li>
|
||||
<li><a href="#org01fe949">2.2.3. Test</a></li>
|
||||
<li><a href="#org24ad63a">2.2.1. Get</a></li>
|
||||
<li><a href="#org954bf9b">2.2.2. Compute</a></li>
|
||||
<li><a href="#org12e9d16">2.2.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgd7339f6">2.3. Electron-electron rescaled distance gradients and laplacian with respect to electron coords</a>
|
||||
<li><a href="#orga559ea8">2.3. Electron-electron rescaled distance gradients and laplacian with respect to electron coords</a>
|
||||
<ul>
|
||||
<li><a href="#org4e7c197">2.3.1. Get</a></li>
|
||||
<li><a href="#org2616ac7">2.3.2. Compute</a></li>
|
||||
<li><a href="#orga8b8edd">2.3.3. Test</a></li>
|
||||
<li><a href="#org7fba771">2.3.1. Get</a></li>
|
||||
<li><a href="#org128348e">2.3.2. Compute</a></li>
|
||||
<li><a href="#org81db63a">2.3.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org4cfc366">2.4. Electron-electron potential</a>
|
||||
<li><a href="#orgc6ee81b">2.4. Electron-electron potential</a>
|
||||
<ul>
|
||||
<li><a href="#org28db904">2.4.1. Get</a></li>
|
||||
<li><a href="#org5e157bf">2.4.2. Compute</a></li>
|
||||
<li><a href="#orga79f477">2.4.3. Test</a></li>
|
||||
<li><a href="#org1494c92">2.4.1. Get</a></li>
|
||||
<li><a href="#orgb81bd40">2.4.2. Compute</a></li>
|
||||
<li><a href="#orgfc2a2df">2.4.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgefd493a">2.5. Electron-nucleus distances</a>
|
||||
<li><a href="#org42c6915">2.5. Electron-nucleus distances</a>
|
||||
<ul>
|
||||
<li><a href="#org819d1cb">2.5.1. Get</a></li>
|
||||
<li><a href="#org0ad829d">2.5.2. Compute</a></li>
|
||||
<li><a href="#orge01d028">2.5.3. Test</a></li>
|
||||
<li><a href="#orgd2dadef">2.5.1. Get</a></li>
|
||||
<li><a href="#org9dcb2df">2.5.2. Compute</a></li>
|
||||
<li><a href="#orgd186707">2.5.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgc320b16">2.6. Electron-nucleus rescaled distances</a>
|
||||
<li><a href="#org492410e">2.6. Electron-nucleus rescaled distances</a>
|
||||
<ul>
|
||||
<li><a href="#orgf1efcff">2.6.1. Get</a></li>
|
||||
<li><a href="#org50305b2">2.6.2. Compute</a></li>
|
||||
<li><a href="#org4fdae7e">2.6.3. Test</a></li>
|
||||
<li><a href="#org3a7321e">2.6.1. Get</a></li>
|
||||
<li><a href="#org9824688">2.6.2. Compute</a></li>
|
||||
<li><a href="#org7a67181">2.6.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org2183e27">2.7. Electron-nucleus rescaled distance gradients and laplacian with respect to electron coords</a>
|
||||
<li><a href="#org2c93fea">2.7. Electron-nucleus rescaled distance gradients and laplacian with respect to electron coords</a>
|
||||
<ul>
|
||||
<li><a href="#org7658177">2.7.1. Get</a></li>
|
||||
<li><a href="#org7ab220c">2.7.2. Compute</a></li>
|
||||
<li><a href="#org2256b8d">2.7.3. Test</a></li>
|
||||
<li><a href="#org168306b">2.7.1. Get</a></li>
|
||||
<li><a href="#orga5e70c1">2.7.2. Compute</a></li>
|
||||
<li><a href="#org1d3efed">2.7.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgb43b217">2.8. Electron-nucleus potential</a>
|
||||
<li><a href="#orgcd42db1">2.8. Electron-nucleus potential</a>
|
||||
<ul>
|
||||
<li><a href="#org4368dc3">2.8.1. Get</a></li>
|
||||
<li><a href="#org6bc9a96">2.8.2. Compute</a></li>
|
||||
<li><a href="#orgdd512bf">2.8.3. Test</a></li>
|
||||
<li><a href="#org869f9bc">2.8.1. Get</a></li>
|
||||
<li><a href="#org77da211">2.8.2. Compute</a></li>
|
||||
<li><a href="#org9786a8f">2.8.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org45b6f5a">2.9. Generate initial coordinates</a></li>
|
||||
<li><a href="#org13c9f02">2.9. Generate initial coordinates</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb33b5ca" class="outline-2">
|
||||
<h2 id="orgb33b5ca"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-org92381be" class="outline-2">
|
||||
<h2 id="org92381be"><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:
|
||||
@ -627,8 +627,8 @@ Computed data:
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga781f3f" class="outline-3">
|
||||
<h3 id="orga781f3f"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-orgb052d87" class="outline-3">
|
||||
<h3 id="orgb052d87"><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> {
|
||||
@ -707,8 +707,8 @@ this mechanism.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga60793b" class="outline-3">
|
||||
<h3 id="orga60793b"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div id="outline-container-orgeafa156" class="outline-3">
|
||||
<h3 id="orgeafa156"><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
|
||||
@ -720,12 +720,12 @@ contains the requested data. Otherwise, this variable is untouched.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf51eaa7" class="outline-4">
|
||||
<h4 id="orgf51eaa7"><span class="section-number-4">1.2.1</span> Number of electrons</h4>
|
||||
<div id="outline-container-orge266ddb" class="outline-4">
|
||||
<h4 id="orge266ddb"><span class="section-number-4">1.2.1</span> Number of electrons</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgbf00a5d" class="outline-4">
|
||||
<h4 id="orgbf00a5d"><span class="section-number-4">1.2.2</span> Number of walkers</h4>
|
||||
<div id="outline-container-orge55e256" class="outline-4">
|
||||
<h4 id="orge55e256"><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
|
||||
@ -734,12 +734,12 @@ the wave function. <code>walk_num</code> is the number of walkers.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgbecacee" class="outline-4">
|
||||
<h4 id="orgbecacee"><span class="section-number-4">1.2.3</span> Scaling factors Kappa</h4>
|
||||
<div id="outline-container-orgfb8ba49" class="outline-4">
|
||||
<h4 id="orgfb8ba49"><span class="section-number-4">1.2.3</span> Scaling factors Kappa</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga63933e" class="outline-4">
|
||||
<h4 id="orga63933e"><span class="section-number-4">1.2.4</span> Electron coordinates</h4>
|
||||
<div id="outline-container-org49c590f" class="outline-4">
|
||||
<h4 id="org49c590f"><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
|
||||
@ -789,8 +789,8 @@ returning the current points.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2865e1b" class="outline-3">
|
||||
<h3 id="org2865e1b"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-org323c653" class="outline-3">
|
||||
<h3 id="org323c653"><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
|
||||
@ -884,8 +884,8 @@ in the context.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org94ad2a4" class="outline-3">
|
||||
<h3 id="org94ad2a4"><span class="section-number-3">1.4</span> Test</h3>
|
||||
<div id="outline-container-org82b2e5a" class="outline-3">
|
||||
<h3 id="org82b2e5a"><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>*/
|
||||
@ -992,8 +992,8 @@ rc = qmckl_get_electron_coord (context, <span style="color: #8b2252;">'N'</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4d7cd5c" class="outline-2">
|
||||
<h2 id="org4d7cd5c"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div id="outline-container-org3d98e21" class="outline-2">
|
||||
<h2 id="org3d98e21"><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
|
||||
@ -1006,12 +1006,12 @@ current date is stored.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2142c2a" class="outline-3">
|
||||
<h3 id="org2142c2a"><span class="section-number-3">2.1</span> Electron-electron distances</h3>
|
||||
<div id="outline-container-org98cb669" class="outline-3">
|
||||
<h3 id="org98cb669"><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-org621bf48" class="outline-4">
|
||||
<h4 id="org621bf48"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div id="outline-container-org5536ddf" class="outline-4">
|
||||
<h4 id="org5536ddf"><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>);
|
||||
@ -1020,10 +1020,10 @@ current date is stored.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org399585d" class="outline-4">
|
||||
<h4 id="org399585d"><span class="section-number-4">2.1.2</span> Compute</h4>
|
||||
<div id="outline-container-org7247883" class="outline-4">
|
||||
<h4 id="org7247883"><span class="section-number-4">2.1.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-1-2">
|
||||
<table id="org8db912a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgdee19f9" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1128,8 +1128,8 @@ current date is stored.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga396e91" class="outline-4">
|
||||
<h4 id="orga396e91"><span class="section-number-4">2.1.3</span> Test</h4>
|
||||
<div id="outline-container-org7288958" class="outline-4">
|
||||
<h4 id="org7288958"><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>));
|
||||
@ -1163,8 +1163,8 @@ rc = qmckl_get_electron_ee_distance(context, ee_distance);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb6e5f9d" class="outline-3">
|
||||
<h3 id="orgb6e5f9d"><span class="section-number-3">2.2</span> Electron-electron rescaled distances</h3>
|
||||
<div id="outline-container-org46fdb12" class="outline-3">
|
||||
<h3 id="org46fdb12"><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
|
||||
@ -1182,8 +1182,8 @@ where \(C_{ij}\) is the matrix of electron-electron distances.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf0d3b32" class="outline-4">
|
||||
<h4 id="orgf0d3b32"><span class="section-number-4">2.2.1</span> Get</h4>
|
||||
<div id="outline-container-org24ad63a" class="outline-4">
|
||||
<h4 id="org24ad63a"><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>);
|
||||
@ -1192,10 +1192,10 @@ where \(C_{ij}\) is the matrix of electron-electron distances.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0c4f98b" class="outline-4">
|
||||
<h4 id="org0c4f98b"><span class="section-number-4">2.2.2</span> Compute</h4>
|
||||
<div id="outline-container-org954bf9b" class="outline-4">
|
||||
<h4 id="org954bf9b"><span class="section-number-4">2.2.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-2-2">
|
||||
<table id="orgc9d2f27" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org609a619" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1308,8 +1308,8 @@ where \(C_{ij}\) is the matrix of electron-electron distances.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org01fe949" class="outline-4">
|
||||
<h4 id="org01fe949"><span class="section-number-4">2.2.3</span> Test</h4>
|
||||
<div id="outline-container-org12e9d16" class="outline-4">
|
||||
<h4 id="org12e9d16"><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>));
|
||||
@ -1343,8 +1343,8 @@ rc = qmckl_get_electron_ee_distance_rescaled(context, ee_distance_rescaled);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd7339f6" class="outline-3">
|
||||
<h3 id="orgd7339f6"><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-orga559ea8" class="outline-3">
|
||||
<h3 id="orga559ea8"><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\)
|
||||
@ -1356,8 +1356,8 @@ gives the Laplacian \(\partial x^2 + \partial y^2 + \partial z^2\).
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4e7c197" class="outline-4">
|
||||
<h4 id="org4e7c197"><span class="section-number-4">2.3.1</span> Get</h4>
|
||||
<div id="outline-container-org7fba771" class="outline-4">
|
||||
<h4 id="org7fba771"><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>);
|
||||
@ -1366,10 +1366,10 @@ gives the Laplacian \(\partial x^2 + \partial y^2 + \partial z^2\).
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2616ac7" class="outline-4">
|
||||
<h4 id="org2616ac7"><span class="section-number-4">2.3.2</span> Compute</h4>
|
||||
<div id="outline-container-org128348e" class="outline-4">
|
||||
<h4 id="org128348e"><span class="section-number-4">2.3.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-3-2">
|
||||
<table id="org3aa84cd" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgb1222b4" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1482,8 +1482,8 @@ gives the Laplacian \(\partial x^2 + \partial y^2 + \partial z^2\).
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga8b8edd" class="outline-4">
|
||||
<h4 id="orga8b8edd"><span class="section-number-4">2.3.3</span> Test</h4>
|
||||
<div id="outline-container-org81db63a" class="outline-4">
|
||||
<h4 id="org81db63a"><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>));
|
||||
@ -1518,8 +1518,8 @@ rc = qmckl_get_electron_ee_distance_rescaled_deriv_e(context, ee_distance_rescal
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4cfc366" class="outline-3">
|
||||
<h3 id="org4cfc366"><span class="section-number-3">2.4</span> Electron-electron potential</h3>
|
||||
<div id="outline-container-orgc6ee81b" class="outline-3">
|
||||
<h3 id="orgc6ee81b"><span class="section-number-3">2.4</span> Electron-electron potential</h3>
|
||||
<div class="outline-text-3" id="text-2-4">
|
||||
<p>
|
||||
<code>ee_pot</code> calculates the <code>ee</code> potential energy.
|
||||
@ -1537,8 +1537,8 @@ distance.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org28db904" class="outline-4">
|
||||
<h4 id="org28db904"><span class="section-number-4">2.4.1</span> Get</h4>
|
||||
<div id="outline-container-org1494c92" class="outline-4">
|
||||
<h4 id="org1494c92"><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_ee_potential</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;">ee_pot</span>);
|
||||
@ -1547,10 +1547,10 @@ distance.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5e157bf" class="outline-4">
|
||||
<h4 id="org5e157bf"><span class="section-number-4">2.4.2</span> Compute</h4>
|
||||
<div id="outline-container-orgb81bd40" class="outline-4">
|
||||
<h4 id="orgb81bd40"><span class="section-number-4">2.4.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-4-2">
|
||||
<table id="orgcf9417a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org79fc6c2" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1666,8 +1666,8 @@ distance.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga79f477" class="outline-4">
|
||||
<h4 id="orga79f477"><span class="section-number-4">2.4.3</span> Test</h4>
|
||||
<div id="outline-container-orgfc2a2df" class="outline-4">
|
||||
<h4 id="orgfc2a2df"><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: #228b22;">double</span> <span style="color: #a0522d;">ee_pot</span>[walk_num];
|
||||
@ -1679,12 +1679,12 @@ rc = qmckl_get_electron_ee_potential(context, &(ee_pot[0]));
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgefd493a" class="outline-3">
|
||||
<h3 id="orgefd493a"><span class="section-number-3">2.5</span> Electron-nucleus distances</h3>
|
||||
<div id="outline-container-org42c6915" class="outline-3">
|
||||
<h3 id="org42c6915"><span class="section-number-3">2.5</span> Electron-nucleus distances</h3>
|
||||
<div class="outline-text-3" id="text-2-5">
|
||||
</div>
|
||||
<div id="outline-container-org819d1cb" class="outline-4">
|
||||
<h4 id="org819d1cb"><span class="section-number-4">2.5.1</span> Get</h4>
|
||||
<div id="outline-container-orgd2dadef" class="outline-4">
|
||||
<h4 id="orgd2dadef"><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</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>);
|
||||
@ -1693,10 +1693,10 @@ rc = qmckl_get_electron_ee_potential(context, &(ee_pot[0]));
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0ad829d" class="outline-4">
|
||||
<h4 id="org0ad829d"><span class="section-number-4">2.5.2</span> Compute</h4>
|
||||
<div id="outline-container-org9dcb2df" class="outline-4">
|
||||
<h4 id="org9dcb2df"><span class="section-number-4">2.5.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-5-2">
|
||||
<table id="org43e007b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgc27825a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1821,8 +1821,8 @@ rc = qmckl_get_electron_ee_potential(context, &(ee_pot[0]));
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge01d028" class="outline-4">
|
||||
<h4 id="orge01d028"><span class="section-number-4">2.5.3</span> Test</h4>
|
||||
<div id="outline-container-orgd186707" class="outline-4">
|
||||
<h4 id="orgd186707"><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">
|
||||
@ -1870,8 +1870,8 @@ rc = qmckl_get_electron_en_distance(context, &(en_distance[0][0][0]));
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc320b16" class="outline-3">
|
||||
<h3 id="orgc320b16"><span class="section-number-3">2.6</span> Electron-nucleus rescaled distances</h3>
|
||||
<div id="outline-container-org492410e" class="outline-3">
|
||||
<h3 id="org492410e"><span class="section-number-3">2.6</span> Electron-nucleus rescaled distances</h3>
|
||||
<div class="outline-text-3" id="text-2-6">
|
||||
<p>
|
||||
<code>en_distance_rescaled</code> stores the matrix of the rescaled distances between
|
||||
@ -1889,8 +1889,8 @@ where \(C_{ij}\) is the matrix of electron-nucleus distances.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf1efcff" class="outline-4">
|
||||
<h4 id="orgf1efcff"><span class="section-number-4">2.6.1</span> Get</h4>
|
||||
<div id="outline-container-org3a7321e" class="outline-4">
|
||||
<h4 id="org3a7321e"><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</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>);
|
||||
@ -1900,10 +1900,10 @@ where \(C_{ij}\) is the matrix of electron-nucleus distances.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org50305b2" class="outline-4">
|
||||
<h4 id="org50305b2"><span class="section-number-4">2.6.2</span> Compute</h4>
|
||||
<div id="outline-container-org9824688" class="outline-4">
|
||||
<h4 id="org9824688"><span class="section-number-4">2.6.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-6-2">
|
||||
<table id="org354fe0c" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgb59f66c" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2043,8 +2043,8 @@ where \(C_{ij}\) is the matrix of electron-nucleus distances.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4fdae7e" class="outline-4">
|
||||
<h4 id="org4fdae7e"><span class="section-number-4">2.6.3</span> Test</h4>
|
||||
<div id="outline-container-org7a67181" class="outline-4">
|
||||
<h4 id="org7a67181"><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">
|
||||
@ -2092,8 +2092,8 @@ rc = qmckl_get_electron_en_distance_rescaled(context, &(en_distance_rescaled
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2183e27" class="outline-3">
|
||||
<h3 id="org2183e27"><span class="section-number-3">2.7</span> Electron-nucleus rescaled distance gradients and laplacian with respect to electron coords</h3>
|
||||
<div id="outline-container-org2c93fea" class="outline-3">
|
||||
<h3 id="org2c93fea"><span class="section-number-3">2.7</span> Electron-nucleus rescaled distance gradients and laplacian with respect to electron coords</h3>
|
||||
<div class="outline-text-3" id="text-2-7">
|
||||
<p>
|
||||
The rescaled distances which is given as \(R = (1 - \exp{-\kappa r})/\kappa\)
|
||||
@ -2105,8 +2105,8 @@ gives the Laplacian \(\partial x^2 + \partial y^2 + \partial z^2\).
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7658177" class="outline-4">
|
||||
<h4 id="org7658177"><span class="section-number-4">2.7.1</span> Get</h4>
|
||||
<div id="outline-container-org168306b" class="outline-4">
|
||||
<h4 id="org168306b"><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_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>);
|
||||
@ -2115,10 +2115,10 @@ gives the Laplacian \(\partial x^2 + \partial y^2 + \partial z^2\).
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7ab220c" class="outline-4">
|
||||
<h4 id="org7ab220c"><span class="section-number-4">2.7.2</span> Compute</h4>
|
||||
<div id="outline-container-orga5e70c1" class="outline-4">
|
||||
<h4 id="orga5e70c1"><span class="section-number-4">2.7.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-7-2">
|
||||
<table id="org3d27d41" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org3a408ef" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2259,8 +2259,8 @@ gives the Laplacian \(\partial x^2 + \partial y^2 + \partial z^2\).
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2256b8d" class="outline-4">
|
||||
<h4 id="org2256b8d"><span class="section-number-4">2.7.3</span> Test</h4>
|
||||
<div id="outline-container-org1d3efed" class="outline-4">
|
||||
<h4 id="org1d3efed"><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">
|
||||
@ -2312,8 +2312,8 @@ rc = qmckl_get_electron_en_distance_rescaled_deriv_e(context, &(en_distance_
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb43b217" class="outline-3">
|
||||
<h3 id="orgb43b217"><span class="section-number-3">2.8</span> Electron-nucleus potential</h3>
|
||||
<div id="outline-container-orgcd42db1" class="outline-3">
|
||||
<h3 id="orgcd42db1"><span class="section-number-3">2.8</span> Electron-nucleus potential</h3>
|
||||
<div class="outline-text-3" id="text-2-8">
|
||||
<p>
|
||||
<code>en_potential</code> stores the <code>en</code> potential energy
|
||||
@ -2331,8 +2331,8 @@ distance and \[Z_A\] is the nuclear charge.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4368dc3" class="outline-4">
|
||||
<h4 id="org4368dc3"><span class="section-number-4">2.8.1</span> Get</h4>
|
||||
<div id="outline-container-org869f9bc" class="outline-4">
|
||||
<h4 id="org869f9bc"><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_electron_en_potential</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;">en_pot</span>);
|
||||
@ -2341,10 +2341,10 @@ distance and \[Z_A\] is the nuclear charge.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6bc9a96" class="outline-4">
|
||||
<h4 id="org6bc9a96"><span class="section-number-4">2.8.2</span> Compute</h4>
|
||||
<div id="outline-container-org77da211" class="outline-4">
|
||||
<h4 id="org77da211"><span class="section-number-4">2.8.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-8-2">
|
||||
<table id="orgc975cd8" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgb4639f4" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2478,8 +2478,8 @@ distance and \[Z_A\] is the nuclear charge.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgdd512bf" class="outline-4">
|
||||
<h4 id="orgdd512bf"><span class="section-number-4">2.8.3</span> Test</h4>
|
||||
<div id="outline-container-org9786a8f" class="outline-4">
|
||||
<h4 id="org9786a8f"><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: #228b22;">double</span> <span style="color: #a0522d;">en_pot</span>[walk_num];
|
||||
@ -2492,14 +2492,14 @@ rc = qmckl_get_electron_en_potential(context, &(en_pot[0]));
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org45b6f5a" class="outline-3">
|
||||
<h3 id="org45b6f5a"><span class="section-number-3">2.9</span> Generate initial coordinates</h3>
|
||||
<div id="outline-container-org13c9f02" class="outline-3">
|
||||
<h3 id="org13c9f02"><span class="section-number-3">2.9</span> Generate initial coordinates</h3>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2022-02-16 Wed 00:15</p>
|
||||
<p class="date">Created: 2022-02-16 Wed 18:41</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>
|
||||
<!-- 2022-02-16 Wed 00:15 -->
|
||||
<!-- 2022-02-16 Wed 18:41 -->
|
||||
<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="#org38cf99d">1. Decoding errors</a></li>
|
||||
<li><a href="#org811818a">2. Data structure in context</a></li>
|
||||
<li><a href="#org9e6a93c">3. Updating errors in the context</a></li>
|
||||
<li><a href="#org70b72c5">4. Get the error</a></li>
|
||||
<li><a href="#org73e525d">5. Failing</a></li>
|
||||
<li><a href="#orga73e089">1. Decoding errors</a></li>
|
||||
<li><a href="#orgf593ace">2. Data structure in context</a></li>
|
||||
<li><a href="#org422a798">3. Updating errors in the context</a></li>
|
||||
<li><a href="#orge6243c9">4. Get the error</a></li>
|
||||
<li><a href="#org84c163e">5. Failing</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org38cf99d" class="outline-2">
|
||||
<h2 id="org38cf99d"><span class="section-number-2">1</span> Decoding errors</h2>
|
||||
<div id="outline-container-orga73e089" class="outline-2">
|
||||
<h2 id="orga73e089"><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-org811818a" class="outline-2">
|
||||
<h2 id="org811818a"><span class="section-number-2">2</span> Data structure in context</h2>
|
||||
<div id="outline-container-orgf593ace" class="outline-2">
|
||||
<h2 id="orgf593ace"><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-org9e6a93c" class="outline-2">
|
||||
<h2 id="org9e6a93c"><span class="section-number-2">3</span> Updating errors in the context</h2>
|
||||
<div id="outline-container-org422a798" class="outline-2">
|
||||
<h2 id="org422a798"><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-org70b72c5" class="outline-2">
|
||||
<h2 id="org70b72c5"><span class="section-number-2">4</span> Get the error</h2>
|
||||
<div id="outline-container-orge6243c9" class="outline-2">
|
||||
<h2 id="orge6243c9"><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
|
||||
@ -575,8 +575,8 @@ function name and message is mandatory.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org73e525d" class="outline-2">
|
||||
<h2 id="org73e525d"><span class="section-number-2">5</span> Failing</h2>
|
||||
<div id="outline-container-org84c163e" class="outline-2">
|
||||
<h2 id="org84c163e"><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
|
||||
@ -639,7 +639,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: 2022-02-16 Wed 00:15</p>
|
||||
<p class="date">Created: 2022-02-16 Wed 18:41</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>
|
||||
<!-- 2022-02-16 Wed 00:15 -->
|
||||
<!-- 2022-02-16 Wed 18:41 -->
|
||||
<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,105 +333,105 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#org6ccfe53">1. Introduction</a></li>
|
||||
<li><a href="#org624bc39">2. Context</a>
|
||||
<li><a href="#org8b0aee7">1. Introduction</a></li>
|
||||
<li><a href="#orgda47a53">2. Context</a>
|
||||
<ul>
|
||||
<li><a href="#org2a84932">2.1. Data structure</a></li>
|
||||
<li><a href="#orgef7445c">2.2. Access functions</a></li>
|
||||
<li><a href="#org02115fe">2.3. Initialization functions</a></li>
|
||||
<li><a href="#org5c41e99">2.4. Test</a></li>
|
||||
<li><a href="#org15ed6af">2.1. Data structure</a></li>
|
||||
<li><a href="#org31bf22e">2.2. Access functions</a></li>
|
||||
<li><a href="#org54ba020">2.3. Initialization functions</a></li>
|
||||
<li><a href="#orgf9a1d7d">2.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org6de297c">3. Computation</a>
|
||||
<li><a href="#orgda0c2bf">3. Computation</a>
|
||||
<ul>
|
||||
<li><a href="#orge81b4de">3.1. Asymptotic component for \(J_{ee}\)</a>
|
||||
<li><a href="#org3d0fed0">3.1. Asymptotic component for \(J_{ee}\)</a>
|
||||
<ul>
|
||||
<li><a href="#orgdedbe1d">3.1.1. Get</a></li>
|
||||
<li><a href="#orga0ae2e4">3.1.2. Compute</a></li>
|
||||
<li><a href="#orgc409c95">3.1.3. Test</a></li>
|
||||
<li><a href="#orgd3dda0d">3.1.1. Get</a></li>
|
||||
<li><a href="#org1be9f9a">3.1.2. Compute</a></li>
|
||||
<li><a href="#org5aed389">3.1.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org4d8764f">3.2. Electron-electron component \(f_{ee}\)</a>
|
||||
<li><a href="#org273f040">3.2. Electron-electron component \(f_{ee}\)</a>
|
||||
<ul>
|
||||
<li><a href="#orgb0090c5">3.2.1. Get</a></li>
|
||||
<li><a href="#org6443cc7">3.2.2. Compute</a></li>
|
||||
<li><a href="#orgfe980c0">3.2.3. Test</a></li>
|
||||
<li><a href="#org8476914">3.2.1. Get</a></li>
|
||||
<li><a href="#orgb7b3731">3.2.2. Compute</a></li>
|
||||
<li><a href="#org56d3874">3.2.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org17f4171">3.3. Electron-electron component derivative \(f'_{ee}\)</a>
|
||||
<li><a href="#org67c6c8a">3.3. Electron-electron component derivative \(f'_{ee}\)</a>
|
||||
<ul>
|
||||
<li><a href="#org0c4316e">3.3.1. Get</a></li>
|
||||
<li><a href="#org430d0e1">3.3.2. Compute</a></li>
|
||||
<li><a href="#orgd7daff4">3.3.3. Test</a></li>
|
||||
<li><a href="#orgabebd3b">3.3.1. Get</a></li>
|
||||
<li><a href="#org438c944">3.3.2. Compute</a></li>
|
||||
<li><a href="#org9812315">3.3.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org1e1ae57">3.4. Electron-nucleus component \(f_{en}\)</a>
|
||||
<li><a href="#org7c210ad">3.4. Electron-nucleus component \(f_{en}\)</a>
|
||||
<ul>
|
||||
<li><a href="#org96ae1f5">3.4.1. Get</a></li>
|
||||
<li><a href="#org075f503">3.4.2. Compute</a></li>
|
||||
<li><a href="#orge25f231">3.4.3. Test</a></li>
|
||||
<li><a href="#org200705b">3.4.1. Get</a></li>
|
||||
<li><a href="#org37c904f">3.4.2. Compute</a></li>
|
||||
<li><a href="#org803d837">3.4.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgf7e1444">3.5. Electron-nucleus component derivative \(f'_{en}\)</a>
|
||||
<li><a href="#org464732f">3.5. Electron-nucleus component derivative \(f'_{en}\)</a>
|
||||
<ul>
|
||||
<li><a href="#org47002ed">3.5.1. Get</a></li>
|
||||
<li><a href="#orgcb76bb6">3.5.2. Compute</a></li>
|
||||
<li><a href="#org9141b17">3.5.3. Test</a></li>
|
||||
<li><a href="#org248f6b9">3.5.1. Get</a></li>
|
||||
<li><a href="#org4c7923e">3.5.2. Compute</a></li>
|
||||
<li><a href="#org6ba4677">3.5.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgede6b23">3.6. Electron-electron rescaled distances for each order</a>
|
||||
<li><a href="#org9905d5c">3.6. Electron-electron rescaled distances for each order</a>
|
||||
<ul>
|
||||
<li><a href="#org095280f">3.6.1. Get</a></li>
|
||||
<li><a href="#org0bf32dd">3.6.2. Compute</a></li>
|
||||
<li><a href="#org20e7fb8">3.6.3. Test</a></li>
|
||||
<li><a href="#org2fac51b">3.6.1. Get</a></li>
|
||||
<li><a href="#org091f97a">3.6.2. Compute</a></li>
|
||||
<li><a href="#orgf4b83f0">3.6.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgba52e11">3.7. Electron-electron rescaled distances for each order and derivatives</a>
|
||||
<li><a href="#orgd5f12bc">3.7. Electron-electron rescaled distances for each order and derivatives</a>
|
||||
<ul>
|
||||
<li><a href="#org000a9b4">3.7.1. Get</a></li>
|
||||
<li><a href="#orgd213006">3.7.2. Compute</a></li>
|
||||
<li><a href="#org4a45ae2">3.7.3. Test</a></li>
|
||||
<li><a href="#orgbefbd51">3.7.1. Get</a></li>
|
||||
<li><a href="#orgc4cfb25">3.7.2. Compute</a></li>
|
||||
<li><a href="#org48f1883">3.7.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org0b50bd9">3.8. Electron-nucleus rescaled distances for each order</a>
|
||||
<li><a href="#org3a2ee71">3.8. Electron-nucleus rescaled distances for each order</a>
|
||||
<ul>
|
||||
<li><a href="#org42fc81d">3.8.1. Get</a></li>
|
||||
<li><a href="#orgad619d3">3.8.2. Compute</a></li>
|
||||
<li><a href="#org195f050">3.8.3. Test</a></li>
|
||||
<li><a href="#orgc978327">3.8.1. Get</a></li>
|
||||
<li><a href="#org77e1938">3.8.2. Compute</a></li>
|
||||
<li><a href="#org7a373ce">3.8.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgfeca986">3.9. Electron-nucleus rescaled distances for each order and derivatives</a>
|
||||
<li><a href="#orgda5e0a7">3.9. Electron-nucleus rescaled distances for each order and derivatives</a>
|
||||
<ul>
|
||||
<li><a href="#org293ecf1">3.9.1. Get</a></li>
|
||||
<li><a href="#org6567ad4">3.9.2. Compute</a></li>
|
||||
<li><a href="#orgf35155a">3.9.3. Test</a></li>
|
||||
<li><a href="#org815373f">3.9.1. Get</a></li>
|
||||
<li><a href="#org310af4c">3.9.2. Compute</a></li>
|
||||
<li><a href="#org0a0e3cf">3.9.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org66f260a">3.10. Prepare for electron-electron-nucleus Jastrow \(f_{een}\)</a>
|
||||
<li><a href="#org69787bd">3.10. Prepare for electron-electron-nucleus Jastrow \(f_{een}\)</a>
|
||||
<ul>
|
||||
<li><a href="#org582a416">3.10.1. Get</a></li>
|
||||
<li><a href="#orgca29026">3.10.2. Compute dim<sub>cord</sub><sub>vect</sub></a></li>
|
||||
<li><a href="#org9688c4b">3.10.3. Compute cord<sub>vect</sub><sub>full</sub></a></li>
|
||||
<li><a href="#orgca18c92">3.10.4. Compute lkpm<sub>combined</sub><sub>index</sub></a></li>
|
||||
<li><a href="#orge0b8aba">3.10.5. Compute tmp<sub>c</sub></a></li>
|
||||
<li><a href="#orgc22f909">3.10.6. Compute dtmp<sub>c</sub></a></li>
|
||||
<li><a href="#org1378507">3.10.7. Test</a></li>
|
||||
<li><a href="#orgafec43d">3.10.1. Get</a></li>
|
||||
<li><a href="#org29a32fb">3.10.2. Compute dim<sub>cord</sub><sub>vect</sub></a></li>
|
||||
<li><a href="#org34d0d90">3.10.3. Compute cord<sub>vect</sub><sub>full</sub></a></li>
|
||||
<li><a href="#org04ebf73">3.10.4. Compute lkpm<sub>combined</sub><sub>index</sub></a></li>
|
||||
<li><a href="#org24d1d9e">3.10.5. Compute tmp<sub>c</sub></a></li>
|
||||
<li><a href="#orgea6f95f">3.10.6. Compute dtmp<sub>c</sub></a></li>
|
||||
<li><a href="#org6689299">3.10.7. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org52ee5f7">3.11. Electron-electron-nucleus Jastrow \(f_{een}\)</a>
|
||||
<li><a href="#orgc02c43c">3.11. Electron-electron-nucleus Jastrow \(f_{een}\)</a>
|
||||
<ul>
|
||||
<li><a href="#org9e11d37">3.11.1. Get</a></li>
|
||||
<li><a href="#org6dba1cc">3.11.2. Compute naive</a></li>
|
||||
<li><a href="#org5522cb6">3.11.3. Compute</a></li>
|
||||
<li><a href="#org1e42591">3.11.4. Test</a></li>
|
||||
<li><a href="#org4f78ab4">3.11.1. Get</a></li>
|
||||
<li><a href="#org1bd0de4">3.11.2. Compute naive</a></li>
|
||||
<li><a href="#org095d042">3.11.3. Compute</a></li>
|
||||
<li><a href="#org322fb92">3.11.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org08c6382">3.12. Electron-electron-nucleus Jastrow \(f_{een}\) derivative</a>
|
||||
<li><a href="#org06e804a">3.12. Electron-electron-nucleus Jastrow \(f_{een}\) derivative</a>
|
||||
<ul>
|
||||
<li><a href="#orge0a661e">3.12.1. Get</a></li>
|
||||
<li><a href="#org56abaf7">3.12.2. Compute Naive</a></li>
|
||||
<li><a href="#orgc8ea539">3.12.3. Compute</a></li>
|
||||
<li><a href="#org97696a3">3.12.4. Test</a></li>
|
||||
<li><a href="#orgec2444c">3.12.1. Get</a></li>
|
||||
<li><a href="#org28afc0c">3.12.2. Compute Naive</a></li>
|
||||
<li><a href="#orgc266149">3.12.3. Compute</a></li>
|
||||
<li><a href="#org9b2c708">3.12.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@ -440,8 +440,8 @@ for the JavaScript code in this tag.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6ccfe53" class="outline-2">
|
||||
<h2 id="org6ccfe53"><span class="section-number-2">1</span> Introduction</h2>
|
||||
<div id="outline-container-org8b0aee7" class="outline-2">
|
||||
<h2 id="org8b0aee7"><span class="section-number-2">1</span> Introduction</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
The Jastrow factor depends on the electronic (\(\mathbf{r}\)) and
|
||||
@ -523,14 +523,14 @@ The terms \(J_{\text{ee}}^\infty\) and \(J_{\text{eN}}^\infty\) are shifts to en
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org624bc39" class="outline-2">
|
||||
<h2 id="org624bc39"><span class="section-number-2">2</span> Context</h2>
|
||||
<div id="outline-container-orgda47a53" class="outline-2">
|
||||
<h2 id="orgda47a53"><span class="section-number-2">2</span> Context</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
<p>
|
||||
The following data stored in the context:
|
||||
</p>
|
||||
|
||||
<table id="orgd7f904c" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org4fe4190" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -855,8 +855,8 @@ computed data:
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2a84932" class="outline-3">
|
||||
<h3 id="org2a84932"><span class="section-number-3">2.1</span> Data structure</h3>
|
||||
<div id="outline-container-org15ed6af" class="outline-3">
|
||||
<h3 id="org15ed6af"><span class="section-number-3">2.1</span> Data structure</h3>
|
||||
<div class="outline-text-3" id="text-2-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>{
|
||||
@ -943,8 +943,8 @@ this mechanism.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgef7445c" class="outline-3">
|
||||
<h3 id="orgef7445c"><span class="section-number-3">2.2</span> Access functions</h3>
|
||||
<div id="outline-container-org31bf22e" class="outline-3">
|
||||
<h3 id="org31bf22e"><span class="section-number-3">2.2</span> Access functions</h3>
|
||||
<div class="outline-text-3" id="text-2-2">
|
||||
<p>
|
||||
Along with these core functions, calculation of the jastrow factor
|
||||
@ -964,8 +964,8 @@ function returns <code>true</code>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org02115fe" class="outline-3">
|
||||
<h3 id="org02115fe"><span class="section-number-3">2.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-org54ba020" class="outline-3">
|
||||
<h3 id="org54ba020"><span class="section-number-3">2.3</span> Initialization functions</h3>
|
||||
<div class="outline-text-3" id="text-2-3">
|
||||
<p>
|
||||
To prepare for the Jastrow and its derivative, all the following functions need to be
|
||||
@ -990,8 +990,8 @@ are precontracted using BLAS LEVEL 3 operations for an optimal flop count.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5c41e99" class="outline-3">
|
||||
<h3 id="org5c41e99"><span class="section-number-3">2.4</span> Test</h3>
|
||||
<div id="outline-container-orgf9a1d7d" class="outline-3">
|
||||
<h3 id="orgf9a1d7d"><span class="section-number-3">2.4</span> Test</h3>
|
||||
<div class="outline-text-3" id="text-2-4">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">/* <span style="color: #b22222;">Reference input data </span>*/
|
||||
@ -1167,8 +1167,8 @@ rc = qmckl_get_nucleus_charge(context, nucl_charge2, nucl_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6de297c" class="outline-2">
|
||||
<h2 id="org6de297c"><span class="section-number-2">3</span> Computation</h2>
|
||||
<div id="outline-container-orgda0c2bf" class="outline-2">
|
||||
<h2 id="orgda0c2bf"><span class="section-number-2">3</span> Computation</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
<p>
|
||||
The computed data is stored in the context so that it can be reused
|
||||
@ -1181,8 +1181,8 @@ current date is stored.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge81b4de" class="outline-3">
|
||||
<h3 id="orge81b4de"><span class="section-number-3">3.1</span> Asymptotic component for \(J_{ee}\)</h3>
|
||||
<div id="outline-container-org3d0fed0" class="outline-3">
|
||||
<h3 id="org3d0fed0"><span class="section-number-3">3.1</span> Asymptotic component for \(J_{ee}\)</h3>
|
||||
<div class="outline-text-3" id="text-3-1">
|
||||
<p>
|
||||
Calculate the asymptotic component <code>asymp_jasb</code> to be substracted from the final
|
||||
@ -1197,8 +1197,8 @@ via the <code>bord_vector</code> and the electron-electron rescale factor <code>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgdedbe1d" class="outline-4">
|
||||
<h4 id="orgdedbe1d"><span class="section-number-4">3.1.1</span> Get</h4>
|
||||
<div id="outline-container-orgd3dda0d" class="outline-4">
|
||||
<h4 id="orgd3dda0d"><span class="section-number-4">3.1.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-3-1-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span>
|
||||
@ -1210,10 +1210,10 @@ via the <code>bord_vector</code> and the electron-electron rescale factor <code>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga0ae2e4" class="outline-4">
|
||||
<h4 id="orga0ae2e4"><span class="section-number-4">3.1.2</span> Compute</h4>
|
||||
<div id="outline-container-org1be9f9a" class="outline-4">
|
||||
<h4 id="org1be9f9a"><span class="section-number-4">3.1.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-3-1-2">
|
||||
<table id="orgf81dd47" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org17fabd5" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1363,8 +1363,8 @@ via the <code>bord_vector</code> and the electron-electron rescale factor <code>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgc409c95" class="outline-4">
|
||||
<h4 id="orgc409c95"><span class="section-number-4">3.1.3</span> Test</h4>
|
||||
<div id="outline-container-org5aed389" class="outline-4">
|
||||
<h4 id="org5aed389"><span class="section-number-4">3.1.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-3-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>));
|
||||
@ -1415,8 +1415,8 @@ rc = qmckl_get_jastrow_asymp_jasb(context, asymp_jasb,2);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4d8764f" class="outline-3">
|
||||
<h3 id="org4d8764f"><span class="section-number-3">3.2</span> Electron-electron component \(f_{ee}\)</h3>
|
||||
<div id="outline-container-org273f040" class="outline-3">
|
||||
<h3 id="org273f040"><span class="section-number-3">3.2</span> Electron-electron component \(f_{ee}\)</h3>
|
||||
<div class="outline-text-3" id="text-3-2">
|
||||
<p>
|
||||
Calculate the electron-electron jastrow component <code>factor_ee</code> using the <code>asymp_jasb</code>
|
||||
@ -1431,8 +1431,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-orgb0090c5" class="outline-4">
|
||||
<h4 id="orgb0090c5"><span class="section-number-4">3.2.1</span> Get</h4>
|
||||
<div id="outline-container-org8476914" class="outline-4">
|
||||
<h4 id="org8476914"><span class="section-number-4">3.2.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-3-2-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span>
|
||||
@ -1444,10 +1444,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-org6443cc7" class="outline-4">
|
||||
<h4 id="org6443cc7"><span class="section-number-4">3.2.2</span> Compute</h4>
|
||||
<div id="outline-container-orgb7b3731" class="outline-4">
|
||||
<h4 id="orgb7b3731"><span class="section-number-4">3.2.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-3-2-2">
|
||||
<table id="org9bd2a75" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org87ae14d" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1622,8 +1622,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-orgfe980c0" class="outline-4">
|
||||
<h4 id="orgfe980c0"><span class="section-number-4">3.2.3</span> Test</h4>
|
||||
<div id="outline-container-org56d3874" class="outline-4">
|
||||
<h4 id="org56d3874"><span class="section-number-4">3.2.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-3-2-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">/* <span style="color: #b22222;">Check if Jastrow is properly initialized </span>*/
|
||||
@ -1641,8 +1641,8 @@ rc = qmckl_get_jastrow_factor_ee(context, factor_ee, walk_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org17f4171" class="outline-3">
|
||||
<h3 id="org17f4171"><span class="section-number-3">3.3</span> Electron-electron component derivative \(f'_{ee}\)</h3>
|
||||
<div id="outline-container-org67c6c8a" class="outline-3">
|
||||
<h3 id="org67c6c8a"><span class="section-number-3">3.3</span> Electron-electron component derivative \(f'_{ee}\)</h3>
|
||||
<div class="outline-text-3" id="text-3-3">
|
||||
<p>
|
||||
Calculate the derivative of the <code>factor_ee</code> using the <code>ee_distance_rescaled</code> and
|
||||
@ -1657,8 +1657,8 @@ TODO: Add equation
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org0c4316e" class="outline-4">
|
||||
<h4 id="org0c4316e"><span class="section-number-4">3.3.1</span> Get</h4>
|
||||
<div id="outline-container-orgabebd3b" class="outline-4">
|
||||
<h4 id="orgabebd3b"><span class="section-number-4">3.3.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-3-3-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span>
|
||||
@ -1670,10 +1670,10 @@ TODO: Add equation
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org430d0e1" class="outline-4">
|
||||
<h4 id="org430d0e1"><span class="section-number-4">3.3.2</span> Compute</h4>
|
||||
<div id="outline-container-org438c944" class="outline-4">
|
||||
<h4 id="org438c944"><span class="section-number-4">3.3.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-3-3-2">
|
||||
<table id="org9492118" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org47d7354" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1889,8 +1889,8 @@ TODO: Add equation
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgd7daff4" class="outline-4">
|
||||
<h4 id="orgd7daff4"><span class="section-number-4">3.3.3</span> Test</h4>
|
||||
<div id="outline-container-org9812315" class="outline-4">
|
||||
<h4 id="org9812315"><span class="section-number-4">3.3.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-3-3-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">/* <span style="color: #b22222;">Check if Jastrow is properly initialized </span>*/
|
||||
@ -1912,8 +1912,8 @@ rc = qmckl_get_jastrow_factor_ee_deriv_e(context, &(factor_ee_deriv_e[0][0][
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1e1ae57" class="outline-3">
|
||||
<h3 id="org1e1ae57"><span class="section-number-3">3.4</span> Electron-nucleus component \(f_{en}\)</h3>
|
||||
<div id="outline-container-org7c210ad" class="outline-3">
|
||||
<h3 id="org7c210ad"><span class="section-number-3">3.4</span> Electron-nucleus component \(f_{en}\)</h3>
|
||||
<div class="outline-text-3" id="text-3-4">
|
||||
<p>
|
||||
Calculate the electron-electron jastrow component <code>factor_en</code> using the <code>aord_vector</code>
|
||||
@ -1928,8 +1928,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-org96ae1f5" class="outline-4">
|
||||
<h4 id="org96ae1f5"><span class="section-number-4">3.4.1</span> Get</h4>
|
||||
<div id="outline-container-org200705b" class="outline-4">
|
||||
<h4 id="org200705b"><span class="section-number-4">3.4.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-3-4-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span>
|
||||
@ -1941,10 +1941,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-org075f503" class="outline-4">
|
||||
<h4 id="org075f503"><span class="section-number-4">3.4.2</span> Compute</h4>
|
||||
<div id="outline-container-org37c904f" class="outline-4">
|
||||
<h4 id="org37c904f"><span class="section-number-4">3.4.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-3-4-2">
|
||||
<table id="orgf571989" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org27e1cf6" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2126,8 +2126,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-orge25f231" class="outline-4">
|
||||
<h4 id="orge25f231"><span class="section-number-4">3.4.3</span> Test</h4>
|
||||
<div id="outline-container-org803d837" class="outline-4">
|
||||
<h4 id="org803d837"><span class="section-number-4">3.4.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-3-4-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">/* <span style="color: #b22222;">Check if Jastrow is properly initialized </span>*/
|
||||
@ -2145,8 +2145,8 @@ rc = qmckl_get_jastrow_factor_en(context, factor_en,walk_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf7e1444" class="outline-3">
|
||||
<h3 id="orgf7e1444"><span class="section-number-3">3.5</span> Electron-nucleus component derivative \(f'_{en}\)</h3>
|
||||
<div id="outline-container-org464732f" class="outline-3">
|
||||
<h3 id="org464732f"><span class="section-number-3">3.5</span> Electron-nucleus component derivative \(f'_{en}\)</h3>
|
||||
<div class="outline-text-3" id="text-3-5">
|
||||
<p>
|
||||
Calculate the electron-electron jastrow component <code>factor_en_deriv_e</code> derivative
|
||||
@ -2159,8 +2159,8 @@ TODO: write equations.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org47002ed" class="outline-4">
|
||||
<h4 id="org47002ed"><span class="section-number-4">3.5.1</span> Get</h4>
|
||||
<div id="outline-container-org248f6b9" class="outline-4">
|
||||
<h4 id="org248f6b9"><span class="section-number-4">3.5.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-3-5-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span>
|
||||
@ -2172,10 +2172,10 @@ TODO: write equations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgcb76bb6" class="outline-4">
|
||||
<h4 id="orgcb76bb6"><span class="section-number-4">3.5.2</span> Compute</h4>
|
||||
<div id="outline-container-org4c7923e" class="outline-4">
|
||||
<h4 id="org4c7923e"><span class="section-number-4">3.5.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-3-5-2">
|
||||
<table id="org6fe6a73" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org6a7b3bb" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2396,8 +2396,8 @@ TODO: write equations.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org9141b17" class="outline-4">
|
||||
<h4 id="org9141b17"><span class="section-number-4">3.5.3</span> Test</h4>
|
||||
<div id="outline-container-org6ba4677" class="outline-4">
|
||||
<h4 id="org6ba4677"><span class="section-number-4">3.5.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-3-5-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">/* <span style="color: #b22222;">Check if Jastrow is properly initialized </span>*/
|
||||
@ -2419,8 +2419,8 @@ rc = qmckl_get_jastrow_factor_en_deriv_e(context, &(factor_en_deriv_e[0][0][
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgede6b23" class="outline-3">
|
||||
<h3 id="orgede6b23"><span class="section-number-3">3.6</span> Electron-electron rescaled distances for each order</h3>
|
||||
<div id="outline-container-org9905d5c" class="outline-3">
|
||||
<h3 id="org9905d5c"><span class="section-number-3">3.6</span> Electron-electron rescaled distances for each order</h3>
|
||||
<div class="outline-text-3" id="text-3-6">
|
||||
<p>
|
||||
<code>een_rescaled_e</code> stores the table of the rescaled distances between all
|
||||
@ -2438,8 +2438,8 @@ where \(C_{ij}\) is the matrix of electron-electron distances.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org095280f" class="outline-4">
|
||||
<h4 id="org095280f"><span class="section-number-4">3.6.1</span> Get</h4>
|
||||
<div id="outline-container-org2fac51b" class="outline-4">
|
||||
<h4 id="org2fac51b"><span class="section-number-4">3.6.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-3-6-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span>
|
||||
@ -2451,10 +2451,10 @@ where \(C_{ij}\) is the matrix of electron-electron distances.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0bf32dd" class="outline-4">
|
||||
<h4 id="org0bf32dd"><span class="section-number-4">3.6.2</span> Compute</h4>
|
||||
<div id="outline-container-org091f97a" class="outline-4">
|
||||
<h4 id="org091f97a"><span class="section-number-4">3.6.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-3-6-2">
|
||||
<table id="org23d14b2" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org67ba803" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2628,8 +2628,8 @@ where \(C_{ij}\) is the matrix of electron-electron distances.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org20e7fb8" class="outline-4">
|
||||
<h4 id="org20e7fb8"><span class="section-number-4">3.6.3</span> Test</h4>
|
||||
<div id="outline-container-orgf4b83f0" class="outline-4">
|
||||
<h4 id="orgf4b83f0"><span class="section-number-4">3.6.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-3-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>));
|
||||
@ -2652,8 +2652,8 @@ rc = qmckl_get_jastrow_een_rescaled_e(context, &(een_rescaled_e[0][0][0][0])
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgba52e11" class="outline-3">
|
||||
<h3 id="orgba52e11"><span class="section-number-3">3.7</span> Electron-electron rescaled distances for each order and derivatives</h3>
|
||||
<div id="outline-container-orgd5f12bc" class="outline-3">
|
||||
<h3 id="orgd5f12bc"><span class="section-number-3">3.7</span> Electron-electron rescaled distances for each order and derivatives</h3>
|
||||
<div class="outline-text-3" id="text-3-7">
|
||||
<p>
|
||||
<code>een_rescaled_e_deriv_e</code> stores the table of the derivatives of the
|
||||
@ -2668,8 +2668,8 @@ TODO: write formulae
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org000a9b4" class="outline-4">
|
||||
<h4 id="org000a9b4"><span class="section-number-4">3.7.1</span> Get</h4>
|
||||
<div id="outline-container-orgbefbd51" class="outline-4">
|
||||
<h4 id="orgbefbd51"><span class="section-number-4">3.7.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-3-7-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span>
|
||||
@ -2681,10 +2681,10 @@ TODO: write formulae
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd213006" class="outline-4">
|
||||
<h4 id="orgd213006"><span class="section-number-4">3.7.2</span> Compute</h4>
|
||||
<div id="outline-container-orgc4cfb25" class="outline-4">
|
||||
<h4 id="orgc4cfb25"><span class="section-number-4">3.7.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-3-7-2">
|
||||
<table id="org444c0fe" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgc0e8198" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2876,8 +2876,8 @@ TODO: write formulae
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org4a45ae2" class="outline-4">
|
||||
<h4 id="org4a45ae2"><span class="section-number-4">3.7.3</span> Test</h4>
|
||||
<div id="outline-container-org48f1883" class="outline-4">
|
||||
<h4 id="org48f1883"><span class="section-number-4">3.7.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-3-7-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">//<span style="color: #b22222;">assert(qmckl_electron_provided(context));</span>
|
||||
@ -2899,8 +2899,8 @@ rc = qmckl_get_jastrow_een_rescaled_e_deriv_e(context,
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0b50bd9" class="outline-3">
|
||||
<h3 id="org0b50bd9"><span class="section-number-3">3.8</span> Electron-nucleus rescaled distances for each order</h3>
|
||||
<div id="outline-container-org3a2ee71" class="outline-3">
|
||||
<h3 id="org3a2ee71"><span class="section-number-3">3.8</span> Electron-nucleus rescaled distances for each order</h3>
|
||||
<div class="outline-text-3" id="text-3-8">
|
||||
<p>
|
||||
<code>een_rescaled_n</code> stores the table of the rescaled distances between
|
||||
@ -2918,8 +2918,8 @@ where \(C_{ia}\) is the matrix of electron-nucleus distances.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org42fc81d" class="outline-4">
|
||||
<h4 id="org42fc81d"><span class="section-number-4">3.8.1</span> Get</h4>
|
||||
<div id="outline-container-orgc978327" class="outline-4">
|
||||
<h4 id="orgc978327"><span class="section-number-4">3.8.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-3-8-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span>
|
||||
@ -2931,10 +2931,10 @@ where \(C_{ia}\) is the matrix of electron-nucleus distances.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgad619d3" class="outline-4">
|
||||
<h4 id="orgad619d3"><span class="section-number-4">3.8.2</span> Compute</h4>
|
||||
<div id="outline-container-org77e1938" class="outline-4">
|
||||
<h4 id="org77e1938"><span class="section-number-4">3.8.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-3-8-2">
|
||||
<table id="org46bee56" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org8fcce78" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -3098,8 +3098,8 @@ where \(C_{ia}\) is the matrix of electron-nucleus distances.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org195f050" class="outline-4">
|
||||
<h4 id="org195f050"><span class="section-number-4">3.8.3</span> Test</h4>
|
||||
<div id="outline-container-org7a373ce" class="outline-4">
|
||||
<h4 id="org7a373ce"><span class="section-number-4">3.8.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-3-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>));
|
||||
@ -3122,8 +3122,8 @@ rc = qmckl_get_jastrow_een_rescaled_n(context, &(een_rescaled_n[0][0][0][0])
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgfeca986" class="outline-3">
|
||||
<h3 id="orgfeca986"><span class="section-number-3">3.9</span> Electron-nucleus rescaled distances for each order and derivatives</h3>
|
||||
<div id="outline-container-orgda5e0a7" class="outline-3">
|
||||
<h3 id="orgda5e0a7"><span class="section-number-3">3.9</span> Electron-nucleus rescaled distances for each order and derivatives</h3>
|
||||
<div class="outline-text-3" id="text-3-9">
|
||||
<p>
|
||||
<code>een_rescaled_n_deriv_e</code> stores the table of the rescaled distances between
|
||||
@ -3132,8 +3132,8 @@ electrons and nucleii raised to the power \(p\) defined by <code>cord_num</code>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org293ecf1" class="outline-4">
|
||||
<h4 id="org293ecf1"><span class="section-number-4">3.9.1</span> Get</h4>
|
||||
<div id="outline-container-org815373f" class="outline-4">
|
||||
<h4 id="org815373f"><span class="section-number-4">3.9.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-3-9-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span>
|
||||
@ -3145,10 +3145,10 @@ electrons and nucleii raised to the power \(p\) defined by <code>cord_num</code>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6567ad4" class="outline-4">
|
||||
<h4 id="org6567ad4"><span class="section-number-4">3.9.2</span> Compute</h4>
|
||||
<div id="outline-container-org310af4c" class="outline-4">
|
||||
<h4 id="org310af4c"><span class="section-number-4">3.9.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-3-9-2">
|
||||
<table id="org3f45854" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org5433c0b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -3363,8 +3363,8 @@ electrons and nucleii raised to the power \(p\) defined by <code>cord_num</code>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf35155a" class="outline-4">
|
||||
<h4 id="orgf35155a"><span class="section-number-4">3.9.3</span> Test</h4>
|
||||
<div id="outline-container-org0a0e3cf" class="outline-4">
|
||||
<h4 id="org0a0e3cf"><span class="section-number-4">3.9.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-3-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>));
|
||||
@ -3387,8 +3387,8 @@ rc = qmckl_get_jastrow_een_rescaled_n_deriv_e(context, &(een_rescaled_n_deri
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org66f260a" class="outline-3">
|
||||
<h3 id="org66f260a"><span class="section-number-3">3.10</span> Prepare for electron-electron-nucleus Jastrow \(f_{een}\)</h3>
|
||||
<div id="outline-container-org69787bd" class="outline-3">
|
||||
<h3 id="org69787bd"><span class="section-number-3">3.10</span> Prepare for electron-electron-nucleus Jastrow \(f_{een}\)</h3>
|
||||
<div class="outline-text-3" id="text-3-10">
|
||||
<p>
|
||||
Prepare <code>cord_vect_full</code> and <code>lkpm_combined_index</code> tables required for the
|
||||
@ -3397,8 +3397,8 @@ calculation of the three-body jastrow <code>factor_een</code> and its derivative
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org582a416" class="outline-4">
|
||||
<h4 id="org582a416"><span class="section-number-4">3.10.1</span> Get</h4>
|
||||
<div id="outline-container-orgafec43d" class="outline-4">
|
||||
<h4 id="orgafec43d"><span class="section-number-4">3.10.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-3-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>);
|
||||
@ -3411,10 +3411,10 @@ calculation of the three-body jastrow <code>factor_een</code> and its derivative
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgca29026" class="outline-4">
|
||||
<h4 id="orgca29026"><span class="section-number-4">3.10.2</span> Compute dim<sub>cord</sub><sub>vect</sub></h4>
|
||||
<div id="outline-container-org29a32fb" class="outline-4">
|
||||
<h4 id="org29a32fb"><span class="section-number-4">3.10.2</span> Compute dim<sub>cord</sub><sub>vect</sub></h4>
|
||||
<div class="outline-text-4" id="text-3-10-2">
|
||||
<table id="org718ca24" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org540d88e" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -3512,10 +3512,10 @@ calculation of the three-body jastrow <code>factor_een</code> and its derivative
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org9688c4b" class="outline-4">
|
||||
<h4 id="org9688c4b"><span class="section-number-4">3.10.3</span> Compute cord<sub>vect</sub><sub>full</sub></h4>
|
||||
<div id="outline-container-org34d0d90" class="outline-4">
|
||||
<h4 id="org34d0d90"><span class="section-number-4">3.10.3</span> Compute cord<sub>vect</sub><sub>full</sub></h4>
|
||||
<div class="outline-text-4" id="text-3-10-3">
|
||||
<table id="orgfcdb269" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgc1c72c1" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -3649,10 +3649,10 @@ calculation of the three-body jastrow <code>factor_een</code> and its derivative
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgca18c92" class="outline-4">
|
||||
<h4 id="orgca18c92"><span class="section-number-4">3.10.4</span> Compute lkpm<sub>combined</sub><sub>index</sub></h4>
|
||||
<div id="outline-container-org04ebf73" class="outline-4">
|
||||
<h4 id="org04ebf73"><span class="section-number-4">3.10.4</span> Compute lkpm<sub>combined</sub><sub>index</sub></h4>
|
||||
<div class="outline-text-4" id="text-3-10-4">
|
||||
<table id="orga7b87aa" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgf261351" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -3770,10 +3770,10 @@ calculation of the three-body jastrow <code>factor_een</code> and its derivative
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orge0b8aba" class="outline-4">
|
||||
<h4 id="orge0b8aba"><span class="section-number-4">3.10.5</span> Compute tmp<sub>c</sub></h4>
|
||||
<div id="outline-container-org24d1d9e" class="outline-4">
|
||||
<h4 id="org24d1d9e"><span class="section-number-4">3.10.5</span> Compute tmp<sub>c</sub></h4>
|
||||
<div class="outline-text-4" id="text-3-10-5">
|
||||
<table id="orgd8b0ebc" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org9c38af1" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -3936,10 +3936,10 @@ calculation of the three-body jastrow <code>factor_een</code> and its derivative
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgc22f909" class="outline-4">
|
||||
<h4 id="orgc22f909"><span class="section-number-4">3.10.6</span> Compute dtmp<sub>c</sub></h4>
|
||||
<div id="outline-container-orgea6f95f" class="outline-4">
|
||||
<h4 id="orgea6f95f"><span class="section-number-4">3.10.6</span> Compute dtmp<sub>c</sub></h4>
|
||||
<div class="outline-text-4" id="text-3-10-6">
|
||||
<table id="org3f38e7e" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgd4c998d" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -4102,8 +4102,8 @@ calculation of the three-body jastrow <code>factor_een</code> and its derivative
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org1378507" class="outline-4">
|
||||
<h4 id="org1378507"><span class="section-number-4">3.10.7</span> Test</h4>
|
||||
<div id="outline-container-org6689299" class="outline-4">
|
||||
<h4 id="org6689299"><span class="section-number-4">3.10.7</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-3-10-7">
|
||||
<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>));
|
||||
@ -4123,8 +4123,8 @@ rc = qmckl_get_jastrow_dtmp_c(context, &(dtmp_c[0][0][0][0][0][0]));
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org52ee5f7" class="outline-3">
|
||||
<h3 id="org52ee5f7"><span class="section-number-3">3.11</span> Electron-electron-nucleus Jastrow \(f_{een}\)</h3>
|
||||
<div id="outline-container-orgc02c43c" class="outline-3">
|
||||
<h3 id="orgc02c43c"><span class="section-number-3">3.11</span> Electron-electron-nucleus Jastrow \(f_{een}\)</h3>
|
||||
<div class="outline-text-3" id="text-3-11">
|
||||
<p>
|
||||
Calculate the electron-electron-nuclear three-body jastrow component <code>factor_een</code>
|
||||
@ -4136,8 +4136,8 @@ TODO: write equations.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9e11d37" class="outline-4">
|
||||
<h4 id="org9e11d37"><span class="section-number-4">3.11.1</span> Get</h4>
|
||||
<div id="outline-container-org4f78ab4" class="outline-4">
|
||||
<h4 id="org4f78ab4"><span class="section-number-4">3.11.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-3-11-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span>
|
||||
@ -4149,10 +4149,10 @@ TODO: write equations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6dba1cc" class="outline-4">
|
||||
<h4 id="org6dba1cc"><span class="section-number-4">3.11.2</span> Compute naive</h4>
|
||||
<div id="outline-container-org1bd0de4" class="outline-4">
|
||||
<h4 id="org1bd0de4"><span class="section-number-4">3.11.2</span> Compute naive</h4>
|
||||
<div class="outline-text-4" id="text-3-11-2">
|
||||
<table id="org6ace574" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org2727991" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -4348,10 +4348,10 @@ TODO: write equations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5522cb6" class="outline-4">
|
||||
<h4 id="org5522cb6"><span class="section-number-4">3.11.3</span> Compute</h4>
|
||||
<div id="outline-container-org095d042" class="outline-4">
|
||||
<h4 id="org095d042"><span class="section-number-4">3.11.3</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-3-11-3">
|
||||
<table id="orge0f74b4" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgb73f137" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -4540,8 +4540,8 @@ TODO: write equations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1e42591" class="outline-4">
|
||||
<h4 id="org1e42591"><span class="section-number-4">3.11.4</span> Test</h4>
|
||||
<div id="outline-container-org322fb92" class="outline-4">
|
||||
<h4 id="org322fb92"><span class="section-number-4">3.11.4</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-3-11-4">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">/* <span style="color: #b22222;">Check if Jastrow is properly initialized </span>*/
|
||||
@ -4557,8 +4557,8 @@ rc = qmckl_get_jastrow_factor_een(context, &(factor_een[0]),walk_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org08c6382" class="outline-3">
|
||||
<h3 id="org08c6382"><span class="section-number-3">3.12</span> Electron-electron-nucleus Jastrow \(f_{een}\) derivative</h3>
|
||||
<div id="outline-container-org06e804a" class="outline-3">
|
||||
<h3 id="org06e804a"><span class="section-number-3">3.12</span> Electron-electron-nucleus Jastrow \(f_{een}\) derivative</h3>
|
||||
<div class="outline-text-3" id="text-3-12">
|
||||
<p>
|
||||
Calculate the electron-electron-nuclear three-body jastrow component <code>factor_een_deriv_e</code>
|
||||
@ -4570,8 +4570,8 @@ TODO: write equations.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge0a661e" class="outline-4">
|
||||
<h4 id="orge0a661e"><span class="section-number-4">3.12.1</span> Get</h4>
|
||||
<div id="outline-container-orgec2444c" class="outline-4">
|
||||
<h4 id="orgec2444c"><span class="section-number-4">3.12.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-3-12-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span>
|
||||
@ -4583,10 +4583,10 @@ TODO: write equations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org56abaf7" class="outline-4">
|
||||
<h4 id="org56abaf7"><span class="section-number-4">3.12.2</span> Compute Naive</h4>
|
||||
<div id="outline-container-org28afc0c" class="outline-4">
|
||||
<h4 id="org28afc0c"><span class="section-number-4">3.12.2</span> Compute Naive</h4>
|
||||
<div class="outline-text-4" id="text-3-12-2">
|
||||
<table id="org3080610" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org35ae2de" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -4819,10 +4819,10 @@ TODO: write equations.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgc8ea539" class="outline-4">
|
||||
<h4 id="orgc8ea539"><span class="section-number-4">3.12.3</span> Compute</h4>
|
||||
<div id="outline-container-orgc266149" class="outline-4">
|
||||
<h4 id="orgc266149"><span class="section-number-4">3.12.3</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-3-12-3">
|
||||
<table id="org3ad997d" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org2e7e86c" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -5048,8 +5048,8 @@ TODO: write equations.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org97696a3" class="outline-4">
|
||||
<h4 id="org97696a3"><span class="section-number-4">3.12.4</span> Test</h4>
|
||||
<div id="outline-container-org9b2c708" class="outline-4">
|
||||
<h4 id="org9b2c708"><span class="section-number-4">3.12.4</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-3-12-4">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">/* <span style="color: #b22222;">Check if Jastrow is properly initialized </span>*/
|
||||
@ -5068,7 +5068,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: 2022-02-16 Wed 00:15</p>
|
||||
<p class="date">Created: 2022-02-16 Wed 18:41</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>
|
||||
<!-- 2022-02-16 Wed 00:15 -->
|
||||
<!-- 2022-02-16 Wed 18:41 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Local Energy</title>
|
||||
@ -333,43 +333,43 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#orgc160b5d">1. Context</a>
|
||||
<li><a href="#orgb27d0d1">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#org3310325">1.1. Data structure</a></li>
|
||||
<li><a href="#org3371e19">1.1. Data structure</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org5bad07f">2. Computation</a>
|
||||
<li><a href="#org0a03fe0">2. Computation</a>
|
||||
<ul>
|
||||
<li><a href="#orgd3978c6">2.1. Kinetic energy</a>
|
||||
<li><a href="#org81f6bfb">2.1. Kinetic energy</a>
|
||||
<ul>
|
||||
<li><a href="#orgd540851">2.1.1. Get</a></li>
|
||||
<li><a href="#org297b5ef">2.1.2. Provide</a></li>
|
||||
<li><a href="#orgc33d1c3">2.1.3. Compute kinetic enregy</a></li>
|
||||
<li><a href="#org5513796">2.1.4. Test</a></li>
|
||||
<li><a href="#org6aebc8a">2.1.1. Get</a></li>
|
||||
<li><a href="#org5db76b5">2.1.2. Provide</a></li>
|
||||
<li><a href="#orgba6b9a0">2.1.3. Compute kinetic enregy</a></li>
|
||||
<li><a href="#org80a9e6b">2.1.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgc730127">2.2. Potential energy</a>
|
||||
<li><a href="#orgd2f58b6">2.2. Potential energy</a>
|
||||
<ul>
|
||||
<li><a href="#org2b14816">2.2.1. Get</a></li>
|
||||
<li><a href="#org935d6f5">2.2.2. Provide</a></li>
|
||||
<li><a href="#org968bdde">2.2.3. Compute potential enregy</a></li>
|
||||
<li><a href="#org77e9e56">2.2.4. Test</a></li>
|
||||
<li><a href="#org1e1d0d5">2.2.1. Get</a></li>
|
||||
<li><a href="#org85ba6b3">2.2.2. Provide</a></li>
|
||||
<li><a href="#org0f172e8">2.2.3. Compute potential enregy</a></li>
|
||||
<li><a href="#org76a9c7a">2.2.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgc861670">2.3. Local energy</a>
|
||||
<li><a href="#org252447e">2.3. Local energy</a>
|
||||
<ul>
|
||||
<li><a href="#orgeca05d3">2.3.1. Get</a></li>
|
||||
<li><a href="#orgae2efe5">2.3.2. Provide</a></li>
|
||||
<li><a href="#org0269036">2.3.3. Compute local enregy</a></li>
|
||||
<li><a href="#orge105f4b">2.3.4. Test</a></li>
|
||||
<li><a href="#orge54738c">2.3.1. Get</a></li>
|
||||
<li><a href="#org1d83753">2.3.2. Provide</a></li>
|
||||
<li><a href="#org82cd286">2.3.3. Compute local enregy</a></li>
|
||||
<li><a href="#org549b605">2.3.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org1d3036e">2.4. Drift vector</a>
|
||||
<li><a href="#orga159fc8">2.4. Drift vector</a>
|
||||
<ul>
|
||||
<li><a href="#org1790384">2.4.1. Get</a></li>
|
||||
<li><a href="#orgb392edf">2.4.2. Provide</a></li>
|
||||
<li><a href="#org2cb6cc1">2.4.3. Compute drift vector</a></li>
|
||||
<li><a href="#org2be46f9">2.4.4. Test</a></li>
|
||||
<li><a href="#orgcbce61a">2.4.1. Get</a></li>
|
||||
<li><a href="#org380de73">2.4.2. Provide</a></li>
|
||||
<li><a href="#org30c5a6d">2.4.3. Compute drift vector</a></li>
|
||||
<li><a href="#org3fc7c5a">2.4.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@ -378,8 +378,8 @@ for the JavaScript code in this tag.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc160b5d" class="outline-2">
|
||||
<h2 id="orgc160b5d"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-orgb27d0d1" class="outline-2">
|
||||
<h2 id="orgb27d0d1"><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:
|
||||
@ -452,8 +452,8 @@ Computed data:
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3310325" class="outline-3">
|
||||
<h3 id="org3310325"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-org3371e19" class="outline-3">
|
||||
<h3 id="org3371e19"><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_local_energy_struct</span> {
|
||||
@ -488,12 +488,12 @@ this mechanism.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5bad07f" class="outline-2">
|
||||
<h2 id="org5bad07f"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div id="outline-container-org0a03fe0" class="outline-2">
|
||||
<h2 id="org0a03fe0"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-orgd3978c6" class="outline-3">
|
||||
<h3 id="orgd3978c6"><span class="section-number-3">2.1</span> Kinetic energy</h3>
|
||||
<div id="outline-container-org81f6bfb" class="outline-3">
|
||||
<h3 id="org81f6bfb"><span class="section-number-3">2.1</span> Kinetic energy</h3>
|
||||
<div class="outline-text-3" id="text-2-1">
|
||||
<p>
|
||||
Where the kinetic energy is given as:
|
||||
@ -517,8 +517,8 @@ case is given as follows:
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd540851" class="outline-4">
|
||||
<h4 id="orgd540851"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div id="outline-container-org6aebc8a" class="outline-4">
|
||||
<h4 id="org6aebc8a"><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_kinetic_energy</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;">kinetic_energy</span>);
|
||||
@ -527,14 +527,14 @@ case is given as follows:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org297b5ef" class="outline-4">
|
||||
<h4 id="org297b5ef"><span class="section-number-4">2.1.2</span> Provide</h4>
|
||||
<div id="outline-container-org5db76b5" class="outline-4">
|
||||
<h4 id="org5db76b5"><span class="section-number-4">2.1.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc33d1c3" class="outline-4">
|
||||
<h4 id="orgc33d1c3"><span class="section-number-4">2.1.3</span> Compute kinetic enregy</h4>
|
||||
<div id="outline-container-orgba6b9a0" class="outline-4">
|
||||
<h4 id="orgba6b9a0"><span class="section-number-4">2.1.3</span> Compute kinetic enregy</h4>
|
||||
<div class="outline-text-4" id="text-2-1-3">
|
||||
<table id="orgdb2f7bf" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org87263ba" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -763,12 +763,12 @@ case is given as follows:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5513796" class="outline-4">
|
||||
<h4 id="org5513796"><span class="section-number-4">2.1.4</span> Test</h4>
|
||||
<div id="outline-container-org80a9e6b" class="outline-4">
|
||||
<h4 id="org80a9e6b"><span class="section-number-4">2.1.4</span> Test</h4>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgc730127" class="outline-3">
|
||||
<h3 id="orgc730127"><span class="section-number-3">2.2</span> Potential energy</h3>
|
||||
<div id="outline-container-orgd2f58b6" class="outline-3">
|
||||
<h3 id="orgd2f58b6"><span class="section-number-3">2.2</span> Potential energy</h3>
|
||||
<div class="outline-text-3" id="text-2-2">
|
||||
<p>
|
||||
The potential energy is the sum of all the following terms
|
||||
@ -804,8 +804,8 @@ contributions.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2b14816" class="outline-4">
|
||||
<h4 id="org2b14816"><span class="section-number-4">2.2.1</span> Get</h4>
|
||||
<div id="outline-container-org1e1d0d5" class="outline-4">
|
||||
<h4 id="org1e1d0d5"><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_potential_energy</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;">potential_energy</span>);
|
||||
@ -814,14 +814,14 @@ contributions.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org935d6f5" class="outline-4">
|
||||
<h4 id="org935d6f5"><span class="section-number-4">2.2.2</span> Provide</h4>
|
||||
<div id="outline-container-org85ba6b3" class="outline-4">
|
||||
<h4 id="org85ba6b3"><span class="section-number-4">2.2.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org968bdde" class="outline-4">
|
||||
<h4 id="org968bdde"><span class="section-number-4">2.2.3</span> Compute potential enregy</h4>
|
||||
<div id="outline-container-org0f172e8" class="outline-4">
|
||||
<h4 id="org0f172e8"><span class="section-number-4">2.2.3</span> Compute potential enregy</h4>
|
||||
<div class="outline-text-4" id="text-2-2-3">
|
||||
<table id="orgc008bb3" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org55c7eef" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -949,12 +949,12 @@ contributions.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org77e9e56" class="outline-4">
|
||||
<h4 id="org77e9e56"><span class="section-number-4">2.2.4</span> Test</h4>
|
||||
<div id="outline-container-org76a9c7a" class="outline-4">
|
||||
<h4 id="org76a9c7a"><span class="section-number-4">2.2.4</span> Test</h4>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgc861670" class="outline-3">
|
||||
<h3 id="orgc861670"><span class="section-number-3">2.3</span> Local energy</h3>
|
||||
<div id="outline-container-org252447e" class="outline-3">
|
||||
<h3 id="org252447e"><span class="section-number-3">2.3</span> Local energy</h3>
|
||||
<div class="outline-text-3" id="text-2-3">
|
||||
<p>
|
||||
The local energy is the sum of kinetic and potential energies.
|
||||
@ -968,8 +968,8 @@ E_L = KE + PE
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgeca05d3" class="outline-4">
|
||||
<h4 id="orgeca05d3"><span class="section-number-4">2.3.1</span> Get</h4>
|
||||
<div id="outline-container-orge54738c" class="outline-4">
|
||||
<h4 id="orge54738c"><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_local_energy</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;">local_energy</span>);
|
||||
@ -978,14 +978,14 @@ E_L = KE + PE
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgae2efe5" class="outline-4">
|
||||
<h4 id="orgae2efe5"><span class="section-number-4">2.3.2</span> Provide</h4>
|
||||
<div id="outline-container-org1d83753" class="outline-4">
|
||||
<h4 id="org1d83753"><span class="section-number-4">2.3.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0269036" class="outline-4">
|
||||
<h4 id="org0269036"><span class="section-number-4">2.3.3</span> Compute local enregy</h4>
|
||||
<div id="outline-container-org82cd286" class="outline-4">
|
||||
<h4 id="org82cd286"><span class="section-number-4">2.3.3</span> Compute local enregy</h4>
|
||||
<div class="outline-text-4" id="text-2-3-3">
|
||||
<table id="org0e4c321" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgd3c7137" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1081,12 +1081,12 @@ E_L = KE + PE
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge105f4b" class="outline-4">
|
||||
<h4 id="orge105f4b"><span class="section-number-4">2.3.4</span> Test</h4>
|
||||
<div id="outline-container-org549b605" class="outline-4">
|
||||
<h4 id="org549b605"><span class="section-number-4">2.3.4</span> Test</h4>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org1d3036e" class="outline-3">
|
||||
<h3 id="org1d3036e"><span class="section-number-3">2.4</span> Drift vector</h3>
|
||||
<div id="outline-container-orga159fc8" class="outline-3">
|
||||
<h3 id="orga159fc8"><span class="section-number-3">2.4</span> Drift vector</h3>
|
||||
<div class="outline-text-3" id="text-2-4">
|
||||
<p>
|
||||
The drift vector is calculated as the ration of the gradient
|
||||
@ -1100,8 +1100,8 @@ with the determinant of the wavefunction.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1790384" class="outline-4">
|
||||
<h4 id="org1790384"><span class="section-number-4">2.4.1</span> Get</h4>
|
||||
<div id="outline-container-orgcbce61a" class="outline-4">
|
||||
<h4 id="orgcbce61a"><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_drift_vector</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;">drift_vector</span>);
|
||||
@ -1110,14 +1110,14 @@ with the determinant of the wavefunction.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb392edf" class="outline-4">
|
||||
<h4 id="orgb392edf"><span class="section-number-4">2.4.2</span> Provide</h4>
|
||||
<div id="outline-container-org380de73" class="outline-4">
|
||||
<h4 id="org380de73"><span class="section-number-4">2.4.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2cb6cc1" class="outline-4">
|
||||
<h4 id="org2cb6cc1"><span class="section-number-4">2.4.3</span> Compute drift vector</h4>
|
||||
<div id="outline-container-org30c5a6d" class="outline-4">
|
||||
<h4 id="org30c5a6d"><span class="section-number-4">2.4.3</span> Compute drift vector</h4>
|
||||
<div class="outline-text-4" id="text-2-4-3">
|
||||
<table id="orge7c15d2" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org1624d6d" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1338,15 +1338,15 @@ with the determinant of the wavefunction.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2be46f9" class="outline-4">
|
||||
<h4 id="org2be46f9"><span class="section-number-4">2.4.4</span> Test</h4>
|
||||
<div id="outline-container-org3fc7c5a" class="outline-4">
|
||||
<h4 id="org3fc7c5a"><span class="section-number-4">2.4.4</span> Test</h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2022-02-16 Wed 00:15</p>
|
||||
<p class="date">Created: 2022-02-16 Wed 18:41</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>
|
||||
<!-- 2022-02-16 Wed 00:14 -->
|
||||
<!-- 2022-02-16 Wed 18:41 -->
|
||||
<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="#orgc9fdbd8">1. Memory data structure for the context</a></li>
|
||||
<li><a href="#orgf5f4a67">2. Passing info to allocation routines</a></li>
|
||||
<li><a href="#org3788d30">3. Allocation/deallocation functions</a></li>
|
||||
<li><a href="#orgbf26ce8">1. Memory data structure for the context</a></li>
|
||||
<li><a href="#org0b790ee">2. Passing info to allocation routines</a></li>
|
||||
<li><a href="#org359c9d5">3. Allocation/deallocation functions</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc9fdbd8" class="outline-2">
|
||||
<h2 id="orgc9fdbd8"><span class="section-number-2">1</span> Memory data structure for the context</h2>
|
||||
<div id="outline-container-orgbf26ce8" class="outline-2">
|
||||
<h2 id="orgbf26ce8"><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-orgf5f4a67" class="outline-2">
|
||||
<h2 id="orgf5f4a67"><span class="section-number-2">2</span> Passing info to allocation routines</h2>
|
||||
<div id="outline-container-org0b790ee" class="outline-2">
|
||||
<h2 id="org0b790ee"><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-org3788d30" class="outline-2">
|
||||
<h2 id="org3788d30"><span class="section-number-2">3</span> Allocation/deallocation functions</h2>
|
||||
<div id="outline-container-org359c9d5" class="outline-2">
|
||||
<h2 id="org359c9d5"><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: 2022-02-16 Wed 00:14</p>
|
||||
<p class="date">Created: 2022-02-16 Wed 18:41</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>
|
||||
<!-- 2022-02-16 Wed 00:14 -->
|
||||
<!-- 2022-02-16 Wed 18:41 -->
|
||||
<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="#orge33deb6">1. Context</a>
|
||||
<li><a href="#org64296c8">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#org4c9d9bc">1.1. Data structure</a></li>
|
||||
<li><a href="#org059a79a">1.2. Access functions</a></li>
|
||||
<li><a href="#org7916903">1.3. Initialization functions</a></li>
|
||||
<li><a href="#orgad86a33">1.1. Data structure</a></li>
|
||||
<li><a href="#org0c3679a">1.2. Access functions</a></li>
|
||||
<li><a href="#org9ce9cec">1.3. Initialization functions</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org36f1fb7">2. Computation</a>
|
||||
<li><a href="#orgf2369f3">2. Computation</a>
|
||||
<ul>
|
||||
<li><a href="#org2396bdc">2.1. Computation of MOs</a>
|
||||
<li><a href="#org3855b76">2.1. Computation of MOs</a>
|
||||
<ul>
|
||||
<li><a href="#orgc105b9d">2.1.1. Get</a></li>
|
||||
<li><a href="#org7272573">2.1.2. Provide</a></li>
|
||||
<li><a href="#org4ac7795">2.1.3. Compute</a></li>
|
||||
<li><a href="#orga7331d3">2.1.4. Test</a></li>
|
||||
<li><a href="#orga73ad50">2.1.1. Get</a></li>
|
||||
<li><a href="#org0b08091">2.1.2. Provide</a></li>
|
||||
<li><a href="#org6d768fa">2.1.3. Compute</a></li>
|
||||
<li><a href="#orgb8bb57f">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-orge33deb6" class="outline-2">
|
||||
<h2 id="orge33deb6"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-org64296c8" class="outline-2">
|
||||
<h2 id="org64296c8"><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:
|
||||
@ -397,8 +397,8 @@ Computed data:
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4c9d9bc" class="outline-3">
|
||||
<h3 id="org4c9d9bc"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-orgad86a33" class="outline-3">
|
||||
<h3 id="orgad86a33"><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> {
|
||||
@ -406,7 +406,7 @@ Computed data:
|
||||
<span style="color: #228b22;">double</span> * <span style="color: #a0522d;">coefficient</span>;
|
||||
|
||||
<span style="color: #228b22;">double</span> * <span style="color: #a0522d;">mo_vgl</span>;
|
||||
<span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">mo_vgl_date</span>;
|
||||
<span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">mo_vgl_date</span>;
|
||||
|
||||
<span style="color: #228b22;">int32_t</span> <span style="color: #a0522d;">uninitialized</span>;
|
||||
<span style="color: #228b22;">bool</span> <span style="color: #a0522d;">provided</span>;
|
||||
@ -447,8 +447,8 @@ this mechanism.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org059a79a" class="outline-3">
|
||||
<h3 id="org059a79a"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div id="outline-container-org0c3679a" class="outline-3">
|
||||
<h3 id="org0c3679a"><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
|
||||
@ -462,8 +462,8 @@ function returns <code>true</code>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7916903" class="outline-3">
|
||||
<h3 id="org7916903"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-org9ce9cec" class="outline-3">
|
||||
<h3 id="org9ce9cec"><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
|
||||
@ -484,16 +484,16 @@ computed to accelerate the calculations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org36f1fb7" class="outline-2">
|
||||
<h2 id="org36f1fb7"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div id="outline-container-orgf2369f3" class="outline-2">
|
||||
<h2 id="orgf2369f3"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-org2396bdc" class="outline-3">
|
||||
<h3 id="org2396bdc"><span class="section-number-3">2.1</span> Computation of MOs</h3>
|
||||
<div id="outline-container-org3855b76" class="outline-3">
|
||||
<h3 id="org3855b76"><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-orgc105b9d" class="outline-4">
|
||||
<h4 id="orgc105b9d"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div id="outline-container-orga73ad50" class="outline-4">
|
||||
<h4 id="orga73ad50"><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>);
|
||||
@ -502,14 +502,14 @@ computed to accelerate the calculations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7272573" class="outline-4">
|
||||
<h4 id="org7272573"><span class="section-number-4">2.1.2</span> Provide</h4>
|
||||
<div id="outline-container-org0b08091" class="outline-4">
|
||||
<h4 id="org0b08091"><span class="section-number-4">2.1.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4ac7795" class="outline-4">
|
||||
<h4 id="org4ac7795"><span class="section-number-4">2.1.3</span> Compute</h4>
|
||||
<div id="outline-container-org6d768fa" class="outline-4">
|
||||
<h4 id="org6d768fa"><span class="section-number-4">2.1.3</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-1-3">
|
||||
<table id="org50aa090" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org0e1e73a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -628,15 +628,15 @@ computed to accelerate the calculations.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orga7331d3" class="outline-4">
|
||||
<h4 id="orga7331d3"><span class="section-number-4">2.1.4</span> Test</h4>
|
||||
<div id="outline-container-orgb8bb57f" class="outline-4">
|
||||
<h4 id="orgb8bb57f"><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: 2022-02-16 Wed 00:14</p>
|
||||
<p class="date">Created: 2022-02-16 Wed 18:41</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>
|
||||
<!-- 2022-02-16 Wed 00:15 -->
|
||||
<!-- 2022-02-16 Wed 18:41 -->
|
||||
<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="#orgafac5b2">1. Context</a>
|
||||
<li><a href="#org0006ced">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#orgc96cf62">1.1. Data structure</a></li>
|
||||
<li><a href="#org4783a31">1.2. Access functions</a></li>
|
||||
<li><a href="#org17e5b05">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org2925cf6">1.4. Test</a></li>
|
||||
<li><a href="#orgee9519b">1.1. Data structure</a></li>
|
||||
<li><a href="#org69eb5dd">1.2. Access functions</a></li>
|
||||
<li><a href="#org3e5fcf0">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org7ca1af5">1.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org2d163be">2. Computation</a>
|
||||
<li><a href="#orgf623e8c">2. Computation</a>
|
||||
<ul>
|
||||
<li><a href="#org5f6760f">2.1. Nucleus-nucleus distances</a>
|
||||
<li><a href="#org75fa411">2.1. Nucleus-nucleus distances</a>
|
||||
<ul>
|
||||
<li><a href="#org21554a8">2.1.1. Get</a></li>
|
||||
<li><a href="#org14412f3">2.1.2. Compute</a></li>
|
||||
<li><a href="#orgcf6321c">2.1.3. Test</a></li>
|
||||
<li><a href="#orge92552a">2.1.1. Get</a></li>
|
||||
<li><a href="#org2e64c91">2.1.2. Compute</a></li>
|
||||
<li><a href="#org7c1b3b1">2.1.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgb9aab69">2.2. Nucleus-nucleus rescaled distances</a>
|
||||
<li><a href="#orgb20bab2">2.2. Nucleus-nucleus rescaled distances</a>
|
||||
<ul>
|
||||
<li><a href="#org3242b6b">2.2.1. Get</a></li>
|
||||
<li><a href="#orgd1fd16b">2.2.2. Compute</a></li>
|
||||
<li><a href="#orgd515f6d">2.2.3. Test</a></li>
|
||||
<li><a href="#org5d2a0bc">2.2.1. Get</a></li>
|
||||
<li><a href="#org069652f">2.2.2. Compute</a></li>
|
||||
<li><a href="#org7aaa125">2.2.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgbe3e8e7">2.3. Nuclear repulsion energy</a>
|
||||
<li><a href="#org86eb58e">2.3. Nuclear repulsion energy</a>
|
||||
<ul>
|
||||
<li><a href="#orgc79555a">2.3.1. Get</a></li>
|
||||
<li><a href="#org94a8d95">2.3.2. Compute</a></li>
|
||||
<li><a href="#orgdcdb0d5">2.3.3. Test</a></li>
|
||||
<li><a href="#org5ca1030">2.3.1. Get</a></li>
|
||||
<li><a href="#orgee14d11">2.3.2. Compute</a></li>
|
||||
<li><a href="#org0c542e2">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-orgafac5b2" class="outline-2">
|
||||
<h2 id="orgafac5b2"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-org0006ced" class="outline-2">
|
||||
<h2 id="org0006ced"><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:
|
||||
@ -486,8 +486,8 @@ Computed data:
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc96cf62" class="outline-3">
|
||||
<h3 id="orgc96cf62"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-orgee9519b" class="outline-3">
|
||||
<h3 id="orgee9519b"><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> {
|
||||
@ -545,8 +545,8 @@ this mechanism.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4783a31" class="outline-3">
|
||||
<h3 id="org4783a31"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div id="outline-container-org69eb5dd" class="outline-3">
|
||||
<h3 id="org69eb5dd"><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
|
||||
@ -560,8 +560,8 @@ function returns <code>true</code>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org17e5b05" class="outline-3">
|
||||
<h3 id="org17e5b05"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-org3e5fcf0" class="outline-3">
|
||||
<h3 id="org3e5fcf0"><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
|
||||
@ -618,8 +618,8 @@ Sets the rescale parameter for the nuclear distances.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2925cf6" class="outline-3">
|
||||
<h3 id="org2925cf6"><span class="section-number-3">1.4</span> Test</h3>
|
||||
<div id="outline-container-org7ca1af5" class="outline-3">
|
||||
<h3 id="org7ca1af5"><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;
|
||||
@ -703,8 +703,8 @@ rc = qmckl_get_nucleus_charge(context, nucl_charge2, nucl_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2d163be" class="outline-2">
|
||||
<h2 id="org2d163be"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div id="outline-container-orgf623e8c" class="outline-2">
|
||||
<h2 id="orgf623e8c"><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
|
||||
@ -717,12 +717,12 @@ current date is stored.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5f6760f" class="outline-3">
|
||||
<h3 id="org5f6760f"><span class="section-number-3">2.1</span> Nucleus-nucleus distances</h3>
|
||||
<div id="outline-container-org75fa411" class="outline-3">
|
||||
<h3 id="org75fa411"><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-org21554a8" class="outline-4">
|
||||
<h4 id="org21554a8"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div id="outline-container-orge92552a" class="outline-4">
|
||||
<h4 id="orge92552a"><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>
|
||||
@ -734,10 +734,10 @@ current date is stored.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org14412f3" class="outline-4">
|
||||
<h4 id="org14412f3"><span class="section-number-4">2.1.2</span> Compute</h4>
|
||||
<div id="outline-container-org2e64c91" class="outline-4">
|
||||
<h4 id="org2e64c91"><span class="section-number-4">2.1.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-1-2">
|
||||
<table id="org52c1e29" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgb622c0e" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -815,8 +815,8 @@ current date is stored.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgcf6321c" class="outline-4">
|
||||
<h4 id="orgcf6321c"><span class="section-number-4">2.1.3</span> Test</h4>
|
||||
<div id="outline-container-org7c1b3b1" class="outline-4">
|
||||
<h4 id="org7c1b3b1"><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>*/
|
||||
@ -835,12 +835,12 @@ rc = qmckl_get_nucleus_nn_distance(context, distance, nucl_num*nucl_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb9aab69" class="outline-3">
|
||||
<h3 id="orgb9aab69"><span class="section-number-3">2.2</span> Nucleus-nucleus rescaled distances</h3>
|
||||
<div id="outline-container-orgb20bab2" class="outline-3">
|
||||
<h3 id="orgb20bab2"><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-org3242b6b" class="outline-4">
|
||||
<h4 id="org3242b6b"><span class="section-number-4">2.2.1</span> Get</h4>
|
||||
<div id="outline-container-org5d2a0bc" class="outline-4">
|
||||
<h4 id="org5d2a0bc"><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>
|
||||
@ -852,10 +852,10 @@ rc = qmckl_get_nucleus_nn_distance(context, distance, nucl_num*nucl_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd1fd16b" class="outline-4">
|
||||
<h4 id="orgd1fd16b"><span class="section-number-4">2.2.2</span> Compute</h4>
|
||||
<div id="outline-container-org069652f" class="outline-4">
|
||||
<h4 id="org069652f"><span class="section-number-4">2.2.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-2-2">
|
||||
<table id="org1a451d6" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgef3f49e" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -934,8 +934,8 @@ rc = qmckl_get_nucleus_nn_distance(context, distance, nucl_num*nucl_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd515f6d" class="outline-4">
|
||||
<h4 id="orgd515f6d"><span class="section-number-4">2.2.3</span> Test</h4>
|
||||
<div id="outline-container-org7aaa125" class="outline-4">
|
||||
<h4 id="org7aaa125"><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>*/
|
||||
@ -955,8 +955,8 @@ rc = qmckl_get_nucleus_nn_distance(context, distance, nucl_num*nucl_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgbe3e8e7" class="outline-3">
|
||||
<h3 id="orgbe3e8e7"><span class="section-number-3">2.3</span> Nuclear repulsion energy</h3>
|
||||
<div id="outline-container-org86eb58e" class="outline-3">
|
||||
<h3 id="org86eb58e"><span class="section-number-3">2.3</span> Nuclear repulsion energy</h3>
|
||||
<div class="outline-text-3" id="text-2-3">
|
||||
<p>
|
||||
\[
|
||||
@ -965,8 +965,8 @@ rc = qmckl_get_nucleus_nn_distance(context, distance, nucl_num*nucl_num);
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc79555a" class="outline-4">
|
||||
<h4 id="orgc79555a"><span class="section-number-4">2.3.1</span> Get</h4>
|
||||
<div id="outline-container-org5ca1030" class="outline-4">
|
||||
<h4 id="org5ca1030"><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: #a020f0;">const</span> <span style="color: #a0522d;">energy</span>);
|
||||
@ -975,10 +975,10 @@ rc = qmckl_get_nucleus_nn_distance(context, distance, nucl_num*nucl_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org94a8d95" class="outline-4">
|
||||
<h4 id="org94a8d95"><span class="section-number-4">2.3.2</span> Compute</h4>
|
||||
<div id="outline-container-orgee14d11" class="outline-4">
|
||||
<h4 id="orgee14d11"><span class="section-number-4">2.3.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-3-2">
|
||||
<table id="org29a80b9" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org0a3b9a5" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1068,8 +1068,8 @@ rc = qmckl_get_nucleus_nn_distance(context, distance, nucl_num*nucl_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgdcdb0d5" class="outline-4">
|
||||
<h4 id="orgdcdb0d5"><span class="section-number-4">2.3.3</span> Test</h4>
|
||||
<div id="outline-container-org0c542e2" class="outline-4">
|
||||
<h4 id="org0c542e2"><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>*/
|
||||
@ -1089,7 +1089,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: 2022-02-16 Wed 00:15</p>
|
||||
<p class="date">Created: 2022-02-16 Wed 18:41</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>
|
||||
<!-- 2022-02-16 Wed 00:14 -->
|
||||
<!-- 2022-02-16 Wed 18:41 -->
|
||||
<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="#orgbb1d543">1. Control of the numerical precision</a></li>
|
||||
<li><a href="#org5ced1ae">2. Precision</a></li>
|
||||
<li><a href="#org8698ee7">3. Range</a></li>
|
||||
<li><a href="#org5213cd9">4. Helper functions</a></li>
|
||||
<li><a href="#orgedc3670">1. Control of the numerical precision</a></li>
|
||||
<li><a href="#org1d65474">2. Precision</a></li>
|
||||
<li><a href="#orgd84a3f9">3. Range</a></li>
|
||||
<li><a href="#org0793010">4. Helper functions</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgbb1d543" class="outline-2">
|
||||
<h2 id="orgbb1d543"><span class="section-number-2">1</span> Control of the numerical precision</h2>
|
||||
<div id="outline-container-orgedc3670" class="outline-2">
|
||||
<h2 id="orgedc3670"><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="orgc2d041d" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgdaf1fea" 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-org5ced1ae" class="outline-2">
|
||||
<h2 id="org5ced1ae"><span class="section-number-2">2</span> Precision</h2>
|
||||
<div id="outline-container-org1d65474" class="outline-2">
|
||||
<h2 id="org1d65474"><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-org8698ee7" class="outline-2">
|
||||
<h2 id="org8698ee7"><span class="section-number-2">3</span> Range</h2>
|
||||
<div id="outline-container-orgd84a3f9" class="outline-2">
|
||||
<h2 id="orgd84a3f9"><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-org5213cd9" class="outline-2">
|
||||
<h2 id="org5213cd9"><span class="section-number-2">4</span> Helper functions</h2>
|
||||
<div id="outline-container-org0793010" class="outline-2">
|
||||
<h2 id="org0793010"><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: 2022-02-16 Wed 00:14</p>
|
||||
<p class="date">Created: 2022-02-16 Wed 18:41</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>
|
||||
<!-- 2022-02-16 Wed 00:15 -->
|
||||
<!-- 2022-02-16 Wed 18:41 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Point</title>
|
||||
@ -333,25 +333,25 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#orgdebdea5">1. Context</a>
|
||||
<li><a href="#org4fc19ad">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#org523acf5">1.1. Data structure</a></li>
|
||||
<li><a href="#orge8d9b0a">1.2. Access functions</a>
|
||||
<li><a href="#org4980f4a">1.1. Data structure</a></li>
|
||||
<li><a href="#org7f206f5">1.2. Access functions</a>
|
||||
<ul>
|
||||
<li><a href="#org55ca6c2">1.2.1. Number of points</a></li>
|
||||
<li><a href="#orgc226a45">1.2.2. Point coordinates</a></li>
|
||||
<li><a href="#org7f6f6ed">1.2.1. Number of points</a></li>
|
||||
<li><a href="#orgd2f7563">1.2.2. Point coordinates</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org8c4fac7">1.3. Initialization functions</a></li>
|
||||
<li><a href="#orgedfafa6">1.4. Test</a></li>
|
||||
<li><a href="#org7156ba4">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org5f9ba16">1.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgdebdea5" class="outline-2">
|
||||
<h2 id="orgdebdea5"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-org4fc19ad" class="outline-2">
|
||||
<h2 id="org4fc19ad"><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:
|
||||
@ -401,8 +401,8 @@ corresponds to the 3 × <code>num</code> matrix.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org523acf5" class="outline-3">
|
||||
<h3 id="org523acf5"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-org4980f4a" class="outline-3">
|
||||
<h3 id="org4980f4a"><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_point_struct</span> {
|
||||
@ -438,8 +438,8 @@ corresponds to the 3 × <code>num</code> matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge8d9b0a" class="outline-3">
|
||||
<h3 id="orge8d9b0a"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div id="outline-container-org7f206f5" class="outline-3">
|
||||
<h3 id="org7f206f5"><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
|
||||
@ -450,8 +450,8 @@ contains the requested data. Otherwise, this variable is untouched.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org55ca6c2" class="outline-4">
|
||||
<h4 id="org55ca6c2"><span class="section-number-4">1.2.1</span> Number of points</h4>
|
||||
<div id="outline-container-org7f6f6ed" class="outline-4">
|
||||
<h4 id="org7f6f6ed"><span class="section-number-4">1.2.1</span> Number of points</h4>
|
||||
<div class="outline-text-4" id="text-1-2-1">
|
||||
<p>
|
||||
Returns the number of points stored in the context.
|
||||
@ -473,8 +473,8 @@ Returns the number of points stored in the context.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc226a45" class="outline-4">
|
||||
<h4 id="orgc226a45"><span class="section-number-4">1.2.2</span> Point coordinates</h4>
|
||||
<div id="outline-container-orgd2f7563" class="outline-4">
|
||||
<h4 id="orgd2f7563"><span class="section-number-4">1.2.2</span> Point coordinates</h4>
|
||||
<div class="outline-text-4" id="text-1-2-2">
|
||||
<p>
|
||||
Returns the point coordinates as sequences of (x,y,z).
|
||||
@ -502,8 +502,8 @@ The pointer is assumed to point on a memory block of size
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org8c4fac7" class="outline-3">
|
||||
<h3 id="org8c4fac7"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-org7156ba4" class="outline-3">
|
||||
<h3 id="org7156ba4"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div class="outline-text-3" id="text-1-3">
|
||||
<p>
|
||||
When the data is set in the context, if the arrays are large
|
||||
@ -560,7 +560,7 @@ Copy a sequence of <code>num</code> points \((x,y,z)\) into the context.
|
||||
<span style="color: #a020f0;">if</span> (ctx->point.num < num) {
|
||||
|
||||
<span style="color: #a020f0;">if</span> (ctx->point.coord.data != <span style="color: #008b8b;">NULL</span>) {
|
||||
rc = qmckl_matrix_free(context, ctx->point.coord);
|
||||
rc = qmckl_matrix_free(context, &(ctx->point.coord));
|
||||
assert (rc == QMCKL_SUCCESS);
|
||||
}
|
||||
|
||||
@ -616,8 +616,8 @@ Copy a sequence of <code>num</code> points \((x,y,z)\) into the context.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgedfafa6" class="outline-3">
|
||||
<h3 id="orgedfafa6"><span class="section-number-3">1.4</span> Test</h3>
|
||||
<div id="outline-container-org5f9ba16" class="outline-3">
|
||||
<h3 id="org5f9ba16"><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>*/
|
||||
@ -676,7 +676,7 @@ rc = qmckl_get_point (context, <span style="color: #8b2252;">'N'</span>, coord3,
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2022-02-16 Wed 00:15</p>
|
||||
<p class="date">Created: 2022-02-16 Wed 18:41</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>
|
||||
<!-- 2022-02-16 Wed 00:15 -->
|
||||
<!-- 2022-02-16 Wed 18:41 -->
|
||||
<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="#orge9bde91">1. Headers</a></li>
|
||||
<li><a href="#orgad4b4c8">2. Naïve Sherman-Morrison</a>
|
||||
<li><a href="#org21467d7">1. Headers</a></li>
|
||||
<li><a href="#org206ad0e">2. Naïve Sherman-Morrison</a>
|
||||
<ul>
|
||||
<li><a href="#org8e5ed9a">2.1. <code>qmckl_sherman_morrison</code></a>
|
||||
<li><a href="#org54c33c4">2.1. <code>qmckl_sherman_morrison</code></a>
|
||||
<ul>
|
||||
<li><a href="#org11a8ec3">2.1.1. Requirements</a></li>
|
||||
<li><a href="#org9304682">2.1.2. C header</a></li>
|
||||
<li><a href="#orgc2c64d1">2.1.3. C source</a></li>
|
||||
<li><a href="#org6aedded">2.1.4. Performance</a></li>
|
||||
<li><a href="#org3aa52b9">2.1.1. Requirements</a></li>
|
||||
<li><a href="#org321dfa8">2.1.2. C header</a></li>
|
||||
<li><a href="#org3ac3ecb">2.1.3. C source</a></li>
|
||||
<li><a href="#orgf64a142">2.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgb120b71">3. Woodbury 2x2</a>
|
||||
<li><a href="#orgc10d48a">3. Woodbury 2x2</a>
|
||||
<ul>
|
||||
<li><a href="#orgb8d9f40">3.1. <code>qmckl_woodbury_2</code></a>
|
||||
<li><a href="#org5b84f5d">3.1. <code>qmckl_woodbury_2</code></a>
|
||||
<ul>
|
||||
<li><a href="#orga593527">3.1.1. Requirements</a></li>
|
||||
<li><a href="#orgd88ec37">3.1.2. C header</a></li>
|
||||
<li><a href="#org9479968">3.1.3. C source</a></li>
|
||||
<li><a href="#org0b39388">3.1.4. Performance</a></li>
|
||||
<li><a href="#org4ef093d">3.1.1. Requirements</a></li>
|
||||
<li><a href="#org2183829">3.1.2. C header</a></li>
|
||||
<li><a href="#orgfc436db">3.1.3. C source</a></li>
|
||||
<li><a href="#orgf4a9451">3.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org860a05c">4. Woodbury 3x3</a>
|
||||
<li><a href="#org442b4ed">4. Woodbury 3x3</a>
|
||||
<ul>
|
||||
<li><a href="#org6a25d40">4.1. <code>qmckl_woodbury_3</code></a>
|
||||
<li><a href="#org84bb51d">4.1. <code>qmckl_woodbury_3</code></a>
|
||||
<ul>
|
||||
<li><a href="#orgf45f135">4.1.1. Requirements</a></li>
|
||||
<li><a href="#org4a3fe77">4.1.2. C header</a></li>
|
||||
<li><a href="#orgf8a381d">4.1.3. C source</a></li>
|
||||
<li><a href="#org7ae3b68">4.1.4. Performance…</a></li>
|
||||
<li><a href="#orga6f046c">4.1.1. Requirements</a></li>
|
||||
<li><a href="#org336d191">4.1.2. C header</a></li>
|
||||
<li><a href="#orga234ba2">4.1.3. C source</a></li>
|
||||
<li><a href="#org6c227f4">4.1.4. Performance…</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org6413a3f">5. Sherman-Morrison with update splitting</a>
|
||||
<li><a href="#org99ce293">5. Sherman-Morrison with update splitting</a>
|
||||
<ul>
|
||||
<li><a href="#org3a11c2d">5.1. <code>qmckl_sherman_morrison_splitting</code></a>
|
||||
<li><a href="#org38b1294">5.1. <code>qmckl_sherman_morrison_splitting</code></a>
|
||||
<ul>
|
||||
<li><a href="#org5b9c2b3">5.1.1. Requirements</a></li>
|
||||
<li><a href="#org13e475b">5.1.2. C header</a></li>
|
||||
<li><a href="#org55d2262">5.1.3. C source</a></li>
|
||||
<li><a href="#orga01b758">5.1.4. Performance…</a></li>
|
||||
<li><a href="#org4ccdcab">5.1.1. Requirements</a></li>
|
||||
<li><a href="#orga216351">5.1.2. C header</a></li>
|
||||
<li><a href="#org722a878">5.1.3. C source</a></li>
|
||||
<li><a href="#org90211f4">5.1.4. Performance…</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org7f969b0">6. Woodbury 3x3 and 2x2 with Sherman-Morrison and update splitting</a>
|
||||
<li><a href="#orgc94d52c">6. Woodbury 3x3 and 2x2 with Sherman-Morrison and update splitting</a>
|
||||
<ul>
|
||||
<li><a href="#org9d8e02e">6.1. <code>qmckl_sherman_morrison_smw32s</code></a>
|
||||
<li><a href="#orgc6da04b">6.1. <code>qmckl_sherman_morrison_smw32s</code></a>
|
||||
<ul>
|
||||
<li><a href="#org0a7bb9b">6.1.1. Requirements</a></li>
|
||||
<li><a href="#orgf5e8b3a">6.1.2. C header</a></li>
|
||||
<li><a href="#orga9b774e">6.1.3. C source</a></li>
|
||||
<li><a href="#org1e6d9a1">6.1.4. Performance…</a></li>
|
||||
<li><a href="#org819081e">6.1.1. Requirements</a></li>
|
||||
<li><a href="#org2eab354">6.1.2. C header</a></li>
|
||||
<li><a href="#org91f4ea0">6.1.3. C source</a></li>
|
||||
<li><a href="#orgded46f4">6.1.4. Performance…</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org3d72052">7. Helper Functions</a>
|
||||
<li><a href="#orged2871c">7. Helper Functions</a>
|
||||
<ul>
|
||||
<li><a href="#orgd99a1b9">7.1. <code>qmckl_slagel_splitting</code></a>
|
||||
<li><a href="#org5c8b24c">7.1. <code>qmckl_slagel_splitting</code></a>
|
||||
<ul>
|
||||
<li><a href="#org483c1ed">7.1.1. Requirements</a></li>
|
||||
<li><a href="#orgdeddd31">7.1.2. C header</a></li>
|
||||
<li><a href="#org19ad5cd">7.1.3. C source</a></li>
|
||||
<li><a href="#org2642d2e">7.1.4. Performance</a></li>
|
||||
<li><a href="#org825e8f5">7.1.1. Requirements</a></li>
|
||||
<li><a href="#org237b1c7">7.1.2. C header</a></li>
|
||||
<li><a href="#orgf5e3cb0">7.1.3. C source</a></li>
|
||||
<li><a href="#org23bd9de">7.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org7513ece">8. End of files</a></li>
|
||||
<li><a href="#orgd9d7d7a">8. End of files</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge9bde91" class="outline-2">
|
||||
<h2 id="orge9bde91"><span class="section-number-2">1</span> Headers</h2>
|
||||
<div id="outline-container-org21467d7" class="outline-2">
|
||||
<h2 id="org21467d7"><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-orgad4b4c8" class="outline-2">
|
||||
<h2 id="orgad4b4c8"><span class="section-number-2">2</span> Naïve Sherman-Morrison</h2>
|
||||
<div id="outline-container-org206ad0e" class="outline-2">
|
||||
<h2 id="org206ad0e"><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-org8e5ed9a" class="outline-3">
|
||||
<h3 id="org8e5ed9a"><span class="section-number-3">2.1</span> <code>qmckl_sherman_morrison</code></h3>
|
||||
<div id="outline-container-org54c33c4" class="outline-3">
|
||||
<h3 id="org54c33c4"><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
|
||||
@ -478,7 +478,7 @@ If the determinant of the Slater-matrix is passed, it will be updated to the det
|
||||
from applying the updates to the original matrix.
|
||||
</p>
|
||||
|
||||
<table id="orgf9a33f2" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgf702df5" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -557,8 +557,8 @@ from applying the updates to the original matrix.
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org11a8ec3" class="outline-4">
|
||||
<h4 id="org11a8ec3"><span class="section-number-4">2.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org3aa52b9" class="outline-4">
|
||||
<h4 id="org3aa52b9"><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>
|
||||
@ -573,8 +573,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9304682" class="outline-4">
|
||||
<h4 id="org9304682"><span class="section-number-4">2.1.2</span> C header</h4>
|
||||
<div id="outline-container-org321dfa8" class="outline-4">
|
||||
<h4 id="org321dfa8"><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> (
|
||||
@ -592,8 +592,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc2c64d1" class="outline-4">
|
||||
<h4 id="orgc2c64d1"><span class="section-number-4">2.1.3</span> C source</h4>
|
||||
<div id="outline-container-org3ac3ecb" class="outline-4">
|
||||
<h4 id="org3ac3ecb"><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>
|
||||
@ -663,8 +663,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6aedded" class="outline-4">
|
||||
<h4 id="org6aedded"><span class="section-number-4">2.1.4</span> Performance</h4>
|
||||
<div id="outline-container-orgf64a142" class="outline-4">
|
||||
<h4 id="orgf64a142"><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
|
||||
@ -676,12 +676,12 @@ where applying the update causes singular behaviour.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb120b71" class="outline-2">
|
||||
<h2 id="orgb120b71"><span class="section-number-2">3</span> Woodbury 2x2</h2>
|
||||
<div id="outline-container-orgc10d48a" class="outline-2">
|
||||
<h2 id="orgc10d48a"><span class="section-number-2">3</span> Woodbury 2x2</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
</div>
|
||||
<div id="outline-container-orgb8d9f40" class="outline-3">
|
||||
<h3 id="orgb8d9f40"><span class="section-number-3">3.1</span> <code>qmckl_woodbury_2</code></h3>
|
||||
<div id="outline-container-org5b84f5d" class="outline-3">
|
||||
<h3 id="org5b84f5d"><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
|
||||
@ -705,7 +705,7 @@ from applying the updates to the original matrix.
|
||||
|
||||
|
||||
|
||||
<table id="org2a27471" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgf44a737" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -777,8 +777,8 @@ from applying the updates to the original matrix.
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga593527" class="outline-4">
|
||||
<h4 id="orga593527"><span class="section-number-4">3.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org4ef093d" class="outline-4">
|
||||
<h4 id="org4ef093d"><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>
|
||||
@ -792,8 +792,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd88ec37" class="outline-4">
|
||||
<h4 id="orgd88ec37"><span class="section-number-4">3.1.2</span> C header</h4>
|
||||
<div id="outline-container-org2183829" class="outline-4">
|
||||
<h4 id="org2183829"><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> (
|
||||
@ -810,8 +810,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9479968" class="outline-4">
|
||||
<h4 id="org9479968"><span class="section-number-4">3.1.3</span> C source</h4>
|
||||
<div id="outline-container-orgfc436db" class="outline-4">
|
||||
<h4 id="orgfc436db"><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>
|
||||
@ -898,8 +898,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0b39388" class="outline-4">
|
||||
<h4 id="org0b39388"><span class="section-number-4">3.1.4</span> Performance</h4>
|
||||
<div id="outline-container-orgf4a9451" class="outline-4">
|
||||
<h4 id="orgf4a9451"><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
|
||||
@ -910,12 +910,12 @@ it is sure they will not result in a singular matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org860a05c" class="outline-2">
|
||||
<h2 id="org860a05c"><span class="section-number-2">4</span> Woodbury 3x3</h2>
|
||||
<div id="outline-container-org442b4ed" class="outline-2">
|
||||
<h2 id="org442b4ed"><span class="section-number-2">4</span> Woodbury 3x3</h2>
|
||||
<div class="outline-text-2" id="text-4">
|
||||
</div>
|
||||
<div id="outline-container-org6a25d40" class="outline-3">
|
||||
<h3 id="org6a25d40"><span class="section-number-3">4.1</span> <code>qmckl_woodbury_3</code></h3>
|
||||
<div id="outline-container-org84bb51d" class="outline-3">
|
||||
<h3 id="org84bb51d"><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
|
||||
@ -936,7 +936,7 @@ from applying the updates to the original matrix.
|
||||
|
||||
|
||||
|
||||
<table id="org84ce6db" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org62f4d58" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1008,8 +1008,8 @@ from applying the updates to the original matrix.
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf45f135" class="outline-4">
|
||||
<h4 id="orgf45f135"><span class="section-number-4">4.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-orga6f046c" class="outline-4">
|
||||
<h4 id="orga6f046c"><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>
|
||||
@ -1023,8 +1023,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4a3fe77" class="outline-4">
|
||||
<h4 id="org4a3fe77"><span class="section-number-4">4.1.2</span> C header</h4>
|
||||
<div id="outline-container-org336d191" class="outline-4">
|
||||
<h4 id="org336d191"><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> (
|
||||
@ -1041,8 +1041,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf8a381d" class="outline-4">
|
||||
<h4 id="orgf8a381d"><span class="section-number-4">4.1.3</span> C source</h4>
|
||||
<div id="outline-container-orga234ba2" class="outline-4">
|
||||
<h4 id="orga234ba2"><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>
|
||||
@ -1144,8 +1144,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7ae3b68" class="outline-4">
|
||||
<h4 id="org7ae3b68"><span class="section-number-4">4.1.4</span> Performance…</h4>
|
||||
<div id="outline-container-org6c227f4" class="outline-4">
|
||||
<h4 id="org6c227f4"><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
|
||||
@ -1156,12 +1156,12 @@ it is sure they will not result in a singular matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6413a3f" class="outline-2">
|
||||
<h2 id="org6413a3f"><span class="section-number-2">5</span> Sherman-Morrison with update splitting</h2>
|
||||
<div id="outline-container-org99ce293" class="outline-2">
|
||||
<h2 id="org99ce293"><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-org3a11c2d" class="outline-3">
|
||||
<h3 id="org3a11c2d"><span class="section-number-3">5.1</span> <code>qmckl_sherman_morrison_splitting</code></h3>
|
||||
<div id="outline-container-org38b1294" class="outline-3">
|
||||
<h3 id="org38b1294"><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
|
||||
@ -1183,7 +1183,7 @@ If the determinant of the Slater-matrix is passed, it will be updated to the det
|
||||
from applying the updates to the original matrix.
|
||||
</p>
|
||||
|
||||
<table id="org9dc1fcc" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org48155dc" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1267,8 +1267,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org5b9c2b3" class="outline-4">
|
||||
<h4 id="org5b9c2b3"><span class="section-number-4">5.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org4ccdcab" class="outline-4">
|
||||
<h4 id="org4ccdcab"><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>
|
||||
@ -1283,8 +1283,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org13e475b" class="outline-4">
|
||||
<h4 id="org13e475b"><span class="section-number-4">5.1.2</span> C header</h4>
|
||||
<div id="outline-container-orga216351" class="outline-4">
|
||||
<h4 id="orga216351"><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> (
|
||||
@ -1302,8 +1302,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org55d2262" class="outline-4">
|
||||
<h4 id="org55d2262"><span class="section-number-4">5.1.3</span> C source</h4>
|
||||
<div id="outline-container-org722a878" class="outline-4">
|
||||
<h4 id="org722a878"><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>
|
||||
@ -1343,8 +1343,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga01b758" class="outline-4">
|
||||
<h4 id="orga01b758"><span class="section-number-4">5.1.4</span> Performance…</h4>
|
||||
<div id="outline-container-org90211f4" class="outline-4">
|
||||
<h4 id="org90211f4"><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.
|
||||
@ -1354,12 +1354,12 @@ This kernel performs best when there are 2 or more rank-1 update cycles and fail
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7f969b0" class="outline-2">
|
||||
<h2 id="org7f969b0"><span class="section-number-2">6</span> Woodbury 3x3 and 2x2 with Sherman-Morrison and update splitting</h2>
|
||||
<div id="outline-container-orgc94d52c" class="outline-2">
|
||||
<h2 id="orgc94d52c"><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-org9d8e02e" class="outline-3">
|
||||
<h3 id="org9d8e02e"><span class="section-number-3">6.1</span> <code>qmckl_sherman_morrison_smw32s</code></h3>
|
||||
<div id="outline-container-orgc6da04b" class="outline-3">
|
||||
<h3 id="orgc6da04b"><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,
|
||||
@ -1374,7 +1374,7 @@ If the determinant of the Slater-matrix is passed, it will be updated to the det
|
||||
from applying the updates to the original matrix.
|
||||
</p>
|
||||
|
||||
<table id="org06fdcfb" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org2cf799d" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1454,8 +1454,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org0a7bb9b" class="outline-4">
|
||||
<h4 id="org0a7bb9b"><span class="section-number-4">6.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org819081e" class="outline-4">
|
||||
<h4 id="org819081e"><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>
|
||||
@ -1470,8 +1470,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf5e8b3a" class="outline-4">
|
||||
<h4 id="orgf5e8b3a"><span class="section-number-4">6.1.2</span> C header</h4>
|
||||
<div id="outline-container-org2eab354" class="outline-4">
|
||||
<h4 id="org2eab354"><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> (
|
||||
@ -1489,8 +1489,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga9b774e" class="outline-4">
|
||||
<h4 id="orga9b774e"><span class="section-number-4">6.1.3</span> C source</h4>
|
||||
<div id="outline-container-org91f4ea0" class="outline-4">
|
||||
<h4 id="org91f4ea0"><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>
|
||||
@ -1568,8 +1568,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1e6d9a1" class="outline-4">
|
||||
<h4 id="org1e6d9a1"><span class="section-number-4">6.1.4</span> Performance…</h4>
|
||||
<div id="outline-container-orgded46f4" class="outline-4">
|
||||
<h4 id="orgded46f4"><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.
|
||||
@ -1579,8 +1579,8 @@ This kernel performs best for update cycles with 2 or more rank-1 updates and th
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3d72052" class="outline-2">
|
||||
<h2 id="org3d72052"><span class="section-number-2">7</span> Helper Functions</h2>
|
||||
<div id="outline-container-orged2871c" class="outline-2">
|
||||
<h2 id="orged2871c"><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.
|
||||
@ -1588,8 +1588,8 @@ These functions can only be used internally by the kernels in this module.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd99a1b9" class="outline-3">
|
||||
<h3 id="orgd99a1b9"><span class="section-number-3">7.1</span> <code>qmckl_slagel_splitting</code></h3>
|
||||
<div id="outline-container-org5c8b24c" class="outline-3">
|
||||
<h3 id="org5c8b24c"><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.
|
||||
@ -1609,7 +1609,7 @@ If the determinant of the Slater-matrix is passed, it will be updated to the det
|
||||
from applying the updates to the original matrix.
|
||||
</p>
|
||||
|
||||
<table id="org6b47224" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgf143735" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1703,8 +1703,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org483c1ed" class="outline-4">
|
||||
<h4 id="org483c1ed"><span class="section-number-4">7.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org825e8f5" class="outline-4">
|
||||
<h4 id="org825e8f5"><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>LDS >= 2</code></li>
|
||||
@ -1721,8 +1721,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgdeddd31" class="outline-4">
|
||||
<h4 id="orgdeddd31"><span class="section-number-4">7.1.2</span> C header</h4>
|
||||
<div id="outline-container-org237b1c7" class="outline-4">
|
||||
<h4 id="org237b1c7"><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> (
|
||||
@ -1742,8 +1742,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org19ad5cd" class="outline-4">
|
||||
<h4 id="org19ad5cd"><span class="section-number-4">7.1.3</span> C source</h4>
|
||||
<div id="outline-container-orgf5e3cb0" class="outline-4">
|
||||
<h4 id="orgf5e3cb0"><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>
|
||||
@ -1821,8 +1821,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2642d2e" class="outline-4">
|
||||
<h4 id="org2642d2e"><span class="section-number-4">7.1.4</span> Performance</h4>
|
||||
<div id="outline-container-org23bd9de" class="outline-4">
|
||||
<h4 id="org23bd9de"><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
|
||||
@ -1833,8 +1833,8 @@ with Sherman-Morrison and update splitting. Please look at the performance recco
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7513ece" class="outline-2">
|
||||
<h2 id="org7513ece"><span class="section-number-2">8</span> End of files</h2>
|
||||
<div id="outline-container-orgd9d7d7a" class="outline-2">
|
||||
<h2 id="orgd9d7d7a"><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);
|
||||
@ -1848,7 +1848,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: 2022-02-16 Wed 00:15</p>
|
||||
<p class="date">Created: 2022-02-16 Wed 18:41</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>
|
||||
<!-- 2022-02-16 Wed 00:15 -->
|
||||
<!-- 2022-02-16 Wed 18:41 -->
|
||||
<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="#org6048909">1. CHBrClF</a>
|
||||
<li><a href="#org8318443">1. CHBrClF</a>
|
||||
<ul>
|
||||
<li><a href="#org1956564">1.1. XYZ coordinates</a></li>
|
||||
<li><a href="#org42f5832">1.2. Atomic basis set</a></li>
|
||||
<li><a href="#org9a49fdb">1.3. Molecular orbitals</a></li>
|
||||
<li><a href="#org16ed2da">1.4. Electron coordinates</a></li>
|
||||
<li><a href="#orgf63cb03">1.1. XYZ coordinates</a></li>
|
||||
<li><a href="#orge02f00f">1.2. Atomic basis set</a></li>
|
||||
<li><a href="#orge40f72d">1.3. Molecular orbitals</a></li>
|
||||
<li><a href="#org7eea181">1.4. Electron coordinates</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org07282e7">2. N2</a>
|
||||
<li><a href="#orgef3f018">2. N2</a>
|
||||
<ul>
|
||||
<li><a href="#orgc60e8f4">2.1. XYZ coordinates</a></li>
|
||||
<li><a href="#org98bdde9">2.2. Electron coordinates</a></li>
|
||||
<li><a href="#orgc155e06">2.3. Jastrow related data</a></li>
|
||||
<li><a href="#org8a5f7c8">2.1. XYZ coordinates</a></li>
|
||||
<li><a href="#orgbd5f7fa">2.2. Electron coordinates</a></li>
|
||||
<li><a href="#org3504856">2.3. Jastrow related data</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6048909" class="outline-2">
|
||||
<h2 id="org6048909"><span class="section-number-2">1</span> CHBrClF</h2>
|
||||
<div id="outline-container-org8318443" class="outline-2">
|
||||
<h2 id="org8318443"><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-org1956564" class="outline-3">
|
||||
<h3 id="org1956564"><span class="section-number-3">1.1</span> XYZ coordinates</h3>
|
||||
<div id="outline-container-orgf63cb03" class="outline-3">
|
||||
<h3 id="orgf63cb03"><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-org42f5832" class="outline-3">
|
||||
<h3 id="org42f5832"><span class="section-number-3">1.2</span> Atomic basis set</h3>
|
||||
<div id="outline-container-orge02f00f" class="outline-3">
|
||||
<h3 id="orge02f00f"><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-org9a49fdb" class="outline-3">
|
||||
<h3 id="org9a49fdb"><span class="section-number-3">1.3</span> Molecular orbitals</h3>
|
||||
<div id="outline-container-orge40f72d" class="outline-3">
|
||||
<h3 id="orge40f72d"><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-org16ed2da" class="outline-3">
|
||||
<h3 id="org16ed2da"><span class="section-number-3">1.4</span> Electron coordinates</h3>
|
||||
<div id="outline-container-org7eea181" class="outline-3">
|
||||
<h3 id="org7eea181"><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.
|
||||
@ -60373,8 +60373,8 @@ Electron coordinates are stored in atomic units in normal format.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org07282e7" class="outline-2">
|
||||
<h2 id="org07282e7"><span class="section-number-2">2</span> N2</h2>
|
||||
<div id="outline-container-orgef3f018" class="outline-2">
|
||||
<h2 id="orgef3f018"><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
|
||||
@ -60415,8 +60415,8 @@ treated by pseudopotentials thus excluded from the actual calculation.
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc60e8f4" class="outline-3">
|
||||
<h3 id="orgc60e8f4"><span class="section-number-3">2.1</span> XYZ coordinates</h3>
|
||||
<div id="outline-container-org8a5f7c8" class="outline-3">
|
||||
<h3 id="org8a5f7c8"><span class="section-number-3">2.1</span> XYZ coordinates</h3>
|
||||
<div class="outline-text-3" id="text-2-1">
|
||||
<pre class="example">
|
||||
2
|
||||
@ -60443,8 +60443,8 @@ Nuclear coordinates are stored in atomic units in transposed format.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org98bdde9" class="outline-3">
|
||||
<h3 id="org98bdde9"><span class="section-number-3">2.2</span> Electron coordinates</h3>
|
||||
<div id="outline-container-orgbd5f7fa" class="outline-3">
|
||||
<h3 id="orgbd5f7fa"><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.
|
||||
@ -60473,8 +60473,8 @@ Electron coordinates are stored in atomic units in normal format.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc155e06" class="outline-3">
|
||||
<h3 id="orgc155e06"><span class="section-number-3">2.3</span> Jastrow related data</h3>
|
||||
<div id="outline-container-org3504856" class="outline-3">
|
||||
<h3 id="org3504856"><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
|
||||
@ -60573,7 +60573,7 @@ Ramon Panades Baruetta.
|
||||
</div>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="date">Created: 2022-02-16 Wed 00:15</p>
|
||||
<p class="date">Created: 2022-02-16 Wed 18:41</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>
|
||||
<!-- 2022-02-16 Wed 00:14 -->
|
||||
<!-- 2022-02-16 Wed 18:41 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>TREXIO I/O library</title>
|
||||
@ -311,53 +311,53 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#org6ec33a9">1. Local functions</a>
|
||||
<li><a href="#org1f2337a">1. Local functions</a>
|
||||
<ul>
|
||||
<li><a href="#orge894726">1.1. Open file</a></li>
|
||||
<li><a href="#orgda5186a">1.2. Electron</a></li>
|
||||
<li><a href="#org0fd9b73">1.3. Nucleus</a>
|
||||
<li><a href="#org93df40c">1.1. Open file</a></li>
|
||||
<li><a href="#orgc65f981">1.2. Electron</a></li>
|
||||
<li><a href="#org2f0d74b">1.3. Nucleus</a>
|
||||
<ul>
|
||||
<li><a href="#orge969881">1.3.1. Number of nuclei</a></li>
|
||||
<li><a href="#org45c1117">1.3.2. Nuclear charges</a></li>
|
||||
<li><a href="#orgaaf9757">1.3.3. Nuclear coordinates</a></li>
|
||||
<li><a href="#org5e33fcd">1.3.1. Number of nuclei</a></li>
|
||||
<li><a href="#orgacd5bba">1.3.2. Nuclear charges</a></li>
|
||||
<li><a href="#org1fe346b">1.3.3. Nuclear coordinates</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org13164aa">1.4. Basis set and AOs</a>
|
||||
<li><a href="#orgdc897ba">1.4. Basis set and AOs</a>
|
||||
<ul>
|
||||
<li><a href="#org0b6fc9b">1.4.1. Basis set type</a></li>
|
||||
<li><a href="#org6d9559b">1.4.2. Number of shells</a></li>
|
||||
<li><a href="#org3766623">1.4.3. Number of primitives</a></li>
|
||||
<li><a href="#org497d8c5">1.4.4. Number of atomic orbitals</a></li>
|
||||
<li><a href="#orgce34fa6">1.4.5. Nucleus<sub>index</sub> array</a></li>
|
||||
<li><a href="#org7f04452">1.4.6. Number of shells per nucleus</a></li>
|
||||
<li><a href="#org013c315">1.4.7. Angular momentum</a></li>
|
||||
<li><a href="#orgb5baa7e">1.4.8. Number of primitives per shell</a></li>
|
||||
<li><a href="#org9726dab">1.4.9. Indices of the primitives</a></li>
|
||||
<li><a href="#org92b9459">1.4.10. Normalization of the shells</a></li>
|
||||
<li><a href="#orga86e831">1.4.11. Exponents</a></li>
|
||||
<li><a href="#org71bcc1a">1.4.12. Coefficients</a></li>
|
||||
<li><a href="#orga13ac08">1.4.13. Normalization of the primitivies</a></li>
|
||||
<li><a href="#org361b85c">1.4.14. AO Normalization</a></li>
|
||||
<li><a href="#orgb7c0fb6">1.4.1. Basis set type</a></li>
|
||||
<li><a href="#org03846a8">1.4.2. Number of shells</a></li>
|
||||
<li><a href="#org3313a68">1.4.3. Number of primitives</a></li>
|
||||
<li><a href="#orgfbbbc76">1.4.4. Number of atomic orbitals</a></li>
|
||||
<li><a href="#orgd38e1fb">1.4.5. Nucleus<sub>index</sub> array</a></li>
|
||||
<li><a href="#orgecab845">1.4.6. Number of shells per nucleus</a></li>
|
||||
<li><a href="#org0fb6493">1.4.7. Angular momentum</a></li>
|
||||
<li><a href="#org0ade754">1.4.8. Number of primitives per shell</a></li>
|
||||
<li><a href="#orgc6f2a64">1.4.9. Indices of the primitives</a></li>
|
||||
<li><a href="#org13762e1">1.4.10. Normalization of the shells</a></li>
|
||||
<li><a href="#orgc07c1a4">1.4.11. Exponents</a></li>
|
||||
<li><a href="#org3df3382">1.4.12. Coefficients</a></li>
|
||||
<li><a href="#org504affa">1.4.13. Normalization of the primitivies</a></li>
|
||||
<li><a href="#org597043e">1.4.14. AO Normalization</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orga9faddc">1.5. Molecular orbitals</a>
|
||||
<li><a href="#org144ad23">1.5. Molecular orbitals</a>
|
||||
<ul>
|
||||
<li><a href="#orgf825398">1.5.1. Number of MOs</a></li>
|
||||
<li><a href="#org1b93db7">1.5.2. MO coefficients</a></li>
|
||||
<li><a href="#org8012a54">1.5.1. Number of MOs</a></li>
|
||||
<li><a href="#org7944829">1.5.2. MO coefficients</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org9d4b30c">1.6. <span class="todo TODO">TODO</span> ECP</a></li>
|
||||
<li><a href="#orga3d04d8">1.6. <span class="todo TODO">TODO</span> ECP</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgb114213">2. Read everything</a></li>
|
||||
<li><a href="#orge23c3d1">3. Test</a>
|
||||
<li><a href="#org7dba321">2. Read everything</a></li>
|
||||
<li><a href="#orgd8e4c17">3. Test</a>
|
||||
<ul>
|
||||
<li>
|
||||
<ul>
|
||||
<li><a href="#orgcf91e68">3.0.1. Electrons</a></li>
|
||||
<li><a href="#org5c47efe">3.0.2. Nuclei</a></li>
|
||||
<li><a href="#orgf2e2695">3.0.3. Atomic basis</a></li>
|
||||
<li><a href="#org464670c">3.0.4. MO Basis</a></li>
|
||||
<li><a href="#org64b1ce6">3.0.1. Electrons</a></li>
|
||||
<li><a href="#org5508fc6">3.0.2. Nuclei</a></li>
|
||||
<li><a href="#org76d8ec6">3.0.3. Atomic basis</a></li>
|
||||
<li><a href="#org6c06d17">3.0.4. MO Basis</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@ -366,8 +366,8 @@ for the JavaScript code in this tag.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6ec33a9" class="outline-2">
|
||||
<h2 id="org6ec33a9"><span class="section-number-2">1</span> Local functions</h2>
|
||||
<div id="outline-container-org1f2337a" class="outline-2">
|
||||
<h2 id="org1f2337a"><span class="section-number-2">1</span> Local functions</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
Functions defined in this section are all local: they should not be
|
||||
@ -390,8 +390,8 @@ In the functions defined in this section, we use as local variables
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge894726" class="outline-3">
|
||||
<h3 id="orge894726"><span class="section-number-3">1.1</span> Open file</h3>
|
||||
<div id="outline-container-org93df40c" class="outline-3">
|
||||
<h3 id="org93df40c"><span class="section-number-3">1.1</span> Open file</h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<p>
|
||||
We first define a helper function to open a file by first trying to
|
||||
@ -423,8 +423,8 @@ groups of data by passing the <code>trexio_t</code> handle.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgda5186a" class="outline-3">
|
||||
<h3 id="orgda5186a"><span class="section-number-3">1.2</span> Electron</h3>
|
||||
<div id="outline-container-orgc65f981" class="outline-3">
|
||||
<h3 id="orgc65f981"><span class="section-number-3">1.2</span> Electron</h3>
|
||||
<div class="outline-text-3" id="text-1-2">
|
||||
<p>
|
||||
In this section we read all the data into the electron data structure.
|
||||
@ -475,8 +475,8 @@ We read the number of up-spin and down-spin electrons.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0fd9b73" class="outline-3">
|
||||
<h3 id="org0fd9b73"><span class="section-number-3">1.3</span> Nucleus</h3>
|
||||
<div id="outline-container-org2f0d74b" class="outline-3">
|
||||
<h3 id="org2f0d74b"><span class="section-number-3">1.3</span> Nucleus</h3>
|
||||
<div class="outline-text-3" id="text-1-3">
|
||||
<p>
|
||||
In this section we read the number of nuclei, the molecular geometry and nuclear charges.
|
||||
@ -496,8 +496,8 @@ In this section we read the number of nuclei, the molecular geometry and nuclear
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge969881" class="outline-4">
|
||||
<h4 id="orge969881"><span class="section-number-4">1.3.1</span> Number of nuclei</h4>
|
||||
<div id="outline-container-org5e33fcd" class="outline-4">
|
||||
<h4 id="org5e33fcd"><span class="section-number-4">1.3.1</span> Number of nuclei</h4>
|
||||
<div class="outline-text-4" id="text-1-3-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">nucleus_num</span> = 0L;
|
||||
@ -520,8 +520,8 @@ rc = qmckl_set_nucleus_num(context, nucleus_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org45c1117" class="outline-4">
|
||||
<h4 id="org45c1117"><span class="section-number-4">1.3.2</span> Nuclear charges</h4>
|
||||
<div id="outline-container-orgacd5bba" class="outline-4">
|
||||
<h4 id="orgacd5bba"><span class="section-number-4">1.3.2</span> Nuclear charges</h4>
|
||||
<div class="outline-text-4" id="text-1-3-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">{
|
||||
@ -561,8 +561,8 @@ rc = qmckl_set_nucleus_num(context, nucleus_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgaaf9757" class="outline-4">
|
||||
<h4 id="orgaaf9757"><span class="section-number-4">1.3.3</span> Nuclear coordinates</h4>
|
||||
<div id="outline-container-org1fe346b" class="outline-4">
|
||||
<h4 id="org1fe346b"><span class="section-number-4">1.3.3</span> Nuclear coordinates</h4>
|
||||
<div class="outline-text-4" id="text-1-3-3">
|
||||
<p>
|
||||
Now, we read the molecular geometry. It is stored in normal format
|
||||
@ -617,8 +617,8 @@ in the TREXIO file (<code>'N'</code>), so it will be automatically transposed in
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org13164aa" class="outline-3">
|
||||
<h3 id="org13164aa"><span class="section-number-3">1.4</span> Basis set and AOs</h3>
|
||||
<div id="outline-container-orgdc897ba" class="outline-3">
|
||||
<h3 id="orgdc897ba"><span class="section-number-3">1.4</span> Basis set and AOs</h3>
|
||||
<div class="outline-text-3" id="text-1-4">
|
||||
<p>
|
||||
In this section we read the atomic basis set and atomic orbitals.
|
||||
@ -644,8 +644,8 @@ In this section we read the atomic basis set and atomic orbitals.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0b6fc9b" class="outline-4">
|
||||
<h4 id="org0b6fc9b"><span class="section-number-4">1.4.1</span> Basis set type</h4>
|
||||
<div id="outline-container-orgb7c0fb6" class="outline-4">
|
||||
<h4 id="orgb7c0fb6"><span class="section-number-4">1.4.1</span> Basis set type</h4>
|
||||
<div class="outline-text-4" id="text-1-4-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #483d8b;">#define</span> <span style="color: #a0522d;">MAX_STR_LEN</span> 1024
|
||||
@ -676,8 +676,8 @@ In this section we read the atomic basis set and atomic orbitals.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6d9559b" class="outline-4">
|
||||
<h4 id="org6d9559b"><span class="section-number-4">1.4.2</span> Number of shells</h4>
|
||||
<div id="outline-container-org03846a8" class="outline-4">
|
||||
<h4 id="org03846a8"><span class="section-number-4">1.4.2</span> Number of shells</h4>
|
||||
<div class="outline-text-4" id="text-1-4-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">shell_num</span> = 0L;
|
||||
@ -701,8 +701,8 @@ rc = qmckl_set_ao_basis_shell_num(context, shell_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3766623" class="outline-4">
|
||||
<h4 id="org3766623"><span class="section-number-4">1.4.3</span> Number of primitives</h4>
|
||||
<div id="outline-container-org3313a68" class="outline-4">
|
||||
<h4 id="org3313a68"><span class="section-number-4">1.4.3</span> Number of primitives</h4>
|
||||
<div class="outline-text-4" id="text-1-4-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">prim_num</span> = 0L;
|
||||
@ -726,8 +726,8 @@ rc = qmckl_set_ao_basis_prim_num(context, prim_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org497d8c5" class="outline-4">
|
||||
<h4 id="org497d8c5"><span class="section-number-4">1.4.4</span> Number of atomic orbitals</h4>
|
||||
<div id="outline-container-orgfbbbc76" class="outline-4">
|
||||
<h4 id="orgfbbbc76"><span class="section-number-4">1.4.4</span> Number of atomic orbitals</h4>
|
||||
<div class="outline-text-4" id="text-1-4-4">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">ao_num</span> = 0LL;
|
||||
@ -751,8 +751,8 @@ rc = qmckl_set_ao_basis_ao_num(context, ao_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgce34fa6" class="outline-4">
|
||||
<h4 id="orgce34fa6"><span class="section-number-4">1.4.5</span> Nucleus<sub>index</sub> array</h4>
|
||||
<div id="outline-container-orgd38e1fb" class="outline-4">
|
||||
<h4 id="orgd38e1fb"><span class="section-number-4">1.4.5</span> Nucleus<sub>index</sub> array</h4>
|
||||
<div class="outline-text-4" id="text-1-4-5">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">{
|
||||
@ -801,6 +801,11 @@ rc = qmckl_set_ao_basis_ao_num(context, ao_num);
|
||||
|
||||
/* <span style="color: #b22222;">Reformat data </span>*/
|
||||
rc = qmckl_set_ao_basis_nucleus_index(context, nucleus_index, nucleus_num);
|
||||
<span style="color: #a020f0;">if</span> (rc != QMCKL_SUCCESS) {
|
||||
qmckl_free(context, nucleus_index);
|
||||
nucleus_index = <span style="color: #008b8b;">NULL</span>;
|
||||
<span style="color: #a020f0;">return</span> rc;
|
||||
}
|
||||
|
||||
<span style="color: #a020f0;">for</span> (<span style="color: #228b22;">int</span> <span style="color: #a0522d;">i</span>=shell_num-1 ; i>=0 ; --i) {
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int</span> <span style="color: #a0522d;">k</span> = tmp_array[i];
|
||||
@ -834,8 +839,8 @@ rc = qmckl_set_ao_basis_ao_num(context, ao_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7f04452" class="outline-4">
|
||||
<h4 id="org7f04452"><span class="section-number-4">1.4.6</span> Number of shells per nucleus</h4>
|
||||
<div id="outline-container-orgecab845" class="outline-4">
|
||||
<h4 id="orgecab845"><span class="section-number-4">1.4.6</span> Number of shells per nucleus</h4>
|
||||
<div class="outline-text-4" id="text-1-4-6">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">{
|
||||
@ -920,8 +925,8 @@ rc = qmckl_set_ao_basis_ao_num(context, ao_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org013c315" class="outline-4">
|
||||
<h4 id="org013c315"><span class="section-number-4">1.4.7</span> Angular momentum</h4>
|
||||
<div id="outline-container-org0fb6493" class="outline-4">
|
||||
<h4 id="org0fb6493"><span class="section-number-4">1.4.7</span> Angular momentum</h4>
|
||||
<div class="outline-text-4" id="text-1-4-7">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">{
|
||||
@ -966,8 +971,8 @@ rc = qmckl_set_ao_basis_ao_num(context, ao_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb5baa7e" class="outline-4">
|
||||
<h4 id="orgb5baa7e"><span class="section-number-4">1.4.8</span> Number of primitives per shell</h4>
|
||||
<div id="outline-container-org0ade754" class="outline-4">
|
||||
<h4 id="org0ade754"><span class="section-number-4">1.4.8</span> Number of primitives per shell</h4>
|
||||
<div class="outline-text-4" id="text-1-4-8">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">{
|
||||
@ -1051,8 +1056,8 @@ rc = qmckl_set_ao_basis_ao_num(context, ao_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9726dab" class="outline-4">
|
||||
<h4 id="org9726dab"><span class="section-number-4">1.4.9</span> Indices of the primitives</h4>
|
||||
<div id="outline-container-orgc6f2a64" class="outline-4">
|
||||
<h4 id="orgc6f2a64"><span class="section-number-4">1.4.9</span> Indices of the primitives</h4>
|
||||
<div class="outline-text-4" id="text-1-4-9">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">{
|
||||
@ -1132,8 +1137,8 @@ rc = qmckl_set_ao_basis_ao_num(context, ao_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org92b9459" class="outline-4">
|
||||
<h4 id="org92b9459"><span class="section-number-4">1.4.10</span> Normalization of the shells</h4>
|
||||
<div id="outline-container-org13762e1" class="outline-4">
|
||||
<h4 id="org13762e1"><span class="section-number-4">1.4.10</span> Normalization of the shells</h4>
|
||||
<div class="outline-text-4" id="text-1-4-10">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">{
|
||||
@ -1178,8 +1183,8 @@ rc = qmckl_set_ao_basis_ao_num(context, ao_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga86e831" class="outline-4">
|
||||
<h4 id="orga86e831"><span class="section-number-4">1.4.11</span> Exponents</h4>
|
||||
<div id="outline-container-orgc07c1a4" class="outline-4">
|
||||
<h4 id="orgc07c1a4"><span class="section-number-4">1.4.11</span> Exponents</h4>
|
||||
<div class="outline-text-4" id="text-1-4-11">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">{
|
||||
@ -1224,8 +1229,8 @@ rc = qmckl_set_ao_basis_ao_num(context, ao_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org71bcc1a" class="outline-4">
|
||||
<h4 id="org71bcc1a"><span class="section-number-4">1.4.12</span> Coefficients</h4>
|
||||
<div id="outline-container-org3df3382" class="outline-4">
|
||||
<h4 id="org3df3382"><span class="section-number-4">1.4.12</span> Coefficients</h4>
|
||||
<div class="outline-text-4" id="text-1-4-12">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">{
|
||||
@ -1270,8 +1275,8 @@ rc = qmckl_set_ao_basis_ao_num(context, ao_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga13ac08" class="outline-4">
|
||||
<h4 id="orga13ac08"><span class="section-number-4">1.4.13</span> Normalization of the primitivies</h4>
|
||||
<div id="outline-container-org504affa" class="outline-4">
|
||||
<h4 id="org504affa"><span class="section-number-4">1.4.13</span> Normalization of the primitivies</h4>
|
||||
<div class="outline-text-4" id="text-1-4-13">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">{
|
||||
@ -1316,8 +1321,8 @@ rc = qmckl_set_ao_basis_ao_num(context, ao_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org361b85c" class="outline-4">
|
||||
<h4 id="org361b85c"><span class="section-number-4">1.4.14</span> AO Normalization</h4>
|
||||
<div id="outline-container-org597043e" class="outline-4">
|
||||
<h4 id="org597043e"><span class="section-number-4">1.4.14</span> AO Normalization</h4>
|
||||
<div class="outline-text-4" id="text-1-4-14">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">{
|
||||
@ -1372,8 +1377,8 @@ rc = qmckl_set_ao_basis_ao_num(context, ao_num);
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orga9faddc" class="outline-3">
|
||||
<h3 id="orga9faddc"><span class="section-number-3">1.5</span> Molecular orbitals</h3>
|
||||
<div id="outline-container-org144ad23" class="outline-3">
|
||||
<h3 id="org144ad23"><span class="section-number-3">1.5</span> Molecular orbitals</h3>
|
||||
<div class="outline-text-3" id="text-1-5">
|
||||
<p>
|
||||
In this section we read the MO coefficients.
|
||||
@ -1399,8 +1404,8 @@ In this section we read the MO coefficients.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf825398" class="outline-4">
|
||||
<h4 id="orgf825398"><span class="section-number-4">1.5.1</span> Number of MOs</h4>
|
||||
<div id="outline-container-org8012a54" class="outline-4">
|
||||
<h4 id="org8012a54"><span class="section-number-4">1.5.1</span> Number of MOs</h4>
|
||||
<div class="outline-text-4" id="text-1-5-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">mo_num</span> = 0L;
|
||||
@ -1423,8 +1428,8 @@ rc = qmckl_set_mo_basis_mo_num(context, mo_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1b93db7" class="outline-4">
|
||||
<h4 id="org1b93db7"><span class="section-number-4">1.5.2</span> MO coefficients</h4>
|
||||
<div id="outline-container-org7944829" class="outline-4">
|
||||
<h4 id="org7944829"><span class="section-number-4">1.5.2</span> MO coefficients</h4>
|
||||
<div class="outline-text-4" id="text-1-5-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">{
|
||||
@ -1473,12 +1478,12 @@ rc = qmckl_set_mo_basis_mo_num(context, mo_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9d4b30c" class="outline-3">
|
||||
<h3 id="org9d4b30c"><span class="section-number-3">1.6</span> <span class="todo TODO">TODO</span> ECP</h3>
|
||||
<div id="outline-container-orga3d04d8" class="outline-3">
|
||||
<h3 id="orga3d04d8"><span class="section-number-3">1.6</span> <span class="todo TODO">TODO</span> ECP</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgb114213" class="outline-2">
|
||||
<h2 id="orgb114213"><span class="section-number-2">2</span> Read everything</h2>
|
||||
<div id="outline-container-org7dba321" class="outline-2">
|
||||
<h2 id="org7dba321"><span class="section-number-2">2</span> Read everything</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_trexio_read</span>(<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #a020f0;">const</span> <span style="color: #228b22;">char</span>* <span style="color: #a0522d;">file_name</span>);
|
||||
@ -1559,8 +1564,8 @@ rc = qmckl_set_mo_basis_mo_num(context, mo_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge23c3d1" class="outline-2">
|
||||
<h2 id="orge23c3d1"><span class="section-number-2">3</span> Test</h2>
|
||||
<div id="outline-container-orgd8e4c17" class="outline-2">
|
||||
<h2 id="orgd8e4c17"><span class="section-number-2">3</span> Test</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #483d8b;">#ifdef</span> HAVE_TREXIO
|
||||
@ -1594,8 +1599,8 @@ rc = qmckl_trexio_read(context, fname);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgcf91e68" class="outline-4">
|
||||
<h4 id="orgcf91e68"><span class="section-number-4">3.0.1</span> Electrons</h4>
|
||||
<div id="outline-container-org64b1ce6" class="outline-4">
|
||||
<h4 id="org64b1ce6"><span class="section-number-4">3.0.1</span> Electrons</h4>
|
||||
<div class="outline-text-4" id="text-3-0-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">printf(<span style="color: #8b2252;">"Electrons\n"</span>);
|
||||
@ -1613,8 +1618,8 @@ rc = qmckl_get_electron_down_num(context, &dn_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5c47efe" class="outline-4">
|
||||
<h4 id="org5c47efe"><span class="section-number-4">3.0.2</span> Nuclei</h4>
|
||||
<div id="outline-container-org5508fc6" class="outline-4">
|
||||
<h4 id="org5508fc6"><span class="section-number-4">3.0.2</span> Nuclei</h4>
|
||||
<div class="outline-text-4" id="text-3-0-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">printf(<span style="color: #8b2252;">"Nuclei\n"</span>);
|
||||
@ -1654,8 +1659,8 @@ coord = <span style="color: #008b8b;">NULL</span>;
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf2e2695" class="outline-4">
|
||||
<h4 id="orgf2e2695"><span class="section-number-4">3.0.3</span> Atomic basis</h4>
|
||||
<div id="outline-container-org76d8ec6" class="outline-4">
|
||||
<h4 id="org76d8ec6"><span class="section-number-4">3.0.3</span> Atomic basis</h4>
|
||||
<div class="outline-text-4" id="text-3-0-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">printf(<span style="color: #8b2252;">"Atomic basis\n"</span>);
|
||||
@ -1763,8 +1768,8 @@ prim_factor = <span style="color: #008b8b;">NULL</span>;
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org464670c" class="outline-4">
|
||||
<h4 id="org464670c"><span class="section-number-4">3.0.4</span> MO Basis</h4>
|
||||
<div id="outline-container-org6c06d17" class="outline-4">
|
||||
<h4 id="org6c06d17"><span class="section-number-4">3.0.4</span> MO Basis</h4>
|
||||
<div class="outline-text-4" id="text-3-0-4">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">printf(<span style="color: #8b2252;">"MOs\n"</span>);
|
||||
@ -1794,7 +1799,7 @@ charge = <span style="color: #008b8b;">NULL</span>;
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2022-02-16 Wed 00:14</p>
|
||||
<p class="date">Created: 2022-02-16 Wed 18:41</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>
|
||||
<!-- 2022-02-16 Wed 00:14 -->
|
||||
<!-- 2022-02-16 Wed 18:41 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Verificarlo CI</title>
|
||||
@ -311,22 +311,22 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#org82bb42a">1. Verificarlo probes</a>
|
||||
<li><a href="#orgde4f212">1. Verificarlo probes</a>
|
||||
<ul>
|
||||
<li><a href="#org5c65a15">1.1. Automatically initialize the <code>vfc_probe</code> object if <code>VFC_CI</code> is defined</a></li>
|
||||
<li><a href="#org9f27bc4">1.2. Standard probe, without check</a></li>
|
||||
<li><a href="#org25ebd2f">1.3. Probe with absolute check</a></li>
|
||||
<li><a href="#orgdd547f2">1.4. Probe with relative check</a></li>
|
||||
<li><a href="#org0c6b4bf">1.5. Automatically delete and dump the vfc<sub>probe</sub> object if <code>VFC_CI</code> is defined</a></li>
|
||||
<li><a href="#org23ebaee">1.1. Automatically initialize the <code>vfc_probe</code> object if <code>VFC_CI</code> is defined</a></li>
|
||||
<li><a href="#org3a5ea97">1.2. Standard probe, without check</a></li>
|
||||
<li><a href="#org7469676">1.3. Probe with absolute check</a></li>
|
||||
<li><a href="#org6f06fd5">1.4. Probe with relative check</a></li>
|
||||
<li><a href="#org12e67a0">1.5. Automatically delete and dump the vfc<sub>probe</sub> object if <code>VFC_CI</code> is defined</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgf60ea17">2. Fortran wrappers</a></li>
|
||||
<li><a href="#orgc286cf9">2. Fortran wrappers</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org82bb42a" class="outline-2">
|
||||
<h2 id="org82bb42a"><span class="section-number-2">1</span> Verificarlo probes</h2>
|
||||
<div id="outline-container-orgde4f212" class="outline-2">
|
||||
<h2 id="orgde4f212"><span class="section-number-2">1</span> Verificarlo probes</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
This file contains utility functions to enable the Verificarlo
|
||||
@ -377,8 +377,8 @@ To learn more about Verificarlo CI :
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org5c65a15" class="outline-3">
|
||||
<h3 id="org5c65a15"><span class="section-number-3">1.1</span> Automatically initialize the <code>vfc_probe</code> object if <code>VFC_CI</code> is defined</h3>
|
||||
<div id="outline-container-org23ebaee" class="outline-3">
|
||||
<h3 id="org23ebaee"><span class="section-number-3">1.1</span> Automatically initialize the <code>vfc_probe</code> object if <code>VFC_CI</code> is defined</h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #483d8b;">#ifdef</span> VFC_CI
|
||||
@ -398,8 +398,8 @@ To learn more about Verificarlo CI :
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9f27bc4" class="outline-3">
|
||||
<h3 id="org9f27bc4"><span class="section-number-3">1.2</span> Standard probe, without check</h3>
|
||||
<div id="outline-container-org3a5ea97" class="outline-3">
|
||||
<h3 id="org3a5ea97"><span class="section-number-3">1.2</span> Standard probe, without check</h3>
|
||||
<div class="outline-text-3" id="text-1-2">
|
||||
<ul class="org-ul">
|
||||
<li>if <code>VFC_CI</code> is defined, place a standard probe</li>
|
||||
@ -434,8 +434,8 @@ if <code>VFC_CI</code> is undefined, return <code>false</code> (no error)
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org25ebd2f" class="outline-3">
|
||||
<h3 id="org25ebd2f"><span class="section-number-3">1.3</span> Probe with absolute check</h3>
|
||||
<div id="outline-container-org7469676" class="outline-3">
|
||||
<h3 id="org7469676"><span class="section-number-3">1.3</span> Probe with absolute check</h3>
|
||||
<div class="outline-text-3" id="text-1-3">
|
||||
<ul class="org-ul">
|
||||
<li>if <code>VFC_CI</code> is defined, place a probe with an absolute check</li>
|
||||
@ -475,8 +475,8 @@ and accuracy
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgdd547f2" class="outline-3">
|
||||
<h3 id="orgdd547f2"><span class="section-number-3">1.4</span> Probe with relative check</h3>
|
||||
<div id="outline-container-org6f06fd5" class="outline-3">
|
||||
<h3 id="org6f06fd5"><span class="section-number-3">1.4</span> Probe with relative check</h3>
|
||||
<div class="outline-text-3" id="text-1-4">
|
||||
<ul class="org-ul">
|
||||
<li>if <code>VFC_CI</code> is defined, place a probe with a relative check</li>
|
||||
@ -516,8 +516,8 @@ and accuracy
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0c6b4bf" class="outline-3">
|
||||
<h3 id="org0c6b4bf"><span class="section-number-3">1.5</span> Automatically delete and dump the vfc<sub>probe</sub> object if <code>VFC_CI</code> is defined</h3>
|
||||
<div id="outline-container-org12e67a0" class="outline-3">
|
||||
<h3 id="org12e67a0"><span class="section-number-3">1.5</span> Automatically delete and dump the vfc<sub>probe</sub> object if <code>VFC_CI</code> is defined</h3>
|
||||
<div class="outline-text-3" id="text-1-5">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #483d8b;">#ifdef</span> VFC_CI
|
||||
@ -538,8 +538,8 @@ and accuracy
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf60ea17" class="outline-2">
|
||||
<h2 id="orgf60ea17"><span class="section-number-2">2</span> Fortran wrappers</h2>
|
||||
<div id="outline-container-orgc286cf9" class="outline-2">
|
||||
<h2 id="orgc286cf9"><span class="section-number-2">2</span> Fortran wrappers</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">bool</span> <span style="color: #0000ff;">qmckl_probe_f</span>(
|
||||
@ -663,7 +663,7 @@ and accuracy
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2022-02-16 Wed 00:14</p>
|
||||
<p class="date">Created: 2022-02-16 Wed 18:41</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