mirror of
https://github.com/TREX-CoE/qmckl.git
synced 2024-08-24 22:21:46 +02:00
Deploying to gh-pages from @ TREX-CoE/qmckl@6a429eb981 🚀
This commit is contained in:
parent
3e57af1969
commit
8e397fcd8f
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-11-17 Wed 13:08 -->
|
||||
<!-- 2021-11-17 Wed 13:13 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>QMCkl source code documentation</title>
|
||||
@ -362,7 +362,7 @@ and bug reports should be submitted at
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-11-17 Wed 13:08</p>
|
||||
<p class="date">Created: 2021-11-17 Wed 13:13</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
102
qmckl.html
102
qmckl.html
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-11-17 Wed 13:08 -->
|
||||
<!-- 2021-11-17 Wed 13:13 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Introduction</title>
|
||||
@ -333,30 +333,30 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#org839d79e">1. Using QMCkl</a></li>
|
||||
<li><a href="#org4207962">2. Developing in QMCkl</a>
|
||||
<li><a href="#orgf0ae29a">1. Using QMCkl</a></li>
|
||||
<li><a href="#orgbde40d8">2. Developing in QMCkl</a>
|
||||
<ul>
|
||||
<li><a href="#org4c93c10">2.1. Literate programming</a></li>
|
||||
<li><a href="#org2b9fb99">2.2. Source code editing</a></li>
|
||||
<li><a href="#org8548d12">2.3. Choice of the programming language</a></li>
|
||||
<li><a href="#orgcab3db7">2.4. Coding rules</a></li>
|
||||
<li><a href="#org366353e">2.5. Design of the library</a></li>
|
||||
<li><a href="#org535e648">2.6. Naming conventions</a></li>
|
||||
<li><a href="#org6bca91c">2.7. Application programming interface</a></li>
|
||||
<li><a href="#org038e62c">2.8. Global state</a></li>
|
||||
<li><a href="#org3d3f623">2.9. Headers</a></li>
|
||||
<li><a href="#org415d14b">2.10. Low-level functions</a></li>
|
||||
<li><a href="#org3a3e22a">2.11. High-level functions</a></li>
|
||||
<li><a href="#org42f6319">2.12. Numerical precision</a></li>
|
||||
<li><a href="#org9956ffb">2.13. Algorithms</a></li>
|
||||
<li><a href="#orgc1f845f">2.1. Literate programming</a></li>
|
||||
<li><a href="#org9c505cb">2.2. Source code editing</a></li>
|
||||
<li><a href="#org3183d41">2.3. Choice of the programming language</a></li>
|
||||
<li><a href="#orge3ef745">2.4. Coding rules</a></li>
|
||||
<li><a href="#org80a79cb">2.5. Design of the library</a></li>
|
||||
<li><a href="#orgfbf2091">2.6. Naming conventions</a></li>
|
||||
<li><a href="#org8b3d46d">2.7. Application programming interface</a></li>
|
||||
<li><a href="#org167d9d1">2.8. Global state</a></li>
|
||||
<li><a href="#orgd8dd86b">2.9. Headers</a></li>
|
||||
<li><a href="#org2fa4cf9">2.10. Low-level functions</a></li>
|
||||
<li><a href="#org2dc518e">2.11. High-level functions</a></li>
|
||||
<li><a href="#org3e9b747">2.12. Numerical precision</a></li>
|
||||
<li><a href="#org4c2f9f6">2.13. Algorithms</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org839d79e" class="outline-2">
|
||||
<h2 id="org839d79e"><span class="section-number-2">1</span> Using QMCkl</h2>
|
||||
<div id="outline-container-orgf0ae29a" class="outline-2">
|
||||
<h2 id="orgf0ae29a"><span class="section-number-2">1</span> Using QMCkl</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
The <code>qmckl.h</code> header file installed in the <code>${prefix}/include</code> directory
|
||||
@ -385,12 +385,12 @@ Both files are located in the <code>include/</code> directory.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4207962" class="outline-2">
|
||||
<h2 id="org4207962"><span class="section-number-2">2</span> Developing in QMCkl</h2>
|
||||
<div id="outline-container-orgbde40d8" class="outline-2">
|
||||
<h2 id="orgbde40d8"><span class="section-number-2">2</span> Developing in QMCkl</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-org4c93c10" class="outline-3">
|
||||
<h3 id="org4c93c10"><span class="section-number-3">2.1</span> Literate programming</h3>
|
||||
<div id="outline-container-orgc1f845f" class="outline-3">
|
||||
<h3 id="orgc1f845f"><span class="section-number-3">2.1</span> Literate programming</h3>
|
||||
<div class="outline-text-3" id="text-2-1">
|
||||
<p>
|
||||
In a traditional source code, most of the lines of source files of a program
|
||||
@ -435,8 +435,8 @@ interactively, in the same spirit as Jupyter notebooks.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2b9fb99" class="outline-3">
|
||||
<h3 id="org2b9fb99"><span class="section-number-3">2.2</span> Source code editing</h3>
|
||||
<div id="outline-container-org9c505cb" class="outline-3">
|
||||
<h3 id="org9c505cb"><span class="section-number-3">2.2</span> Source code editing</h3>
|
||||
<div class="outline-text-3" id="text-2-2">
|
||||
<p>
|
||||
For a tutorial on literate programming with org-mode, follow <a href="http://www.howardism.org/Technical/Emacs/literate-programming-tutorial.html">this link</a>.
|
||||
@ -467,8 +467,8 @@ org-mode.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8548d12" class="outline-3">
|
||||
<h3 id="org8548d12"><span class="section-number-3">2.3</span> Choice of the programming language</h3>
|
||||
<div id="outline-container-org3183d41" class="outline-3">
|
||||
<h3 id="org3183d41"><span class="section-number-3">2.3</span> Choice of the programming language</h3>
|
||||
<div class="outline-text-3" id="text-2-3">
|
||||
<p>
|
||||
Most of the codes of the <a href="https://trex-coe.eu">TREX CoE</a> are written in Fortran with some scripts in
|
||||
@ -516,8 +516,8 @@ For more guidelines on using Fortran to generate a C interface, see
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgcab3db7" class="outline-3">
|
||||
<h3 id="orgcab3db7"><span class="section-number-3">2.4</span> Coding rules</h3>
|
||||
<div id="outline-container-orge3ef745" class="outline-3">
|
||||
<h3 id="orge3ef745"><span class="section-number-3">2.4</span> Coding rules</h3>
|
||||
<div class="outline-text-3" id="text-2-4">
|
||||
<p>
|
||||
The authors should follow the recommendations of the C99
|
||||
@ -535,8 +535,8 @@ Compliance can be checked with <code>cppcheck</code> as:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org366353e" class="outline-3">
|
||||
<h3 id="org366353e"><span class="section-number-3">2.5</span> Design of the library</h3>
|
||||
<div id="outline-container-org80a79cb" class="outline-3">
|
||||
<h3 id="org80a79cb"><span class="section-number-3">2.5</span> Design of the library</h3>
|
||||
<div class="outline-text-3" id="text-2-5">
|
||||
<p>
|
||||
The proposed API should allow the library to: deal with memory transfers
|
||||
@ -547,8 +547,8 @@ functions (see below).
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org535e648" class="outline-3">
|
||||
<h3 id="org535e648"><span class="section-number-3">2.6</span> Naming conventions</h3>
|
||||
<div id="outline-container-orgfbf2091" class="outline-3">
|
||||
<h3 id="orgfbf2091"><span class="section-number-3">2.6</span> Naming conventions</h3>
|
||||
<div class="outline-text-3" id="text-2-6">
|
||||
<p>
|
||||
To avoid namespace collisions, we use <code>qmckl_</code> as a prefix for all exported
|
||||
@ -573,8 +573,8 @@ form is allowed.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6bca91c" class="outline-3">
|
||||
<h3 id="org6bca91c"><span class="section-number-3">2.7</span> Application programming interface</h3>
|
||||
<div id="outline-container-org8b3d46d" class="outline-3">
|
||||
<h3 id="org8b3d46d"><span class="section-number-3">2.7</span> Application programming interface</h3>
|
||||
<div class="outline-text-3" id="text-2-7">
|
||||
<p>
|
||||
In the C language, the number of bits used by the integer types can change
|
||||
@ -606,15 +606,15 @@ bindings in other languages in other repositories.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org038e62c" class="outline-3">
|
||||
<h3 id="org038e62c"><span class="section-number-3">2.8</span> Global state</h3>
|
||||
<div id="outline-container-org167d9d1" class="outline-3">
|
||||
<h3 id="org167d9d1"><span class="section-number-3">2.8</span> Global state</h3>
|
||||
<div class="outline-text-3" id="text-2-8">
|
||||
<p>
|
||||
Global variables should be avoided in the library, because it is
|
||||
possible that one single program needs to use multiple instances
|
||||
of the library. To solve this problem we propose to use a pointer
|
||||
to a <a href="./qmckl_context.html"><code>context</code></a> variable, built by the library with the
|
||||
<code>qmckl_context_create</code> function. The <a id="orga5cf8c5">=context=</a> contains the global
|
||||
<code>qmckl_context_create</code> function. The <a id="org0813e70">=context=</a> contains the global
|
||||
state of the library, and is used as the first argument of many
|
||||
QMCkl functions.
|
||||
</p>
|
||||
@ -628,8 +628,8 @@ the state is done by setters and getters, prefixed by
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3d3f623" class="outline-3">
|
||||
<h3 id="org3d3f623"><span class="section-number-3">2.9</span> Headers</h3>
|
||||
<div id="outline-container-orgd8dd86b" class="outline-3">
|
||||
<h3 id="orgd8dd86b"><span class="section-number-3">2.9</span> Headers</h3>
|
||||
<div class="outline-text-3" id="text-2-9">
|
||||
<p>
|
||||
A single <code>qmckl.h</code> header to be distributed by the library
|
||||
@ -717,8 +717,8 @@ and the types definitions should be written in the <code>*fh_type.f90</code> fil
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org415d14b" class="outline-3">
|
||||
<h3 id="org415d14b"><span class="section-number-3">2.10</span> Low-level functions</h3>
|
||||
<div id="outline-container-org2fa4cf9" class="outline-3">
|
||||
<h3 id="org2fa4cf9"><span class="section-number-3">2.10</span> Low-level functions</h3>
|
||||
<div class="outline-text-3" id="text-2-10">
|
||||
<p>
|
||||
Low-level functions are very simple functions which are leaves of
|
||||
@ -727,14 +727,14 @@ the function call tree (they don't call any other QMCkl function).
|
||||
|
||||
<p>
|
||||
These functions are <i>pure</i>, and unaware of the QMCkl
|
||||
<a href="#orga5cf8c5"><code>context</code></a>. They are not allowed to allocate/deallocate memory, and
|
||||
<a href="#org0813e70"><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-org3a3e22a" class="outline-3">
|
||||
<h3 id="org3a3e22a"><span class="section-number-3">2.11</span> High-level functions</h3>
|
||||
<div id="outline-container-org2dc518e" class="outline-3">
|
||||
<h3 id="org2dc518e"><span class="section-number-3">2.11</span> High-level functions</h3>
|
||||
<div class="outline-text-3" id="text-2-11">
|
||||
<p>
|
||||
High-level functions are at the top of the function call tree.
|
||||
@ -747,20 +747,20 @@ temporary storage, to simplify the use of accelerators.
|
||||
<p>
|
||||
The high-level functions should be pure, unless the introduction
|
||||
of non-purity is justified. All the side effects should be made in
|
||||
the <a href="#orga5cf8c5"><code>context</code></a> variable.
|
||||
the <a href="#org0813e70"><code>context</code></a> variable.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org42f6319" class="outline-3">
|
||||
<h3 id="org42f6319"><span class="section-number-3">2.12</span> Numerical precision</h3>
|
||||
<div id="outline-container-org3e9b747" class="outline-3">
|
||||
<h3 id="org3e9b747"><span class="section-number-3">2.12</span> Numerical precision</h3>
|
||||
<div class="outline-text-3" id="text-2-12">
|
||||
<p>
|
||||
The number of bits of precision required for a function should be
|
||||
given as an input of low-level computational functions. This input
|
||||
will be used to define the values of the different thresholds that
|
||||
might be used to avoid computing unnecessary noise. High-level
|
||||
functions will use the precision specified in the <a href="#orga5cf8c5"><code>context</code></a>
|
||||
functions will use the precision specified in the <a href="#org0813e70"><code>context</code></a>
|
||||
variable.
|
||||
</p>
|
||||
|
||||
@ -830,8 +830,8 @@ following points :
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9956ffb" class="outline-3">
|
||||
<h3 id="org9956ffb"><span class="section-number-3">2.13</span> Algorithms</h3>
|
||||
<div id="outline-container-org4c2f9f6" class="outline-3">
|
||||
<h3 id="org4c2f9f6"><span class="section-number-3">2.13</span> Algorithms</h3>
|
||||
<div class="outline-text-3" id="text-2-13">
|
||||
<p>
|
||||
Reducing the scaling of an algorithm usually implies also reducing
|
||||
@ -847,7 +847,7 @@ implemented adapted to different problem sizes.
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-11-17 Wed 13:08</p>
|
||||
<p class="date">Created: 2021-11-17 Wed 13:13</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
260
qmckl_ao.html
260
qmckl_ao.html
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-11-17 Wed 13:08 -->
|
||||
<!-- 2021-11-17 Wed 13:13 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Atomic Orbitals</title>
|
||||
@ -333,71 +333,71 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#orgbb7809d">1. Context</a>
|
||||
<li><a href="#orgf8971ef">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#org17958a3">1.1. Data structure</a></li>
|
||||
<li><a href="#org6de0e59">1.2. Access functions</a></li>
|
||||
<li><a href="#org695dcb0">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org5525640">1.4. Fortran interfaces</a></li>
|
||||
<li><a href="#org345dc2a">1.1. Data structure</a></li>
|
||||
<li><a href="#org6d85a3c">1.2. Access functions</a></li>
|
||||
<li><a href="#orgc08092a">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org4c3691c">1.4. Fortran interfaces</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org04d6d54">2. Radial part</a>
|
||||
<li><a href="#org1204b93">2. Radial part</a>
|
||||
<ul>
|
||||
<li><a href="#org5100882">2.1. <span class="todo TODO">TODO</span> Helper functions to accelerate calculations</a></li>
|
||||
<li><a href="#org4535fd9">2.2. General functions for Gaussian basis functions</a></li>
|
||||
<li><a href="#orgd5b1d2c">2.3. <span class="todo TODO">TODO</span> General functions for Slater basis functions</a></li>
|
||||
<li><a href="#orgaaeab4e">2.4. <span class="todo TODO">TODO</span> General functions for Radial functions on a grid</a></li>
|
||||
<li><a href="#orgf572a96">2.5. Computation of primitives</a>
|
||||
<li><a href="#org0afd867">2.1. <span class="todo TODO">TODO</span> Helper functions to accelerate calculations</a></li>
|
||||
<li><a href="#orgc8a839b">2.2. General functions for Gaussian basis functions</a></li>
|
||||
<li><a href="#orgdb87ba5">2.3. <span class="todo TODO">TODO</span> General functions for Slater basis functions</a></li>
|
||||
<li><a href="#orga750fb8">2.4. <span class="todo TODO">TODO</span> General functions for Radial functions on a grid</a></li>
|
||||
<li><a href="#orgdd8879d">2.5. Computation of primitives</a>
|
||||
<ul>
|
||||
<li><a href="#org60ec78e">2.5.1. Get</a></li>
|
||||
<li><a href="#org15a59cd">2.5.2. Provide</a></li>
|
||||
<li><a href="#orgcd3aae4">2.5.3. Compute</a></li>
|
||||
<li><a href="#orgdcedbaa">2.5.4. Test</a></li>
|
||||
<li><a href="#org0cea3ad">2.5.5. Ideas for improvement</a></li>
|
||||
<li><a href="#orgefb6eab">2.5.1. Get</a></li>
|
||||
<li><a href="#orgc1ceca1">2.5.2. Provide</a></li>
|
||||
<li><a href="#org7ac342e">2.5.3. Compute</a></li>
|
||||
<li><a href="#org181abfb">2.5.4. Test</a></li>
|
||||
<li><a href="#orgf80fa8d">2.5.5. Ideas for improvement</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org171287d">2.6. Computation of shells</a>
|
||||
<li><a href="#org19971b0">2.6. Computation of shells</a>
|
||||
<ul>
|
||||
<li><a href="#orgdec9cd4">2.6.1. Get</a></li>
|
||||
<li><a href="#orga0fa569">2.6.2. Provide</a></li>
|
||||
<li><a href="#org21fac4c">2.6.3. Compute</a></li>
|
||||
<li><a href="#org68d1c55">2.6.4. Test</a></li>
|
||||
<li><a href="#org8ae38aa">2.6.1. Get</a></li>
|
||||
<li><a href="#orgb9e427d">2.6.2. Provide</a></li>
|
||||
<li><a href="#orga7a7e02">2.6.3. Compute</a></li>
|
||||
<li><a href="#org96e8584">2.6.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org8561c1a">3. Polynomial part</a>
|
||||
<li><a href="#orgc312a74">3. Polynomial part</a>
|
||||
<ul>
|
||||
<li><a href="#orgf843381">3.1. General functions for Powers of \(x-X_i\)</a>
|
||||
<li><a href="#orge5c2e9d">3.1. General functions for Powers of \(x-X_i\)</a>
|
||||
<ul>
|
||||
<li><a href="#org4672dd6">3.1.1. Requirements</a></li>
|
||||
<li><a href="#org384626f">3.1.2. C Header</a></li>
|
||||
<li><a href="#orgec9e6b5">3.1.3. Source</a></li>
|
||||
<li><a href="#orgfb8fd6c">3.1.4. C interface</a></li>
|
||||
<li><a href="#org4a343c9">3.1.5. Fortran interface</a></li>
|
||||
<li><a href="#org8adbea0">3.1.6. Test</a></li>
|
||||
<li><a href="#orgacf9863">3.1.1. Requirements</a></li>
|
||||
<li><a href="#org1cc31b1">3.1.2. C Header</a></li>
|
||||
<li><a href="#org58ef2e3">3.1.3. Source</a></li>
|
||||
<li><a href="#org4350150">3.1.4. C interface</a></li>
|
||||
<li><a href="#org2355a4e">3.1.5. Fortran interface</a></li>
|
||||
<li><a href="#org7c96e14">3.1.6. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org8344679">3.2. General functions for Value, Gradient and Laplacian of a polynomial</a>
|
||||
<li><a href="#org340e49d">3.2. General functions for Value, Gradient and Laplacian of a polynomial</a>
|
||||
<ul>
|
||||
<li><a href="#org072b0d7">3.2.1. Requirements</a></li>
|
||||
<li><a href="#org2a0a9b9">3.2.2. C Header</a></li>
|
||||
<li><a href="#orgc079f96">3.2.3. Source</a></li>
|
||||
<li><a href="#org1a3e552">3.2.4. C interface</a></li>
|
||||
<li><a href="#org3efe861">3.2.5. Fortran interface</a></li>
|
||||
<li><a href="#orgb2777a3">3.2.6. Test</a></li>
|
||||
<li><a href="#org26019c1">3.2.1. Requirements</a></li>
|
||||
<li><a href="#org9080cc8">3.2.2. C Header</a></li>
|
||||
<li><a href="#orgfb13f72">3.2.3. Source</a></li>
|
||||
<li><a href="#org70fb7e8">3.2.4. C interface</a></li>
|
||||
<li><a href="#org5476867">3.2.5. Fortran interface</a></li>
|
||||
<li><a href="#orgc60df6c">3.2.6. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org3caf334">4. Combining radial and polynomial parts</a>
|
||||
<li><a href="#org5547646">4. Combining radial and polynomial parts</a>
|
||||
<ul>
|
||||
<li>
|
||||
<ul>
|
||||
<li><a href="#orgc83b492">4.0.1. Get</a></li>
|
||||
<li><a href="#org0dc5030">4.0.2. Provide</a></li>
|
||||
<li><a href="#orgd63d37b">4.0.3. Compute</a></li>
|
||||
<li><a href="#org2498207">4.0.4. Test</a></li>
|
||||
<li><a href="#org9edc43a">4.0.1. Get</a></li>
|
||||
<li><a href="#orgf69913f">4.0.2. Provide</a></li>
|
||||
<li><a href="#org69cfc0e">4.0.3. Compute</a></li>
|
||||
<li><a href="#org28518c8">4.0.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@ -406,8 +406,8 @@ for the JavaScript code in this tag.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgbb7809d" class="outline-2">
|
||||
<h2 id="orgbb7809d"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-orgf8971ef" class="outline-2">
|
||||
<h2 id="orgf8971ef"><span class="section-number-2">1</span> Context</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
The following arrays are stored in the context:
|
||||
@ -679,8 +679,8 @@ prim_factor = [ 1.0006253235944540e+01, 2.4169531573445120e+00, 7.96109248497664
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org17958a3" class="outline-3">
|
||||
<h3 id="org17958a3"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-org345dc2a" class="outline-3">
|
||||
<h3 id="org345dc2a"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #a020f0;">typedef</span> <span style="color: #a020f0;">struct</span> <span style="color: #228b22;">qmckl_ao_basis_struct</span> {
|
||||
@ -756,8 +756,8 @@ this mechanism.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6de0e59" class="outline-3">
|
||||
<h3 id="org6de0e59"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div id="outline-container-org6d85a3c" class="outline-3">
|
||||
<h3 id="org6d85a3c"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div class="outline-text-3" id="text-1-2">
|
||||
<p>
|
||||
In the following functions, when an array is passed as an argument
|
||||
@ -777,8 +777,8 @@ function returns <code>true</code>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org695dcb0" class="outline-3">
|
||||
<h3 id="org695dcb0"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-orgc08092a" class="outline-3">
|
||||
<h3 id="orgc08092a"><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
|
||||
@ -816,20 +816,20 @@ the context.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5525640" class="outline-3">
|
||||
<h3 id="org5525640"><span class="section-number-3">1.4</span> Fortran interfaces</h3>
|
||||
<div id="outline-container-org4c3691c" class="outline-3">
|
||||
<h3 id="org4c3691c"><span class="section-number-3">1.4</span> Fortran interfaces</h3>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org04d6d54" class="outline-2">
|
||||
<h2 id="org04d6d54"><span class="section-number-2">2</span> Radial part</h2>
|
||||
<div id="outline-container-org1204b93" class="outline-2">
|
||||
<h2 id="org1204b93"><span class="section-number-2">2</span> Radial part</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-org5100882" class="outline-3">
|
||||
<h3 id="org5100882"><span class="section-number-3">2.1</span> <span class="todo TODO">TODO</span> Helper functions to accelerate calculations</h3>
|
||||
<div id="outline-container-org0afd867" class="outline-3">
|
||||
<h3 id="org0afd867"><span class="section-number-3">2.1</span> <span class="todo TODO">TODO</span> Helper functions to accelerate calculations</h3>
|
||||
</div>
|
||||
<div id="outline-container-org4535fd9" class="outline-3">
|
||||
<h3 id="org4535fd9"><span class="section-number-3">2.2</span> General functions for Gaussian basis functions</h3>
|
||||
<div id="outline-container-orgc8a839b" class="outline-3">
|
||||
<h3 id="orgc8a839b"><span class="section-number-3">2.2</span> General functions for Gaussian basis functions</h3>
|
||||
<div class="outline-text-3" id="text-2-2">
|
||||
<p>
|
||||
<code>qmckl_ao_gaussian_vgl</code> computes the values, gradients and
|
||||
@ -1061,18 +1061,18 @@ Requirements
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd5b1d2c" class="outline-3">
|
||||
<h3 id="orgd5b1d2c"><span class="section-number-3">2.3</span> <span class="todo TODO">TODO</span> General functions for Slater basis functions</h3>
|
||||
<div id="outline-container-orgdb87ba5" class="outline-3">
|
||||
<h3 id="orgdb87ba5"><span class="section-number-3">2.3</span> <span class="todo TODO">TODO</span> General functions for Slater basis functions</h3>
|
||||
</div>
|
||||
<div id="outline-container-orgaaeab4e" class="outline-3">
|
||||
<h3 id="orgaaeab4e"><span class="section-number-3">2.4</span> <span class="todo TODO">TODO</span> General functions for Radial functions on a grid</h3>
|
||||
<div id="outline-container-orga750fb8" class="outline-3">
|
||||
<h3 id="orga750fb8"><span class="section-number-3">2.4</span> <span class="todo TODO">TODO</span> General functions for Radial functions on a grid</h3>
|
||||
</div>
|
||||
<div id="outline-container-orgf572a96" class="outline-3">
|
||||
<h3 id="orgf572a96"><span class="section-number-3">2.5</span> Computation of primitives</h3>
|
||||
<div id="outline-container-orgdd8879d" class="outline-3">
|
||||
<h3 id="orgdd8879d"><span class="section-number-3">2.5</span> Computation of primitives</h3>
|
||||
<div class="outline-text-3" id="text-2-5">
|
||||
</div>
|
||||
<div id="outline-container-org60ec78e" class="outline-4">
|
||||
<h4 id="org60ec78e"><span class="section-number-4">2.5.1</span> Get</h4>
|
||||
<div id="outline-container-orgefb6eab" class="outline-4">
|
||||
<h4 id="orgefb6eab"><span class="section-number-4">2.5.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-5-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_ao_basis_primitive_vgl</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">primitive_vgl</span>);
|
||||
@ -1081,14 +1081,14 @@ Requirements
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org15a59cd" class="outline-4">
|
||||
<h4 id="org15a59cd"><span class="section-number-4">2.5.2</span> Provide</h4>
|
||||
<div id="outline-container-orgc1ceca1" class="outline-4">
|
||||
<h4 id="orgc1ceca1"><span class="section-number-4">2.5.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgcd3aae4" class="outline-4">
|
||||
<h4 id="orgcd3aae4"><span class="section-number-4">2.5.3</span> Compute</h4>
|
||||
<div id="outline-container-org7ac342e" class="outline-4">
|
||||
<h4 id="org7ac342e"><span class="section-number-4">2.5.3</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-5-3">
|
||||
<table id="org1016bc6" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgc3cef3f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1222,12 +1222,12 @@ Requirements
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgdcedbaa" class="outline-4">
|
||||
<h4 id="orgdcedbaa"><span class="section-number-4">2.5.4</span> Test</h4>
|
||||
<div id="outline-container-org181abfb" class="outline-4">
|
||||
<h4 id="org181abfb"><span class="section-number-4">2.5.4</span> Test</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0cea3ad" class="outline-4">
|
||||
<h4 id="org0cea3ad"><span class="section-number-4">2.5.5</span> Ideas for improvement</h4>
|
||||
<div id="outline-container-orgf80fa8d" class="outline-4">
|
||||
<h4 id="orgf80fa8d"><span class="section-number-4">2.5.5</span> Ideas for improvement</h4>
|
||||
<div class="outline-text-4" id="text-2-5-5">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">// <span style="color: #b22222;">j : electrons</span>
|
||||
@ -1261,12 +1261,12 @@ k=0;
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org171287d" class="outline-3">
|
||||
<h3 id="org171287d"><span class="section-number-3">2.6</span> Computation of shells</h3>
|
||||
<div id="outline-container-org19971b0" class="outline-3">
|
||||
<h3 id="org19971b0"><span class="section-number-3">2.6</span> Computation of shells</h3>
|
||||
<div class="outline-text-3" id="text-2-6">
|
||||
</div>
|
||||
<div id="outline-container-orgdec9cd4" class="outline-4">
|
||||
<h4 id="orgdec9cd4"><span class="section-number-4">2.6.1</span> Get</h4>
|
||||
<div id="outline-container-org8ae38aa" class="outline-4">
|
||||
<h4 id="org8ae38aa"><span class="section-number-4">2.6.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-6-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_ao_basis_shell_vgl</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">shell_vgl</span>);
|
||||
@ -1275,14 +1275,14 @@ k=0;
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga0fa569" class="outline-4">
|
||||
<h4 id="orga0fa569"><span class="section-number-4">2.6.2</span> Provide</h4>
|
||||
<div id="outline-container-orgb9e427d" class="outline-4">
|
||||
<h4 id="orgb9e427d"><span class="section-number-4">2.6.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org21fac4c" class="outline-4">
|
||||
<h4 id="org21fac4c"><span class="section-number-4">2.6.3</span> Compute</h4>
|
||||
<div id="outline-container-orga7a7e02" class="outline-4">
|
||||
<h4 id="orga7a7e02"><span class="section-number-4">2.6.3</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-6-3">
|
||||
<table id="org5270e03" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orga134a09" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1503,14 +1503,14 @@ k=0;
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org68d1c55" class="outline-4">
|
||||
<h4 id="org68d1c55"><span class="section-number-4">2.6.4</span> Test</h4>
|
||||
<div id="outline-container-org96e8584" class="outline-4">
|
||||
<h4 id="org96e8584"><span class="section-number-4">2.6.4</span> Test</h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8561c1a" class="outline-2">
|
||||
<h2 id="org8561c1a"><span class="section-number-2">3</span> Polynomial part</h2>
|
||||
<div id="outline-container-orgc312a74" class="outline-2">
|
||||
<h2 id="orgc312a74"><span class="section-number-2">3</span> Polynomial part</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
<p>
|
||||
Going from the atomic basis set to AOs implies a systematic
|
||||
@ -1530,8 +1530,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-orgf843381" class="outline-3">
|
||||
<h3 id="orgf843381"><span class="section-number-3">3.1</span> General functions for Powers of \(x-X_i\)</h3>
|
||||
<div id="outline-container-orge5c2e9d" class="outline-3">
|
||||
<h3 id="orge5c2e9d"><span class="section-number-3">3.1</span> General functions for Powers of \(x-X_i\)</h3>
|
||||
<div class="outline-text-3" id="text-3-1">
|
||||
<p>
|
||||
The <code>qmckl_ao_power</code> function computes all the powers of the <code>n</code>
|
||||
@ -1543,7 +1543,7 @@ the \(n\) points:
|
||||
\[ P_{ik} = X_i^k \]
|
||||
</p>
|
||||
|
||||
<table id="org44ec25e" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgc21d6d0" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1601,8 +1601,8 @@ the \(n\) points:
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4672dd6" class="outline-4">
|
||||
<h4 id="org4672dd6"><span class="section-number-4">3.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-orgacf9863" class="outline-4">
|
||||
<h4 id="orgacf9863"><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>
|
||||
@ -1615,8 +1615,8 @@ the \(n\) points:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org384626f" class="outline-4">
|
||||
<h4 id="org384626f"><span class="section-number-4">3.1.2</span> C Header</h4>
|
||||
<div id="outline-container-org1cc31b1" class="outline-4">
|
||||
<h4 id="org1cc31b1"><span class="section-number-4">3.1.2</span> C Header</h4>
|
||||
<div class="outline-text-4" id="text-3-1-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_ao_power</span> (
|
||||
@ -1631,8 +1631,8 @@ the \(n\) points:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgec9e6b5" class="outline-4">
|
||||
<h4 id="orgec9e6b5"><span class="section-number-4">3.1.3</span> Source</h4>
|
||||
<div id="outline-container-org58ef2e3" class="outline-4">
|
||||
<h4 id="org58ef2e3"><span class="section-number-4">3.1.3</span> Source</h4>
|
||||
<div class="outline-text-4" id="text-3-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #228b22;">integer </span><span style="color: #a020f0;">function</span><span style="color: #a0522d;"> </span><span style="color: #0000ff;">qmckl_ao_power_f</span><span style="color: #000000; background-color: #ffffff;">(context, n, X, LMAX, P, ldp) result(info)</span>
|
||||
@ -1683,15 +1683,15 @@ the \(n\) points:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgfb8fd6c" class="outline-4">
|
||||
<h4 id="orgfb8fd6c"><span class="section-number-4">3.1.4</span> C interface</h4>
|
||||
<div id="outline-container-org4350150" class="outline-4">
|
||||
<h4 id="org4350150"><span class="section-number-4">3.1.4</span> C interface</h4>
|
||||
</div>
|
||||
<div id="outline-container-org4a343c9" class="outline-4">
|
||||
<h4 id="org4a343c9"><span class="section-number-4">3.1.5</span> Fortran interface</h4>
|
||||
<div id="outline-container-org2355a4e" class="outline-4">
|
||||
<h4 id="org2355a4e"><span class="section-number-4">3.1.5</span> Fortran interface</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8adbea0" class="outline-4">
|
||||
<h4 id="org8adbea0"><span class="section-number-4">3.1.6</span> Test</h4>
|
||||
<div id="outline-container-org7c96e14" class="outline-4">
|
||||
<h4 id="org7c96e14"><span class="section-number-4">3.1.6</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-3-1-6">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #228b22;">integer</span>(<span style="color: #008b8b;">c_int32_t</span>) <span style="color: #a020f0;">function</span> <span style="color: #0000ff;">test_qmckl_ao_power</span>(context) <span style="color: #a020f0;">bind</span>(C)
|
||||
@ -1742,8 +1742,8 @@ the \(n\) points:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8344679" class="outline-3">
|
||||
<h3 id="org8344679"><span class="section-number-3">3.2</span> General functions for Value, Gradient and Laplacian of a polynomial</h3>
|
||||
<div id="outline-container-org340e49d" class="outline-3">
|
||||
<h3 id="org340e49d"><span class="section-number-3">3.2</span> General functions for Value, Gradient and Laplacian of a polynomial</h3>
|
||||
<div class="outline-text-3" id="text-3-2">
|
||||
<p>
|
||||
A polynomial is centered on a nucleus \(\mathbf{R}_i\)
|
||||
@ -1788,7 +1788,7 @@ Laplacians at a given point in space, of all polynomials with an
|
||||
angular momentum up to <code>lmax</code>.
|
||||
</p>
|
||||
|
||||
<table id="org7f0a401" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orge3a7519" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1867,8 +1867,8 @@ angular momentum up to <code>lmax</code>.
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org072b0d7" class="outline-4">
|
||||
<h4 id="org072b0d7"><span class="section-number-4">3.2.1</span> Requirements</h4>
|
||||
<div id="outline-container-org26019c1" class="outline-4">
|
||||
<h4 id="org26019c1"><span class="section-number-4">3.2.1</span> Requirements</h4>
|
||||
<div class="outline-text-4" id="text-3-2-1">
|
||||
<ul class="org-ul">
|
||||
<li><code>context</code> is not <code>QMCKL_NULL_CONTEXT</code></li>
|
||||
@ -1893,8 +1893,8 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2a0a9b9" class="outline-4">
|
||||
<h4 id="org2a0a9b9"><span class="section-number-4">3.2.2</span> C Header</h4>
|
||||
<div id="outline-container-org9080cc8" class="outline-4">
|
||||
<h4 id="org9080cc8"><span class="section-number-4">3.2.2</span> C Header</h4>
|
||||
<div class="outline-text-4" id="text-3-2-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_ao_polynomial_vgl</span> (
|
||||
@ -1912,8 +1912,8 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc079f96" class="outline-4">
|
||||
<h4 id="orgc079f96"><span class="section-number-4">3.2.3</span> Source</h4>
|
||||
<div id="outline-container-orgfb13f72" class="outline-4">
|
||||
<h4 id="orgfb13f72"><span class="section-number-4">3.2.3</span> Source</h4>
|
||||
<div class="outline-text-4" id="text-3-2-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #228b22;">integer </span><span style="color: #a020f0;">function</span><span style="color: #a0522d;"> </span><span style="color: #0000ff;">qmckl_ao_polynomial_vgl_f</span><span style="color: #000000; background-color: #ffffff;">(context, X, R, lmax, n, L, ldl, VGL, ldv) result(info)</span>
|
||||
@ -2047,16 +2047,16 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1a3e552" class="outline-4">
|
||||
<h4 id="org1a3e552"><span class="section-number-4">3.2.4</span> C interface</h4>
|
||||
<div id="outline-container-org70fb7e8" class="outline-4">
|
||||
<h4 id="org70fb7e8"><span class="section-number-4">3.2.4</span> C interface</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3efe861" class="outline-4">
|
||||
<h4 id="org3efe861"><span class="section-number-4">3.2.5</span> Fortran interface</h4>
|
||||
<div id="outline-container-org5476867" class="outline-4">
|
||||
<h4 id="org5476867"><span class="section-number-4">3.2.5</span> Fortran interface</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb2777a3" class="outline-4">
|
||||
<h4 id="orgb2777a3"><span class="section-number-4">3.2.6</span> Test</h4>
|
||||
<div id="outline-container-orgc60df6c" class="outline-4">
|
||||
<h4 id="orgc60df6c"><span class="section-number-4">3.2.6</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-3-2-6">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #228b22;">integer</span>(<span style="color: #008b8b;">c_int32_t</span>) <span style="color: #a020f0;">function</span> <span style="color: #0000ff;">test_qmckl_ao_polynomial_vgl</span>(context) <span style="color: #a020f0;">bind</span>(C)
|
||||
@ -2161,12 +2161,12 @@ assert(0 == test_qmckl_ao_polynomial_vgl(context));
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3caf334" class="outline-2">
|
||||
<h2 id="org3caf334"><span class="section-number-2">4</span> Combining radial and polynomial parts</h2>
|
||||
<div id="outline-container-org5547646" class="outline-2">
|
||||
<h2 id="org5547646"><span class="section-number-2">4</span> Combining radial and polynomial parts</h2>
|
||||
<div class="outline-text-2" id="text-4">
|
||||
</div>
|
||||
<div id="outline-container-orgc83b492" class="outline-4">
|
||||
<h4 id="orgc83b492"><span class="section-number-4">4.0.1</span> Get</h4>
|
||||
<div id="outline-container-org9edc43a" class="outline-4">
|
||||
<h4 id="org9edc43a"><span class="section-number-4">4.0.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-4-0-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_ao_vgl</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">ao_vgl</span>);
|
||||
@ -2175,14 +2175,14 @@ assert(0 == test_qmckl_ao_polynomial_vgl(context));
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0dc5030" class="outline-4">
|
||||
<h4 id="org0dc5030"><span class="section-number-4">4.0.2</span> Provide</h4>
|
||||
<div id="outline-container-orgf69913f" class="outline-4">
|
||||
<h4 id="orgf69913f"><span class="section-number-4">4.0.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd63d37b" class="outline-4">
|
||||
<h4 id="orgd63d37b"><span class="section-number-4">4.0.3</span> Compute</h4>
|
||||
<div id="outline-container-org69cfc0e" class="outline-4">
|
||||
<h4 id="org69cfc0e"><span class="section-number-4">4.0.3</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-4-0-3">
|
||||
<table id="org842d02d" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org395a165" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2447,14 +2447,14 @@ assert(0 == test_qmckl_ao_polynomial_vgl(context));
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2498207" class="outline-4">
|
||||
<h4 id="org2498207"><span class="section-number-4">4.0.4</span> Test</h4>
|
||||
<div id="outline-container-org28518c8" class="outline-4">
|
||||
<h4 id="org28518c8"><span class="section-number-4">4.0.4</span> Test</h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-11-17 Wed 13:08</p>
|
||||
<p class="date">Created: 2021-11-17 Wed 13:13</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-11-17 Wed 13:08 -->
|
||||
<!-- 2021-11-17 Wed 13:13 -->
|
||||
<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,20 +333,20 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#org4edbb69">1. Matrix operations</a>
|
||||
<li><a href="#orgfa06a4d">1. Matrix operations</a>
|
||||
<ul>
|
||||
<li><a href="#org83a3ba0">1.1. <code>qmckl_dgemm</code></a>
|
||||
<li><a href="#orgc5f98c5">1.1. <code>qmckl_dgemm</code></a>
|
||||
<ul>
|
||||
<li><a href="#orgab8c222">1.1.1. Requirements</a></li>
|
||||
<li><a href="#orgf39af64">1.1.2. C header</a></li>
|
||||
<li><a href="#orgc66b95e">1.1.3. Source</a></li>
|
||||
<li><a href="#org6f52c7b">1.1.1. Requirements</a></li>
|
||||
<li><a href="#org1be259e">1.1.2. C header</a></li>
|
||||
<li><a href="#orga278ee8">1.1.3. Source</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgcde54d8">1.2. <code>qmckl_adjoint</code></a>
|
||||
<li><a href="#orge308512">1.2. <code>qmckl_adjoint</code></a>
|
||||
<ul>
|
||||
<li><a href="#org13f79d1">1.2.1. Requirements</a></li>
|
||||
<li><a href="#orgff5bb33">1.2.2. C header</a></li>
|
||||
<li><a href="#org1b7fc97">1.2.3. Source</a></li>
|
||||
<li><a href="#org5430f1b">1.2.1. Requirements</a></li>
|
||||
<li><a href="#org07b792e">1.2.2. C header</a></li>
|
||||
<li><a href="#org3fc74fa">1.2.3. Source</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@ -355,12 +355,12 @@ for the JavaScript code in this tag.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4edbb69" class="outline-2">
|
||||
<h2 id="org4edbb69"><span class="section-number-2">1</span> Matrix operations</h2>
|
||||
<div id="outline-container-orgfa06a4d" class="outline-2">
|
||||
<h2 id="orgfa06a4d"><span class="section-number-2">1</span> Matrix operations</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
</div>
|
||||
<div id="outline-container-org83a3ba0" class="outline-3">
|
||||
<h3 id="org83a3ba0"><span class="section-number-3">1.1</span> <code>qmckl_dgemm</code></h3>
|
||||
<div id="outline-container-orgc5f98c5" class="outline-3">
|
||||
<h3 id="orgc5f98c5"><span class="section-number-3">1.1</span> <code>qmckl_dgemm</code></h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<p>
|
||||
Matrix multiply: \(C_{ij} = \beta C_{ij} + \alpha \sum_{k} A_{ik} \cdot B_{kj}\) using Fortran <code>matmul</code> function.
|
||||
@ -370,7 +370,7 @@ Matrix multiply: \(C_{ij} = \beta C_{ij} + \alpha \sum_{k} A_{ik} \cdot B_{kj}\)
|
||||
TODO: Add description about the external library dependence.
|
||||
</p>
|
||||
|
||||
<table id="org5ee93ee" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orge129a4d" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -484,8 +484,8 @@ TODO: Add description about the external library dependence.
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgab8c222" class="outline-4">
|
||||
<h4 id="orgab8c222"><span class="section-number-4">1.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org6f52c7b" class="outline-4">
|
||||
<h4 id="org6f52c7b"><span class="section-number-4">1.1.1</span> Requirements</h4>
|
||||
<div class="outline-text-4" id="text-1-1-1">
|
||||
<ul class="org-ul">
|
||||
<li><code>context</code> is not <code>QMCKL_NULL_CONTEXT</code></li>
|
||||
@ -502,8 +502,8 @@ TODO: Add description about the external library dependence.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf39af64" class="outline-4">
|
||||
<h4 id="orgf39af64"><span class="section-number-4">1.1.2</span> C header</h4>
|
||||
<div id="outline-container-org1be259e" class="outline-4">
|
||||
<h4 id="org1be259e"><span class="section-number-4">1.1.2</span> C header</h4>
|
||||
<div class="outline-text-4" id="text-1-1-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_dgemm</span> (
|
||||
@ -526,8 +526,8 @@ TODO: Add description about the external library dependence.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc66b95e" class="outline-4">
|
||||
<h4 id="orgc66b95e"><span class="section-number-4">1.1.3</span> Source</h4>
|
||||
<div id="outline-container-orga278ee8" class="outline-4">
|
||||
<h4 id="orga278ee8"><span class="section-number-4">1.1.3</span> Source</h4>
|
||||
<div class="outline-text-4" id="text-1-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #228b22;">integer </span><span style="color: #a020f0;">function</span><span style="color: #a0522d;"> </span><span style="color: #0000ff;">qmckl_dgemm_f</span><span style="color: #000000; background-color: #ffffff;">(context, TransA, TransB, m, n, k, alpha, A, LDA, B, LDB, beta, C, LDC)</span><span style="color: #a0522d;"> </span><span style="color: #a020f0;">&</span>
|
||||
@ -686,8 +686,8 @@ TODO: Add description about the external library dependence.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgcde54d8" class="outline-3">
|
||||
<h3 id="orgcde54d8"><span class="section-number-3">1.2</span> <code>qmckl_adjoint</code></h3>
|
||||
<div id="outline-container-orge308512" class="outline-3">
|
||||
<h3 id="orge308512"><span class="section-number-3">1.2</span> <code>qmckl_adjoint</code></h3>
|
||||
<div class="outline-text-3" id="text-1-2">
|
||||
<p>
|
||||
Matrix adjoint. Given a matrix M, returns a matrix M⁻¹ such that:
|
||||
@ -709,7 +709,7 @@ only for small matrices (<=5x5).
|
||||
TODO: Add description about the external library dependence.
|
||||
</p>
|
||||
|
||||
<table id="org5e6dc59" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org7d9485b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -767,8 +767,8 @@ TODO: Add description about the external library dependence.
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org13f79d1" class="outline-4">
|
||||
<h4 id="org13f79d1"><span class="section-number-4">1.2.1</span> Requirements</h4>
|
||||
<div id="outline-container-org5430f1b" class="outline-4">
|
||||
<h4 id="org5430f1b"><span class="section-number-4">1.2.1</span> Requirements</h4>
|
||||
<div class="outline-text-4" id="text-1-2-1">
|
||||
<ul class="org-ul">
|
||||
<li><code>context</code> is not <code>QMCKL_NULL_CONTEXT</code></li>
|
||||
@ -780,8 +780,8 @@ TODO: Add description about the external library dependence.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgff5bb33" class="outline-4">
|
||||
<h4 id="orgff5bb33"><span class="section-number-4">1.2.2</span> C header</h4>
|
||||
<div id="outline-container-org07b792e" class="outline-4">
|
||||
<h4 id="org07b792e"><span class="section-number-4">1.2.2</span> C header</h4>
|
||||
<div class="outline-text-4" id="text-1-2-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_adjoint</span> (
|
||||
@ -796,8 +796,8 @@ TODO: Add description about the external library dependence.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1b7fc97" class="outline-4">
|
||||
<h4 id="org1b7fc97"><span class="section-number-4">1.2.3</span> Source</h4>
|
||||
<div id="outline-container-org3fc74fa" class="outline-4">
|
||||
<h4 id="org3fc74fa"><span class="section-number-4">1.2.3</span> Source</h4>
|
||||
<div class="outline-text-4" id="text-1-2-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #228b22;">integer </span><span style="color: #a020f0;">function</span><span style="color: #a0522d;"> </span><span style="color: #0000ff;">qmckl_adjoint_f</span><span style="color: #000000; background-color: #ffffff;">(context, ma, na, LDA, A, det_l)</span><span style="color: #a0522d;"> </span><span style="color: #a020f0;">&</span>
|
||||
@ -1319,7 +1319,7 @@ end
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-11-17 Wed 13:08</p>
|
||||
<p class="date">Created: 2021-11-17 Wed 13:13</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-11-17 Wed 13:08 -->
|
||||
<!-- 2021-11-17 Wed 13:13 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Context</title>
|
||||
@ -311,21 +311,21 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#org84d522d">1. Context handling</a>
|
||||
<li><a href="#orga5a8d65">1. Context handling</a>
|
||||
<ul>
|
||||
<li><a href="#orgfb9302b">1.1. Data structure</a></li>
|
||||
<li><a href="#org1c2ccf1">1.2. Creation</a></li>
|
||||
<li><a href="#orgf8a6fa5">1.3. Locking</a></li>
|
||||
<li><a href="#org5efc68c">1.4. <span class="todo TODO">TODO</span> Copy</a></li>
|
||||
<li><a href="#org8b60b03">1.5. Destroy</a></li>
|
||||
<li><a href="#org83b9eec">1.1. Data structure</a></li>
|
||||
<li><a href="#org8f810b1">1.2. Creation</a></li>
|
||||
<li><a href="#org4575467">1.3. Locking</a></li>
|
||||
<li><a href="#orgf40d6f5">1.4. <span class="todo TODO">TODO</span> Copy</a></li>
|
||||
<li><a href="#org1a98c5b">1.5. Destroy</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org84d522d" class="outline-2">
|
||||
<h2 id="org84d522d"><span class="section-number-2">1</span> Context handling</h2>
|
||||
<div id="outline-container-orga5a8d65" class="outline-2">
|
||||
<h2 id="orga5a8d65"><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="org863a144"><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="org3f2dcd9"><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-orgfb9302b" class="outline-3">
|
||||
<h3 id="orgfb9302b"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-org83b9eec" class="outline-3">
|
||||
<h3 id="org83b9eec"><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="#org1c2ccf1">qmckl<sub>context</sub><sub>create</sub></a>, <a href="#org8b60b03">qmckl<sub>context</sub><sub>destroy</sub></a> and <a href="#org5efc68c">qmckl<sub>context</sub><sub>copy</sub></a>
|
||||
<a href="#org8f810b1">qmckl<sub>context</sub><sub>create</sub></a>, <a href="#org1a98c5b">qmckl<sub>context</sub><sub>destroy</sub></a> and <a href="#orgf40d6f5">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-org1c2ccf1" class="outline-3">
|
||||
<h3 id="org1c2ccf1"><span class="section-number-3">1.2</span> Creation</h3>
|
||||
<div id="outline-container-org8f810b1" class="outline-3">
|
||||
<h3 id="org8f810b1"><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.
|
||||
@ -508,8 +508,8 @@ To create a new context, <code>qmckl_context_create()</code> should be used.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgf8a6fa5" class="outline-3">
|
||||
<h3 id="orgf8a6fa5"><span class="section-number-3">1.3</span> Locking</h3>
|
||||
<div id="outline-container-org4575467" class="outline-3">
|
||||
<h3 id="org4575467"><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
|
||||
@ -554,8 +554,8 @@ number of times the thread has locked it is saved in the
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5efc68c" class="outline-3">
|
||||
<h3 id="org5efc68c"><span class="section-number-3">1.4</span> <span class="todo TODO">TODO</span> Copy</h3>
|
||||
<div id="outline-container-orgf40d6f5" class="outline-3">
|
||||
<h3 id="orgf40d6f5"><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
|
||||
@ -603,8 +603,8 @@ number of times the thread has locked it is saved in the
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org8b60b03" class="outline-3">
|
||||
<h3 id="org8b60b03"><span class="section-number-3">1.5</span> Destroy</h3>
|
||||
<div id="outline-container-org1a98c5b" class="outline-3">
|
||||
<h3 id="org1a98c5b"><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.
|
||||
@ -658,7 +658,7 @@ It frees the context, and returns the previous context.
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-11-17 Wed 13:08</p>
|
||||
<p class="date">Created: 2021-11-17 Wed 13:13</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-11-17 Wed 13:08 -->
|
||||
<!-- 2021-11-17 Wed 13:13 -->
|
||||
<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,33 +311,33 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#orgf0b690e">1. Context</a>
|
||||
<li><a href="#orga0124e2">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#org0882f8d">1.1. Data structure</a></li>
|
||||
<li><a href="#org8b39146">1.2. Access functions</a></li>
|
||||
<li><a href="#org63970e9">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org570c840">1.4. Fortran Interfaces</a></li>
|
||||
<li><a href="#org979b1e1">1.5. Test</a></li>
|
||||
<li><a href="#orgc3c9a5c">1.1. Data structure</a></li>
|
||||
<li><a href="#org14a1b57">1.2. Access functions</a></li>
|
||||
<li><a href="#org1d2412d">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org65a7c0e">1.4. Fortran Interfaces</a></li>
|
||||
<li><a href="#org41631cc">1.5. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org7714475">2. Computation</a>
|
||||
<li><a href="#org88cc8d7">2. Computation</a>
|
||||
<ul>
|
||||
<li><a href="#org79455bd">2.1. Determinant matrix</a>
|
||||
<li><a href="#orgdd85897">2.1. Determinant matrix</a>
|
||||
<ul>
|
||||
<li><a href="#org68fae68">2.1.1. Get</a></li>
|
||||
<li><a href="#org7f5b9f2">2.1.2. Provide</a></li>
|
||||
<li><a href="#org3fd6c2e">2.1.3. Compute alpha</a></li>
|
||||
<li><a href="#org2fc5a88">2.1.4. Compute beta</a></li>
|
||||
<li><a href="#org14eeef3">2.1.5. Test</a></li>
|
||||
<li><a href="#org68b0d4b">2.1.1. Get</a></li>
|
||||
<li><a href="#org0fe5db5">2.1.2. Provide</a></li>
|
||||
<li><a href="#orgb825834">2.1.3. Compute alpha</a></li>
|
||||
<li><a href="#orgc095a7b">2.1.4. Compute beta</a></li>
|
||||
<li><a href="#orgb9d0c1a">2.1.5. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org525ab38">2.2. Inverse of Determinant matrix</a>
|
||||
<li><a href="#orge30da74">2.2. Inverse of Determinant matrix</a>
|
||||
<ul>
|
||||
<li><a href="#orga920f39">2.2.1. Get</a></li>
|
||||
<li><a href="#orgc6219ff">2.2.2. Provide</a></li>
|
||||
<li><a href="#org55bd2e1">2.2.3. Compute alpha</a></li>
|
||||
<li><a href="#orgd9b0100">2.2.4. Compute beta</a></li>
|
||||
<li><a href="#org798117c">2.2.5. Test</a></li>
|
||||
<li><a href="#org8474a26">2.2.1. Get</a></li>
|
||||
<li><a href="#org7b5b422">2.2.2. Provide</a></li>
|
||||
<li><a href="#orgebdff35">2.2.3. Compute alpha</a></li>
|
||||
<li><a href="#org0b2be8d">2.2.4. Compute beta</a></li>
|
||||
<li><a href="#org28bd059">2.2.5. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@ -346,8 +346,8 @@ for the JavaScript code in this tag.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf0b690e" class="outline-2">
|
||||
<h2 id="orgf0b690e"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-orga0124e2" class="outline-2">
|
||||
<h2 id="orga0124e2"><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:
|
||||
@ -529,8 +529,8 @@ Computed data:
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0882f8d" class="outline-3">
|
||||
<h3 id="org0882f8d"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-orgc3c9a5c" class="outline-3">
|
||||
<h3 id="orgc3c9a5c"><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> {
|
||||
@ -599,8 +599,8 @@ this mechanism.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8b39146" class="outline-3">
|
||||
<h3 id="org8b39146"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div id="outline-container-org14a1b57" class="outline-3">
|
||||
<h3 id="org14a1b57"><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
|
||||
@ -614,8 +614,8 @@ function returns <code>true</code>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org63970e9" class="outline-3">
|
||||
<h3 id="org63970e9"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-org1d2412d" class="outline-3">
|
||||
<h3 id="org1d2412d"><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
|
||||
@ -639,24 +639,24 @@ computed to accelerate the calculations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org570c840" class="outline-3">
|
||||
<h3 id="org570c840"><span class="section-number-3">1.4</span> Fortran Interfaces</h3>
|
||||
<div id="outline-container-org65a7c0e" class="outline-3">
|
||||
<h3 id="org65a7c0e"><span class="section-number-3">1.4</span> Fortran Interfaces</h3>
|
||||
</div>
|
||||
<div id="outline-container-org979b1e1" class="outline-3">
|
||||
<h3 id="org979b1e1"><span class="section-number-3">1.5</span> Test</h3>
|
||||
<div id="outline-container-org41631cc" class="outline-3">
|
||||
<h3 id="org41631cc"><span class="section-number-3">1.5</span> Test</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org7714475" class="outline-2">
|
||||
<h2 id="org7714475"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div id="outline-container-org88cc8d7" class="outline-2">
|
||||
<h2 id="org88cc8d7"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-org79455bd" class="outline-3">
|
||||
<h3 id="org79455bd"><span class="section-number-3">2.1</span> Determinant matrix</h3>
|
||||
<div id="outline-container-orgdd85897" class="outline-3">
|
||||
<h3 id="orgdd85897"><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-org68fae68" class="outline-4">
|
||||
<h4 id="org68fae68"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div id="outline-container-org68b0d4b" class="outline-4">
|
||||
<h4 id="org68b0d4b"><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>);
|
||||
@ -666,14 +666,14 @@ computed to accelerate the calculations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7f5b9f2" class="outline-4">
|
||||
<h4 id="org7f5b9f2"><span class="section-number-4">2.1.2</span> Provide</h4>
|
||||
<div id="outline-container-org0fe5db5" class="outline-4">
|
||||
<h4 id="org0fe5db5"><span class="section-number-4">2.1.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3fd6c2e" class="outline-4">
|
||||
<h4 id="org3fd6c2e"><span class="section-number-4">2.1.3</span> Compute alpha</h4>
|
||||
<div id="outline-container-orgb825834" class="outline-4">
|
||||
<h4 id="orgb825834"><span class="section-number-4">2.1.3</span> Compute alpha</h4>
|
||||
<div class="outline-text-4" id="text-2-1-3">
|
||||
<table id="org0eac2ae" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgb0333af" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -839,10 +839,10 @@ computed to accelerate the calculations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2fc5a88" class="outline-4">
|
||||
<h4 id="org2fc5a88"><span class="section-number-4">2.1.4</span> Compute beta</h4>
|
||||
<div id="outline-container-orgc095a7b" class="outline-4">
|
||||
<h4 id="orgc095a7b"><span class="section-number-4">2.1.4</span> Compute beta</h4>
|
||||
<div class="outline-text-4" id="text-2-1-4">
|
||||
<table id="org655f609" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org883a192" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1008,18 +1008,18 @@ computed to accelerate the calculations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org14eeef3" class="outline-4">
|
||||
<h4 id="org14eeef3"><span class="section-number-4">2.1.5</span> Test</h4>
|
||||
<div id="outline-container-orgb9d0c1a" class="outline-4">
|
||||
<h4 id="orgb9d0c1a"><span class="section-number-4">2.1.5</span> Test</h4>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org525ab38" class="outline-3">
|
||||
<h3 id="org525ab38"><span class="section-number-3">2.2</span> Inverse of Determinant matrix</h3>
|
||||
<div id="outline-container-orge30da74" class="outline-3">
|
||||
<h3 id="orge30da74"><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-orga920f39" class="outline-4">
|
||||
<h4 id="orga920f39"><span class="section-number-4">2.2.1</span> Get</h4>
|
||||
<div id="outline-container-org8474a26" class="outline-4">
|
||||
<h4 id="org8474a26"><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>);
|
||||
@ -1033,14 +1033,14 @@ computed to accelerate the calculations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc6219ff" class="outline-4">
|
||||
<h4 id="orgc6219ff"><span class="section-number-4">2.2.2</span> Provide</h4>
|
||||
<div id="outline-container-org7b5b422" class="outline-4">
|
||||
<h4 id="org7b5b422"><span class="section-number-4">2.2.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org55bd2e1" class="outline-4">
|
||||
<h4 id="org55bd2e1"><span class="section-number-4">2.2.3</span> Compute alpha</h4>
|
||||
<div id="outline-container-orgebdff35" class="outline-4">
|
||||
<h4 id="orgebdff35"><span class="section-number-4">2.2.3</span> Compute alpha</h4>
|
||||
<div class="outline-text-4" id="text-2-2-3">
|
||||
<table id="org0b56e15" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org5ef9464" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1185,10 +1185,10 @@ computed to accelerate the calculations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd9b0100" class="outline-4">
|
||||
<h4 id="orgd9b0100"><span class="section-number-4">2.2.4</span> Compute beta</h4>
|
||||
<div id="outline-container-org0b2be8d" class="outline-4">
|
||||
<h4 id="org0b2be8d"><span class="section-number-4">2.2.4</span> Compute beta</h4>
|
||||
<div class="outline-text-4" id="text-2-2-4">
|
||||
<table id="org7a0ebf9" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org9ed78f6" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1333,15 +1333,15 @@ computed to accelerate the calculations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org798117c" class="outline-4">
|
||||
<h4 id="org798117c"><span class="section-number-4">2.2.5</span> Test</h4>
|
||||
<div id="outline-container-org28bd059" class="outline-4">
|
||||
<h4 id="org28bd059"><span class="section-number-4">2.2.5</span> Test</h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-11-17 Wed 13:08</p>
|
||||
<p class="date">Created: 2021-11-17 Wed 13:13</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-11-17 Wed 13:08 -->
|
||||
<!-- 2021-11-17 Wed 13:14 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Inter-particle distances</title>
|
||||
@ -333,50 +333,50 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#org1770b18">1. Squared distance</a>
|
||||
<li><a href="#org5ec8e69">1. Squared distance</a>
|
||||
<ul>
|
||||
<li><a href="#orgd2d7ba0">1.1. <code>qmckl_distance_sq</code></a>
|
||||
<li><a href="#org873a8c9">1.1. <code>qmckl_distance_sq</code></a>
|
||||
<ul>
|
||||
<li><a href="#org4ca7450">1.1.1. Requirements</a></li>
|
||||
<li><a href="#org1f65df7">1.1.2. C header</a></li>
|
||||
<li><a href="#org048e121">1.1.3. Source</a></li>
|
||||
<li><a href="#org031bca5">1.1.4. Performance</a></li>
|
||||
<li><a href="#org2f8a85c">1.1.1. Requirements</a></li>
|
||||
<li><a href="#orgaf44de8">1.1.2. C header</a></li>
|
||||
<li><a href="#org661c889">1.1.3. Source</a></li>
|
||||
<li><a href="#org15e6944">1.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org9d238c0">2. Distance</a>
|
||||
<li><a href="#orge1ae754">2. Distance</a>
|
||||
<ul>
|
||||
<li><a href="#org3fcc19b">2.1. <code>qmckl_distance</code></a>
|
||||
<li><a href="#org8ed3324">2.1. <code>qmckl_distance</code></a>
|
||||
<ul>
|
||||
<li><a href="#orge2e99d6">2.1.1. Requirements</a></li>
|
||||
<li><a href="#org6134c71">2.1.2. C header</a></li>
|
||||
<li><a href="#org6292bab">2.1.3. Source</a></li>
|
||||
<li><a href="#org61de3e5">2.1.4. Performance</a></li>
|
||||
<li><a href="#org571c3b6">2.1.1. Requirements</a></li>
|
||||
<li><a href="#orgb8f9fd4">2.1.2. C header</a></li>
|
||||
<li><a href="#org11f42ca">2.1.3. Source</a></li>
|
||||
<li><a href="#org542bf58">2.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org1a7b33e">3. Rescaled Distance</a>
|
||||
<li><a href="#org19422c7">3. Rescaled Distance</a>
|
||||
<ul>
|
||||
<li><a href="#orgc66ee0f">3.1. <code>qmckl_distance_rescaled</code></a>
|
||||
<li><a href="#org70c3d7f">3.1. <code>qmckl_distance_rescaled</code></a>
|
||||
<ul>
|
||||
<li><a href="#orgeff6b2d">3.1.1. Requirements</a></li>
|
||||
<li><a href="#orga23c452">3.1.2. C header</a></li>
|
||||
<li><a href="#orge30cce7">3.1.3. Source</a></li>
|
||||
<li><a href="#orgd54aef7">3.1.4. Performance</a></li>
|
||||
<li><a href="#org5025421">3.1.1. Requirements</a></li>
|
||||
<li><a href="#orgdf077e6">3.1.2. C header</a></li>
|
||||
<li><a href="#org2fa59d9">3.1.3. Source</a></li>
|
||||
<li><a href="#org78b4d95">3.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org628f736">4. Rescaled Distance Derivatives</a>
|
||||
<li><a href="#org2d04d17">4. Rescaled Distance Derivatives</a>
|
||||
<ul>
|
||||
<li><a href="#org02b74cc">4.1. <code>qmckl_distance_rescaled_deriv_e</code></a>
|
||||
<li><a href="#orge556f70">4.1. <code>qmckl_distance_rescaled_deriv_e</code></a>
|
||||
<ul>
|
||||
<li><a href="#org6cc3e52">4.1.1. Requirements</a></li>
|
||||
<li><a href="#orgb1ce441">4.1.2. C header</a></li>
|
||||
<li><a href="#org29a5ae2">4.1.3. Source</a></li>
|
||||
<li><a href="#org2ba042f">4.1.4. Performance</a></li>
|
||||
<li><a href="#org5e7575d">4.1.1. Requirements</a></li>
|
||||
<li><a href="#orgb5e534c">4.1.2. C header</a></li>
|
||||
<li><a href="#orge23fd5c">4.1.3. Source</a></li>
|
||||
<li><a href="#org3f7562c">4.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@ -385,12 +385,12 @@ for the JavaScript code in this tag.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1770b18" class="outline-2">
|
||||
<h2 id="org1770b18"><span class="section-number-2">1</span> Squared distance</h2>
|
||||
<div id="outline-container-org5ec8e69" class="outline-2">
|
||||
<h2 id="org5ec8e69"><span class="section-number-2">1</span> Squared distance</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
</div>
|
||||
<div id="outline-container-orgd2d7ba0" class="outline-3">
|
||||
<h3 id="orgd2d7ba0"><span class="section-number-3">1.1</span> <code>qmckl_distance_sq</code></h3>
|
||||
<div id="outline-container-org873a8c9" class="outline-3">
|
||||
<h3 id="org873a8c9"><span class="section-number-3">1.1</span> <code>qmckl_distance_sq</code></h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<p>
|
||||
<code>qmckl_distance_sq</code> computes the matrix of the squared distances
|
||||
@ -403,7 +403,7 @@ between all pairs of points in two sets, one point within each set:
|
||||
\]
|
||||
</p>
|
||||
|
||||
<table id="orgcf737d8" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org89d3548" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -496,8 +496,8 @@ between all pairs of points in two sets, one point within each set:
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4ca7450" class="outline-4">
|
||||
<h4 id="org4ca7450"><span class="section-number-4">1.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org2f8a85c" class="outline-4">
|
||||
<h4 id="org2f8a85c"><span class="section-number-4">1.1.1</span> Requirements</h4>
|
||||
<div class="outline-text-4" id="text-1-1-1">
|
||||
<ul class="org-ul">
|
||||
<li><code>context</code> is not <code>QMCKL_NULL_CONTEXT</code></li>
|
||||
@ -515,8 +515,8 @@ between all pairs of points in two sets, one point within each set:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1f65df7" class="outline-4">
|
||||
<h4 id="org1f65df7"><span class="section-number-4">1.1.2</span> C header</h4>
|
||||
<div id="outline-container-orgaf44de8" class="outline-4">
|
||||
<h4 id="orgaf44de8"><span class="section-number-4">1.1.2</span> C header</h4>
|
||||
<div class="outline-text-4" id="text-1-1-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_distance_sq</span> (
|
||||
@ -536,8 +536,8 @@ between all pairs of points in two sets, one point within each set:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org048e121" class="outline-4">
|
||||
<h4 id="org048e121"><span class="section-number-4">1.1.3</span> Source</h4>
|
||||
<div id="outline-container-org661c889" class="outline-4">
|
||||
<h4 id="org661c889"><span class="section-number-4">1.1.3</span> Source</h4>
|
||||
<div class="outline-text-4" id="text-1-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #228b22;">integer</span><span style="color: #a0522d;"> function qmckl_distance_sq_f(context, transa, transb, m, n, </span><span style="color: #a020f0;">&</span>
|
||||
@ -672,8 +672,8 @@ between all pairs of points in two sets, one point within each set:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org031bca5" class="outline-4">
|
||||
<h4 id="org031bca5"><span class="section-number-4">1.1.4</span> Performance</h4>
|
||||
<div id="outline-container-org15e6944" class="outline-4">
|
||||
<h4 id="org15e6944"><span class="section-number-4">1.1.4</span> Performance</h4>
|
||||
<div class="outline-text-4" id="text-1-1-4">
|
||||
<p>
|
||||
This function is more efficient when <code>A</code> and <code>B</code> are
|
||||
@ -683,12 +683,12 @@ transposed.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org9d238c0" class="outline-2">
|
||||
<h2 id="org9d238c0"><span class="section-number-2">2</span> Distance</h2>
|
||||
<div id="outline-container-orge1ae754" class="outline-2">
|
||||
<h2 id="orge1ae754"><span class="section-number-2">2</span> Distance</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-org3fcc19b" class="outline-3">
|
||||
<h3 id="org3fcc19b"><span class="section-number-3">2.1</span> <code>qmckl_distance</code></h3>
|
||||
<div id="outline-container-org8ed3324" class="outline-3">
|
||||
<h3 id="org8ed3324"><span class="section-number-3">2.1</span> <code>qmckl_distance</code></h3>
|
||||
<div class="outline-text-3" id="text-2-1">
|
||||
<p>
|
||||
<code>qmckl_distance</code> computes the matrix of the distances between all
|
||||
@ -706,7 +706,7 @@ If the input array is normal (<code>'N'</code>), the xyz coordinates are in
|
||||
the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortran.
|
||||
</p>
|
||||
|
||||
<table id="orgf94a3f6" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgef7e436" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -799,8 +799,8 @@ the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortra
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge2e99d6" class="outline-4">
|
||||
<h4 id="orge2e99d6"><span class="section-number-4">2.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org571c3b6" class="outline-4">
|
||||
<h4 id="org571c3b6"><span class="section-number-4">2.1.1</span> Requirements</h4>
|
||||
<div class="outline-text-4" id="text-2-1-1">
|
||||
<ul class="org-ul">
|
||||
<li><code>context</code> is not <code>QMCKL_NULL_CONTEXT</code></li>
|
||||
@ -818,8 +818,8 @@ the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortra
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6134c71" class="outline-4">
|
||||
<h4 id="org6134c71"><span class="section-number-4">2.1.2</span> C header</h4>
|
||||
<div id="outline-container-orgb8f9fd4" class="outline-4">
|
||||
<h4 id="orgb8f9fd4"><span class="section-number-4">2.1.2</span> C header</h4>
|
||||
<div class="outline-text-4" id="text-2-1-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_distance</span> (
|
||||
@ -839,8 +839,8 @@ the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortra
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6292bab" class="outline-4">
|
||||
<h4 id="org6292bab"><span class="section-number-4">2.1.3</span> Source</h4>
|
||||
<div id="outline-container-org11f42ca" class="outline-4">
|
||||
<h4 id="org11f42ca"><span class="section-number-4">2.1.3</span> Source</h4>
|
||||
<div class="outline-text-4" id="text-2-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #228b22;">integer</span><span style="color: #a0522d;"> function qmckl_distance_f(context, transa, transb, m, n, </span><span style="color: #a020f0;">&</span>
|
||||
@ -1007,8 +1007,8 @@ the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortra
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org61de3e5" class="outline-4">
|
||||
<h4 id="org61de3e5"><span class="section-number-4">2.1.4</span> Performance</h4>
|
||||
<div id="outline-container-org542bf58" class="outline-4">
|
||||
<h4 id="org542bf58"><span class="section-number-4">2.1.4</span> Performance</h4>
|
||||
<div class="outline-text-4" id="text-2-1-4">
|
||||
<p>
|
||||
This function is more efficient when <code>A</code> and <code>B</code> are transposed.
|
||||
@ -1018,12 +1018,12 @@ This function is more efficient when <code>A</code> and <code>B</code> are trans
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1a7b33e" class="outline-2">
|
||||
<h2 id="org1a7b33e"><span class="section-number-2">3</span> Rescaled Distance</h2>
|
||||
<div id="outline-container-org19422c7" class="outline-2">
|
||||
<h2 id="org19422c7"><span class="section-number-2">3</span> Rescaled Distance</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
</div>
|
||||
<div id="outline-container-orgc66ee0f" class="outline-3">
|
||||
<h3 id="orgc66ee0f"><span class="section-number-3">3.1</span> <code>qmckl_distance_rescaled</code></h3>
|
||||
<div id="outline-container-org70c3d7f" class="outline-3">
|
||||
<h3 id="org70c3d7f"><span class="section-number-3">3.1</span> <code>qmckl_distance_rescaled</code></h3>
|
||||
<div class="outline-text-3" id="text-3-1">
|
||||
<p>
|
||||
<code>qmckl_distance_rescaled</code> computes the matrix of the rescaled distances between all
|
||||
@ -1041,7 +1041,7 @@ If the input array is normal (<code>'N'</code>), the xyz coordinates are in
|
||||
the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortran.
|
||||
</p>
|
||||
|
||||
<table id="orgf88299f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orged6334e" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1141,8 +1141,8 @@ the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortra
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgeff6b2d" class="outline-4">
|
||||
<h4 id="orgeff6b2d"><span class="section-number-4">3.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org5025421" class="outline-4">
|
||||
<h4 id="org5025421"><span class="section-number-4">3.1.1</span> Requirements</h4>
|
||||
<div class="outline-text-4" id="text-3-1-1">
|
||||
<ul class="org-ul">
|
||||
<li><code>context</code> is not <code>QMCKL_NULL_CONTEXT</code></li>
|
||||
@ -1160,8 +1160,8 @@ the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortra
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga23c452" class="outline-4">
|
||||
<h4 id="orga23c452"><span class="section-number-4">3.1.2</span> C header</h4>
|
||||
<div id="outline-container-orgdf077e6" class="outline-4">
|
||||
<h4 id="orgdf077e6"><span class="section-number-4">3.1.2</span> C header</h4>
|
||||
<div class="outline-text-4" id="text-3-1-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_distance_rescaled</span> (
|
||||
@ -1182,8 +1182,8 @@ the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortra
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge30cce7" class="outline-4">
|
||||
<h4 id="orge30cce7"><span class="section-number-4">3.1.3</span> Source</h4>
|
||||
<div id="outline-container-org2fa59d9" class="outline-4">
|
||||
<h4 id="org2fa59d9"><span class="section-number-4">3.1.3</span> Source</h4>
|
||||
<div class="outline-text-4" id="text-3-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #228b22;">integer</span><span style="color: #a0522d;"> function qmckl_distance_rescaled_f(context, transa, transb, m, n, </span><span style="color: #a020f0;">&</span>
|
||||
@ -1353,8 +1353,8 @@ the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortra
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd54aef7" class="outline-4">
|
||||
<h4 id="orgd54aef7"><span class="section-number-4">3.1.4</span> Performance</h4>
|
||||
<div id="outline-container-org78b4d95" class="outline-4">
|
||||
<h4 id="org78b4d95"><span class="section-number-4">3.1.4</span> Performance</h4>
|
||||
<div class="outline-text-4" id="text-3-1-4">
|
||||
<p>
|
||||
This function is more efficient when <code>A</code> and <code>B</code> are transposed.
|
||||
@ -1363,12 +1363,12 @@ This function is more efficient when <code>A</code> and <code>B</code> are trans
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org628f736" class="outline-2">
|
||||
<h2 id="org628f736"><span class="section-number-2">4</span> Rescaled Distance Derivatives</h2>
|
||||
<div id="outline-container-org2d04d17" class="outline-2">
|
||||
<h2 id="org2d04d17"><span class="section-number-2">4</span> Rescaled Distance Derivatives</h2>
|
||||
<div class="outline-text-2" id="text-4">
|
||||
</div>
|
||||
<div id="outline-container-org02b74cc" class="outline-3">
|
||||
<h3 id="org02b74cc"><span class="section-number-3">4.1</span> <code>qmckl_distance_rescaled_deriv_e</code></h3>
|
||||
<div id="outline-container-orge556f70" class="outline-3">
|
||||
<h3 id="orge556f70"><span class="section-number-3">4.1</span> <code>qmckl_distance_rescaled_deriv_e</code></h3>
|
||||
<div class="outline-text-3" id="text-4-1">
|
||||
<p>
|
||||
<code>qmckl_distance_rescaled_deriv_e</code> computes the matrix of the gradient and laplacian of the
|
||||
@ -1435,7 +1435,7 @@ If the input array is normal (<code>'N'</code>), the xyz coordinates are in
|
||||
the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortran.
|
||||
</p>
|
||||
|
||||
<table id="orgd80c99a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org0bf87c5" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1535,8 +1535,8 @@ the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortra
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6cc3e52" class="outline-4">
|
||||
<h4 id="org6cc3e52"><span class="section-number-4">4.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org5e7575d" class="outline-4">
|
||||
<h4 id="org5e7575d"><span class="section-number-4">4.1.1</span> Requirements</h4>
|
||||
<div class="outline-text-4" id="text-4-1-1">
|
||||
<ul class="org-ul">
|
||||
<li><code>context</code> is not <code>QMCKL_NULL_CONTEXT</code></li>
|
||||
@ -1554,8 +1554,8 @@ the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortra
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb1ce441" class="outline-4">
|
||||
<h4 id="orgb1ce441"><span class="section-number-4">4.1.2</span> C header</h4>
|
||||
<div id="outline-container-orgb5e534c" class="outline-4">
|
||||
<h4 id="orgb5e534c"><span class="section-number-4">4.1.2</span> C header</h4>
|
||||
<div class="outline-text-4" id="text-4-1-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_distance_rescaled_deriv_e</span> (
|
||||
@ -1576,8 +1576,8 @@ the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortra
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org29a5ae2" class="outline-4">
|
||||
<h4 id="org29a5ae2"><span class="section-number-4">4.1.3</span> Source</h4>
|
||||
<div id="outline-container-orge23fd5c" class="outline-4">
|
||||
<h4 id="orge23fd5c"><span class="section-number-4">4.1.3</span> Source</h4>
|
||||
<div class="outline-text-4" id="text-4-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #228b22;">integer</span><span style="color: #a0522d;"> function qmckl_distance_rescaled_deriv_e_f(context, transa, transb, m, n, </span><span style="color: #a020f0;">&</span>
|
||||
@ -1768,8 +1768,8 @@ the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortra
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2ba042f" class="outline-4">
|
||||
<h4 id="org2ba042f"><span class="section-number-4">4.1.4</span> Performance</h4>
|
||||
<div id="outline-container-org3f7562c" class="outline-4">
|
||||
<h4 id="org3f7562c"><span class="section-number-4">4.1.4</span> Performance</h4>
|
||||
<div class="outline-text-4" id="text-4-1-4">
|
||||
<p>
|
||||
This function is more efficient when <code>A</code> and <code>B</code> are transposed.
|
||||
@ -1781,7 +1781,7 @@ This function is more efficient when <code>A</code> and <code>B</code> are trans
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-11-17 Wed 13:08</p>
|
||||
<p class="date">Created: 2021-11-17 Wed 13:14</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-11-17 Wed 13:08 -->
|
||||
<!-- 2021-11-17 Wed 13:13 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Electrons</title>
|
||||
@ -333,77 +333,77 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#org4d8b5be">1. Context</a>
|
||||
<li><a href="#org04e4eb7">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#org584e337">1.1. Data structure</a></li>
|
||||
<li><a href="#orgadd4229">1.2. Access functions</a>
|
||||
<li><a href="#orge598f40">1.1. Data structure</a></li>
|
||||
<li><a href="#org782c743">1.2. Access functions</a>
|
||||
<ul>
|
||||
<li><a href="#org34b6bbb">1.2.1. Number of electrons</a></li>
|
||||
<li><a href="#orgd45dd44">1.2.2. Number of walkers</a></li>
|
||||
<li><a href="#org6e4a085">1.2.3. Scaling factors Kappa</a></li>
|
||||
<li><a href="#org263ba3b">1.2.4. Electron coordinates</a></li>
|
||||
<li><a href="#orgd7da244">1.2.1. Number of electrons</a></li>
|
||||
<li><a href="#org6039534">1.2.2. Number of walkers</a></li>
|
||||
<li><a href="#orgccf9833">1.2.3. Scaling factors Kappa</a></li>
|
||||
<li><a href="#orgd4d95ea">1.2.4. Electron coordinates</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org505ad6d">1.3. Initialization functions</a></li>
|
||||
<li><a href="#orgf9e892a">1.4. Test</a></li>
|
||||
<li><a href="#org1623498">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org705293c">1.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orga43a43e">2. Computation</a>
|
||||
<li><a href="#orgfd64f07">2. Computation</a>
|
||||
<ul>
|
||||
<li><a href="#orgf6aeda0">2.1. Electron-electron distances</a>
|
||||
<li><a href="#org2006be4">2.1. Electron-electron distances</a>
|
||||
<ul>
|
||||
<li><a href="#orgb14efe3">2.1.1. Get</a></li>
|
||||
<li><a href="#org1bfa26c">2.1.2. Compute</a></li>
|
||||
<li><a href="#orgc7ed8cd">2.1.3. Test</a></li>
|
||||
<li><a href="#org9fe0982">2.1.1. Get</a></li>
|
||||
<li><a href="#org95b340b">2.1.2. Compute</a></li>
|
||||
<li><a href="#org94aa58f">2.1.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgdab9095">2.2. Electron-electron rescaled distances</a>
|
||||
<li><a href="#org9a85684">2.2. Electron-electron rescaled distances</a>
|
||||
<ul>
|
||||
<li><a href="#org8876f9f">2.2.1. Get</a></li>
|
||||
<li><a href="#org5a948a3">2.2.2. Compute</a></li>
|
||||
<li><a href="#orgb49a80b">2.2.3. Test</a></li>
|
||||
<li><a href="#org260ea55">2.2.1. Get</a></li>
|
||||
<li><a href="#org1c3a82e">2.2.2. Compute</a></li>
|
||||
<li><a href="#org0dad697">2.2.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org67005f1">2.3. Electron-electron rescaled distance gradients and laplacian with respect to electron coords</a>
|
||||
<li><a href="#orgba1c61e">2.3. Electron-electron rescaled distance gradients and laplacian with respect to electron coords</a>
|
||||
<ul>
|
||||
<li><a href="#orga6fe173">2.3.1. Get</a></li>
|
||||
<li><a href="#orgb281ff5">2.3.2. Compute</a></li>
|
||||
<li><a href="#orgc88deb8">2.3.3. Test</a></li>
|
||||
<li><a href="#org8f37544">2.3.1. Get</a></li>
|
||||
<li><a href="#orgc66b1e1">2.3.2. Compute</a></li>
|
||||
<li><a href="#org4a93777">2.3.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgcd3e25e">2.4. Electron-electron potential</a>
|
||||
<li><a href="#orgd7f8aea">2.4. Electron-electron potential</a>
|
||||
<ul>
|
||||
<li><a href="#org6383395">2.4.1. Get</a></li>
|
||||
<li><a href="#orga273868">2.4.2. Compute</a></li>
|
||||
<li><a href="#orgb695523">2.4.3. Test</a></li>
|
||||
<li><a href="#org3b8983a">2.4.1. Get</a></li>
|
||||
<li><a href="#orgf0cd893">2.4.2. Compute</a></li>
|
||||
<li><a href="#org0d50362">2.4.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgc9e5535">2.5. Electron-nucleus distances</a>
|
||||
<li><a href="#orgfcd0e04">2.5. Electron-nucleus distances</a>
|
||||
<ul>
|
||||
<li><a href="#org5b4e41e">2.5.1. Get</a></li>
|
||||
<li><a href="#org93034d4">2.5.2. Compute</a></li>
|
||||
<li><a href="#orgc128603">2.5.3. Test</a></li>
|
||||
<li><a href="#orgb3af2a5">2.5.1. Get</a></li>
|
||||
<li><a href="#org7f47880">2.5.2. Compute</a></li>
|
||||
<li><a href="#org3be9d56">2.5.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgb9ffbd2">2.6. Electron-nucleus rescaled distances</a>
|
||||
<li><a href="#orge34ae79">2.6. Electron-nucleus rescaled distances</a>
|
||||
<ul>
|
||||
<li><a href="#org94107c1">2.6.1. Get</a></li>
|
||||
<li><a href="#orga1bffc9">2.6.2. Compute</a></li>
|
||||
<li><a href="#org5fa4fa6">2.6.3. Test</a></li>
|
||||
<li><a href="#orga2d8d98">2.6.1. Get</a></li>
|
||||
<li><a href="#org537abcc">2.6.2. Compute</a></li>
|
||||
<li><a href="#org3be98d7">2.6.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org74b024e">2.7. Electron-nucleus rescaled distance gradients and laplacian with respect to electron coords</a>
|
||||
<li><a href="#orgb7bd609">2.7. Electron-nucleus rescaled distance gradients and laplacian with respect to electron coords</a>
|
||||
<ul>
|
||||
<li><a href="#org9426cb9">2.7.1. Get</a></li>
|
||||
<li><a href="#orgb855f53">2.7.2. Compute</a></li>
|
||||
<li><a href="#orgf421793">2.7.3. Test</a></li>
|
||||
<li><a href="#orge6b7437">2.7.1. Get</a></li>
|
||||
<li><a href="#org57959fa">2.7.2. Compute</a></li>
|
||||
<li><a href="#org9f84862">2.7.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org0cc1564">2.8. Electron-nucleus potential</a>
|
||||
<li><a href="#org802441f">2.8. Electron-nucleus potential</a>
|
||||
<ul>
|
||||
<li><a href="#org932d955">2.8.1. Get</a></li>
|
||||
<li><a href="#org9d30b85">2.8.2. Compute</a></li>
|
||||
<li><a href="#org0f5c5eb">2.8.3. Test</a></li>
|
||||
<li><a href="#org1d56ece">2.8.1. Get</a></li>
|
||||
<li><a href="#orge01af6c">2.8.2. Compute</a></li>
|
||||
<li><a href="#org2b0883d">2.8.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@ -412,8 +412,8 @@ for the JavaScript code in this tag.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4d8b5be" class="outline-2">
|
||||
<h2 id="org4d8b5be"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-org04e4eb7" class="outline-2">
|
||||
<h2 id="org04e4eb7"><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:
|
||||
@ -612,8 +612,8 @@ Computed data:
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org584e337" class="outline-3">
|
||||
<h3 id="org584e337"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-orge598f40" class="outline-3">
|
||||
<h3 id="orge598f40"><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> {
|
||||
@ -692,8 +692,8 @@ this mechanism.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgadd4229" class="outline-3">
|
||||
<h3 id="orgadd4229"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div id="outline-container-org782c743" class="outline-3">
|
||||
<h3 id="org782c743"><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
|
||||
@ -705,12 +705,12 @@ contains the requested data. Otherwise, this variable is untouched.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org34b6bbb" class="outline-4">
|
||||
<h4 id="org34b6bbb"><span class="section-number-4">1.2.1</span> Number of electrons</h4>
|
||||
<div id="outline-container-orgd7da244" class="outline-4">
|
||||
<h4 id="orgd7da244"><span class="section-number-4">1.2.1</span> Number of electrons</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd45dd44" class="outline-4">
|
||||
<h4 id="orgd45dd44"><span class="section-number-4">1.2.2</span> Number of walkers</h4>
|
||||
<div id="outline-container-org6039534" class="outline-4">
|
||||
<h4 id="org6039534"><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
|
||||
@ -719,12 +719,12 @@ the wave function. <code>walk_num</code> is the number of walkers.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6e4a085" class="outline-4">
|
||||
<h4 id="org6e4a085"><span class="section-number-4">1.2.3</span> Scaling factors Kappa</h4>
|
||||
<div id="outline-container-orgccf9833" class="outline-4">
|
||||
<h4 id="orgccf9833"><span class="section-number-4">1.2.3</span> Scaling factors Kappa</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org263ba3b" class="outline-4">
|
||||
<h4 id="org263ba3b"><span class="section-number-4">1.2.4</span> Electron coordinates</h4>
|
||||
<div id="outline-container-orgd4d95ea" class="outline-4">
|
||||
<h4 id="orgd4d95ea"><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
|
||||
@ -768,8 +768,8 @@ The order of the indices is:
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org505ad6d" class="outline-3">
|
||||
<h3 id="org505ad6d"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-org1623498" class="outline-3">
|
||||
<h3 id="org1623498"><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
|
||||
@ -856,8 +856,8 @@ in the context.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf9e892a" class="outline-3">
|
||||
<h3 id="orgf9e892a"><span class="section-number-3">1.4</span> Test</h3>
|
||||
<div id="outline-container-org705293c" class="outline-3">
|
||||
<h3 id="org705293c"><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>*/
|
||||
@ -963,8 +963,8 @@ rc = qmckl_get_electron_coord (context, <span style="color: #8b2252;">'N'</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga43a43e" class="outline-2">
|
||||
<h2 id="orga43a43e"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div id="outline-container-orgfd64f07" class="outline-2">
|
||||
<h2 id="orgfd64f07"><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
|
||||
@ -977,12 +977,12 @@ current date is stored.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf6aeda0" class="outline-3">
|
||||
<h3 id="orgf6aeda0"><span class="section-number-3">2.1</span> Electron-electron distances</h3>
|
||||
<div id="outline-container-org2006be4" class="outline-3">
|
||||
<h3 id="org2006be4"><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-orgb14efe3" class="outline-4">
|
||||
<h4 id="orgb14efe3"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div id="outline-container-org9fe0982" class="outline-4">
|
||||
<h4 id="org9fe0982"><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>);
|
||||
@ -991,10 +991,10 @@ current date is stored.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1bfa26c" class="outline-4">
|
||||
<h4 id="org1bfa26c"><span class="section-number-4">2.1.2</span> Compute</h4>
|
||||
<div id="outline-container-org95b340b" class="outline-4">
|
||||
<h4 id="org95b340b"><span class="section-number-4">2.1.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-1-2">
|
||||
<table id="orgc40e3f6" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org2421efe" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1090,8 +1090,8 @@ current date is stored.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc7ed8cd" class="outline-4">
|
||||
<h4 id="orgc7ed8cd"><span class="section-number-4">2.1.3</span> Test</h4>
|
||||
<div id="outline-container-org94aa58f" class="outline-4">
|
||||
<h4 id="org94aa58f"><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>));
|
||||
@ -1125,8 +1125,8 @@ rc = qmckl_get_electron_ee_distance(context, ee_distance);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgdab9095" class="outline-3">
|
||||
<h3 id="orgdab9095"><span class="section-number-3">2.2</span> Electron-electron rescaled distances</h3>
|
||||
<div id="outline-container-org9a85684" class="outline-3">
|
||||
<h3 id="org9a85684"><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
|
||||
@ -1144,8 +1144,8 @@ where \(C_{ij}\) is the matrix of electron-electron distances.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8876f9f" class="outline-4">
|
||||
<h4 id="org8876f9f"><span class="section-number-4">2.2.1</span> Get</h4>
|
||||
<div id="outline-container-org260ea55" class="outline-4">
|
||||
<h4 id="org260ea55"><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>);
|
||||
@ -1154,10 +1154,10 @@ where \(C_{ij}\) is the matrix of electron-electron distances.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5a948a3" class="outline-4">
|
||||
<h4 id="org5a948a3"><span class="section-number-4">2.2.2</span> Compute</h4>
|
||||
<div id="outline-container-org1c3a82e" class="outline-4">
|
||||
<h4 id="org1c3a82e"><span class="section-number-4">2.2.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-2-2">
|
||||
<table id="org02e42c6" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org2fbcc26" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1262,8 +1262,8 @@ where \(C_{ij}\) is the matrix of electron-electron distances.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb49a80b" class="outline-4">
|
||||
<h4 id="orgb49a80b"><span class="section-number-4">2.2.3</span> Test</h4>
|
||||
<div id="outline-container-org0dad697" class="outline-4">
|
||||
<h4 id="org0dad697"><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>));
|
||||
@ -1297,8 +1297,8 @@ rc = qmckl_get_electron_ee_distance_rescaled(context, ee_distance_rescaled);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org67005f1" class="outline-3">
|
||||
<h3 id="org67005f1"><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-orgba1c61e" class="outline-3">
|
||||
<h3 id="orgba1c61e"><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\)
|
||||
@ -1310,8 +1310,8 @@ gives the Laplacian \(\partial x^2 + \partial y^2 + \partial z^2\).
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga6fe173" class="outline-4">
|
||||
<h4 id="orga6fe173"><span class="section-number-4">2.3.1</span> Get</h4>
|
||||
<div id="outline-container-org8f37544" class="outline-4">
|
||||
<h4 id="org8f37544"><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>);
|
||||
@ -1320,10 +1320,10 @@ gives the Laplacian \(\partial x^2 + \partial y^2 + \partial z^2\).
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb281ff5" class="outline-4">
|
||||
<h4 id="orgb281ff5"><span class="section-number-4">2.3.2</span> Compute</h4>
|
||||
<div id="outline-container-orgc66b1e1" class="outline-4">
|
||||
<h4 id="orgc66b1e1"><span class="section-number-4">2.3.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-3-2">
|
||||
<table id="org4857006" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgc2ea143" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1428,8 +1428,8 @@ gives the Laplacian \(\partial x^2 + \partial y^2 + \partial z^2\).
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc88deb8" class="outline-4">
|
||||
<h4 id="orgc88deb8"><span class="section-number-4">2.3.3</span> Test</h4>
|
||||
<div id="outline-container-org4a93777" class="outline-4">
|
||||
<h4 id="org4a93777"><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>));
|
||||
@ -1464,8 +1464,8 @@ rc = qmckl_get_electron_ee_distance_rescaled_deriv_e(context, ee_distance_rescal
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgcd3e25e" class="outline-3">
|
||||
<h3 id="orgcd3e25e"><span class="section-number-3">2.4</span> Electron-electron potential</h3>
|
||||
<div id="outline-container-orgd7f8aea" class="outline-3">
|
||||
<h3 id="orgd7f8aea"><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.
|
||||
@ -1483,8 +1483,8 @@ distance.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6383395" class="outline-4">
|
||||
<h4 id="org6383395"><span class="section-number-4">2.4.1</span> Get</h4>
|
||||
<div id="outline-container-org3b8983a" class="outline-4">
|
||||
<h4 id="org3b8983a"><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>);
|
||||
@ -1493,10 +1493,10 @@ distance.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga273868" class="outline-4">
|
||||
<h4 id="orga273868"><span class="section-number-4">2.4.2</span> Compute</h4>
|
||||
<div id="outline-container-orgf0cd893" class="outline-4">
|
||||
<h4 id="orgf0cd893"><span class="section-number-4">2.4.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-4-2">
|
||||
<table id="org0ad2389" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org61458c7" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1604,8 +1604,8 @@ distance.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb695523" class="outline-4">
|
||||
<h4 id="orgb695523"><span class="section-number-4">2.4.3</span> Test</h4>
|
||||
<div id="outline-container-org0d50362" class="outline-4">
|
||||
<h4 id="org0d50362"><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];
|
||||
@ -1617,12 +1617,12 @@ rc = qmckl_get_electron_ee_potential(context, &(ee_pot[0]));
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgc9e5535" class="outline-3">
|
||||
<h3 id="orgc9e5535"><span class="section-number-3">2.5</span> Electron-nucleus distances</h3>
|
||||
<div id="outline-container-orgfcd0e04" class="outline-3">
|
||||
<h3 id="orgfcd0e04"><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-org5b4e41e" class="outline-4">
|
||||
<h4 id="org5b4e41e"><span class="section-number-4">2.5.1</span> Get</h4>
|
||||
<div id="outline-container-orgb3af2a5" class="outline-4">
|
||||
<h4 id="orgb3af2a5"><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>);
|
||||
@ -1631,10 +1631,10 @@ rc = qmckl_get_electron_ee_potential(context, &(ee_pot[0]));
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org93034d4" class="outline-4">
|
||||
<h4 id="org93034d4"><span class="section-number-4">2.5.2</span> Compute</h4>
|
||||
<div id="outline-container-org7f47880" class="outline-4">
|
||||
<h4 id="org7f47880"><span class="section-number-4">2.5.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-5-2">
|
||||
<table id="org56dd136" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org15ee2dc" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1751,8 +1751,8 @@ rc = qmckl_get_electron_ee_potential(context, &(ee_pot[0]));
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc128603" class="outline-4">
|
||||
<h4 id="orgc128603"><span class="section-number-4">2.5.3</span> Test</h4>
|
||||
<div id="outline-container-org3be9d56" class="outline-4">
|
||||
<h4 id="org3be9d56"><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">
|
||||
@ -1800,8 +1800,8 @@ rc = qmckl_get_electron_en_distance(context, &(en_distance[0][0][0]));
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb9ffbd2" class="outline-3">
|
||||
<h3 id="orgb9ffbd2"><span class="section-number-3">2.6</span> Electron-nucleus rescaled distances</h3>
|
||||
<div id="outline-container-orge34ae79" class="outline-3">
|
||||
<h3 id="orge34ae79"><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
|
||||
@ -1819,8 +1819,8 @@ where \(C_{ij}\) is the matrix of electron-nucleus distances.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org94107c1" class="outline-4">
|
||||
<h4 id="org94107c1"><span class="section-number-4">2.6.1</span> Get</h4>
|
||||
<div id="outline-container-orga2d8d98" class="outline-4">
|
||||
<h4 id="orga2d8d98"><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>);
|
||||
@ -1829,10 +1829,10 @@ where \(C_{ij}\) is the matrix of electron-nucleus distances.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga1bffc9" class="outline-4">
|
||||
<h4 id="orga1bffc9"><span class="section-number-4">2.6.2</span> Compute</h4>
|
||||
<div id="outline-container-org537abcc" class="outline-4">
|
||||
<h4 id="org537abcc"><span class="section-number-4">2.6.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-6-2">
|
||||
<table id="org9ce3525" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgd3fbf07" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1964,8 +1964,8 @@ where \(C_{ij}\) is the matrix of electron-nucleus distances.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5fa4fa6" class="outline-4">
|
||||
<h4 id="org5fa4fa6"><span class="section-number-4">2.6.3</span> Test</h4>
|
||||
<div id="outline-container-org3be98d7" class="outline-4">
|
||||
<h4 id="org3be98d7"><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">
|
||||
@ -2013,8 +2013,8 @@ rc = qmckl_get_electron_en_distance_rescaled(context, &(en_distance_rescaled
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org74b024e" class="outline-3">
|
||||
<h3 id="org74b024e"><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-orgb7bd609" class="outline-3">
|
||||
<h3 id="orgb7bd609"><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\)
|
||||
@ -2026,8 +2026,8 @@ gives the Laplacian \(\partial x^2 + \partial y^2 + \partial z^2\).
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9426cb9" class="outline-4">
|
||||
<h4 id="org9426cb9"><span class="section-number-4">2.7.1</span> Get</h4>
|
||||
<div id="outline-container-orge6b7437" class="outline-4">
|
||||
<h4 id="orge6b7437"><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>);
|
||||
@ -2036,10 +2036,10 @@ gives the Laplacian \(\partial x^2 + \partial y^2 + \partial z^2\).
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb855f53" class="outline-4">
|
||||
<h4 id="orgb855f53"><span class="section-number-4">2.7.2</span> Compute</h4>
|
||||
<div id="outline-container-org57959fa" class="outline-4">
|
||||
<h4 id="org57959fa"><span class="section-number-4">2.7.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-7-2">
|
||||
<table id="org262aa6e" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org82764e8" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2172,8 +2172,8 @@ gives the Laplacian \(\partial x^2 + \partial y^2 + \partial z^2\).
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf421793" class="outline-4">
|
||||
<h4 id="orgf421793"><span class="section-number-4">2.7.3</span> Test</h4>
|
||||
<div id="outline-container-org9f84862" class="outline-4">
|
||||
<h4 id="org9f84862"><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">
|
||||
@ -2225,8 +2225,8 @@ rc = qmckl_get_electron_en_distance_rescaled_deriv_e(context, &(en_distance_
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0cc1564" class="outline-3">
|
||||
<h3 id="org0cc1564"><span class="section-number-3">2.8</span> Electron-nucleus potential</h3>
|
||||
<div id="outline-container-org802441f" class="outline-3">
|
||||
<h3 id="org802441f"><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
|
||||
@ -2244,8 +2244,8 @@ distance and \[Z_A\] is the nuclear charge.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org932d955" class="outline-4">
|
||||
<h4 id="org932d955"><span class="section-number-4">2.8.1</span> Get</h4>
|
||||
<div id="outline-container-org1d56ece" class="outline-4">
|
||||
<h4 id="org1d56ece"><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>);
|
||||
@ -2254,10 +2254,10 @@ distance and \[Z_A\] is the nuclear charge.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9d30b85" class="outline-4">
|
||||
<h4 id="org9d30b85"><span class="section-number-4">2.8.2</span> Compute</h4>
|
||||
<div id="outline-container-orge01af6c" class="outline-4">
|
||||
<h4 id="orge01af6c"><span class="section-number-4">2.8.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-8-2">
|
||||
<table id="org9fd0cb4" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orge73a389" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2383,8 +2383,8 @@ distance and \[Z_A\] is the nuclear charge.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0f5c5eb" class="outline-4">
|
||||
<h4 id="org0f5c5eb"><span class="section-number-4">2.8.3</span> Test</h4>
|
||||
<div id="outline-container-org2b0883d" class="outline-4">
|
||||
<h4 id="org2b0883d"><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];
|
||||
@ -2400,7 +2400,7 @@ rc = qmckl_get_electron_en_potential(context, &(en_pot[0]));
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-11-17 Wed 13:08</p>
|
||||
<p class="date">Created: 2021-11-17 Wed 13:13</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-11-17 Wed 13:08 -->
|
||||
<!-- 2021-11-17 Wed 13:13 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Error handling</title>
|
||||
@ -311,17 +311,17 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#org7f342b9">1. Decoding errors</a></li>
|
||||
<li><a href="#org0df8d71">2. Data structure in context</a></li>
|
||||
<li><a href="#org3f85650">3. Updating errors in the context</a></li>
|
||||
<li><a href="#orga4bc022">4. Get the error</a></li>
|
||||
<li><a href="#org7136daa">5. Failing</a></li>
|
||||
<li><a href="#orgaa73300">1. Decoding errors</a></li>
|
||||
<li><a href="#orgcd803d5">2. Data structure in context</a></li>
|
||||
<li><a href="#org092418c">3. Updating errors in the context</a></li>
|
||||
<li><a href="#org1545ae6">4. Get the error</a></li>
|
||||
<li><a href="#org88c5351">5. Failing</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7f342b9" class="outline-2">
|
||||
<h2 id="org7f342b9"><span class="section-number-2">1</span> Decoding errors</h2>
|
||||
<div id="outline-container-orgaa73300" class="outline-2">
|
||||
<h2 id="orgaa73300"><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-org0df8d71" class="outline-2">
|
||||
<h2 id="org0df8d71"><span class="section-number-2">2</span> Data structure in context</h2>
|
||||
<div id="outline-container-orgcd803d5" class="outline-2">
|
||||
<h2 id="orgcd803d5"><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-org3f85650" class="outline-2">
|
||||
<h2 id="org3f85650"><span class="section-number-2">3</span> Updating errors in the context</h2>
|
||||
<div id="outline-container-org092418c" class="outline-2">
|
||||
<h2 id="org092418c"><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-orga4bc022" class="outline-2">
|
||||
<h2 id="orga4bc022"><span class="section-number-2">4</span> Get the error</h2>
|
||||
<div id="outline-container-org1545ae6" class="outline-2">
|
||||
<h2 id="org1545ae6"><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-org7136daa" class="outline-2">
|
||||
<h2 id="org7136daa"><span class="section-number-2">5</span> Failing</h2>
|
||||
<div id="outline-container-org88c5351" class="outline-2">
|
||||
<h2 id="org88c5351"><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: 2021-11-17 Wed 13:08</p>
|
||||
<p class="date">Created: 2021-11-17 Wed 13:13</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-11-17 Wed 13:08 -->
|
||||
<!-- 2021-11-17 Wed 13:14 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Jastrow Factor</title>
|
||||
@ -333,100 +333,100 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#orgdd8a682">1. Context</a>
|
||||
<li><a href="#orgad9268e">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#org9620d1c">1.1. Data structure</a></li>
|
||||
<li><a href="#org7c3618d">1.2. Access functions</a></li>
|
||||
<li><a href="#org8e3b54f">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org2e94ac5">1.4. Test</a></li>
|
||||
<li><a href="#org23c84e3">1.1. Data structure</a></li>
|
||||
<li><a href="#org69715fc">1.2. Access functions</a></li>
|
||||
<li><a href="#orgadc7d12">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org1a34787">1.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org3330d1b">2. Computation</a>
|
||||
<li><a href="#org430d73f">2. Computation</a>
|
||||
<ul>
|
||||
<li><a href="#org73ba2c6">2.1. Asymptotic component for \(f_{ee}\)</a>
|
||||
<li><a href="#orgd803415">2.1. Asymptotic component for \(f_{ee}\)</a>
|
||||
<ul>
|
||||
<li><a href="#orgd6adaee">2.1.1. Get</a></li>
|
||||
<li><a href="#org8900e72">2.1.2. Compute</a></li>
|
||||
<li><a href="#org10b4834">2.1.3. Test</a></li>
|
||||
<li><a href="#orgd04aeca">2.1.1. Get</a></li>
|
||||
<li><a href="#org0cb588a">2.1.2. Compute</a></li>
|
||||
<li><a href="#org7bbe827">2.1.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org4afde62">2.2. Electron-electron component \(f_{ee}\)</a>
|
||||
<li><a href="#org3d2dcd1">2.2. Electron-electron component \(f_{ee}\)</a>
|
||||
<ul>
|
||||
<li><a href="#orgc8565cb">2.2.1. Get</a></li>
|
||||
<li><a href="#org4cc5820">2.2.2. Compute</a></li>
|
||||
<li><a href="#org0feff3d">2.2.3. Test</a></li>
|
||||
<li><a href="#org3b620eb">2.2.1. Get</a></li>
|
||||
<li><a href="#orgf8d9125">2.2.2. Compute</a></li>
|
||||
<li><a href="#org12d6d8e">2.2.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org703e971">2.3. Electron-electron component derivative \(f'_{ee}\)</a>
|
||||
<li><a href="#orga0e4a5d">2.3. Electron-electron component derivative \(f'_{ee}\)</a>
|
||||
<ul>
|
||||
<li><a href="#orgaf58562">2.3.1. Get</a></li>
|
||||
<li><a href="#org48736df">2.3.2. Compute</a></li>
|
||||
<li><a href="#orgb0f3af1">2.3.3. Test</a></li>
|
||||
<li><a href="#org1d41914">2.3.1. Get</a></li>
|
||||
<li><a href="#orgc8b73f9">2.3.2. Compute</a></li>
|
||||
<li><a href="#org8f9befb">2.3.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgfe0a997">2.4. Electron-nucleus component \(f_{en}\)</a>
|
||||
<li><a href="#org4fc6742">2.4. Electron-nucleus component \(f_{en}\)</a>
|
||||
<ul>
|
||||
<li><a href="#org52e3c37">2.4.1. Get</a></li>
|
||||
<li><a href="#org03244be">2.4.2. Compute</a></li>
|
||||
<li><a href="#orgaab0e28">2.4.3. Test</a></li>
|
||||
<li><a href="#org469cb82">2.4.1. Get</a></li>
|
||||
<li><a href="#org0c0b5cb">2.4.2. Compute</a></li>
|
||||
<li><a href="#orgba7ec56">2.4.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgfbddc63">2.5. Electron-nucleus component derivative \(f'_{en}\)</a>
|
||||
<li><a href="#org682c880">2.5. Electron-nucleus component derivative \(f'_{en}\)</a>
|
||||
<ul>
|
||||
<li><a href="#orgab553ec">2.5.1. Get</a></li>
|
||||
<li><a href="#orgf762919">2.5.2. Compute</a></li>
|
||||
<li><a href="#org17b7eba">2.5.3. Test</a></li>
|
||||
<li><a href="#org6166518">2.5.1. Get</a></li>
|
||||
<li><a href="#org4ada080">2.5.2. Compute</a></li>
|
||||
<li><a href="#org336fb33">2.5.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org50eafd7">2.6. Electron-electron rescaled distances for each order</a>
|
||||
<li><a href="#orgd7924b5">2.6. Electron-electron rescaled distances for each order</a>
|
||||
<ul>
|
||||
<li><a href="#org6a69c7f">2.6.1. Get</a></li>
|
||||
<li><a href="#org1cde4eb">2.6.2. Compute</a></li>
|
||||
<li><a href="#org7940061">2.6.3. Test</a></li>
|
||||
<li><a href="#orgc02f5b4">2.6.1. Get</a></li>
|
||||
<li><a href="#org3bdbfa7">2.6.2. Compute</a></li>
|
||||
<li><a href="#org31ccdb9">2.6.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org071e7c3">2.7. Electron-electron rescaled distances for each order and derivatives</a>
|
||||
<li><a href="#org808b484">2.7. Electron-electron rescaled distances for each order and derivatives</a>
|
||||
<ul>
|
||||
<li><a href="#org592b97b">2.7.1. Get</a></li>
|
||||
<li><a href="#org0142795">2.7.2. Compute</a></li>
|
||||
<li><a href="#org7e61fa4">2.7.3. Test</a></li>
|
||||
<li><a href="#org6af968e">2.7.1. Get</a></li>
|
||||
<li><a href="#orgcb23b23">2.7.2. Compute</a></li>
|
||||
<li><a href="#orgba6b19c">2.7.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org8867089">2.8. Electron-nucleus rescaled distances for each order</a>
|
||||
<li><a href="#org0224329">2.8. Electron-nucleus rescaled distances for each order</a>
|
||||
<ul>
|
||||
<li><a href="#org64ceb9d">2.8.1. Get</a></li>
|
||||
<li><a href="#org8289867">2.8.2. Compute</a></li>
|
||||
<li><a href="#orgc207ebf">2.8.3. Test</a></li>
|
||||
<li><a href="#orgb3826c1">2.8.1. Get</a></li>
|
||||
<li><a href="#org69e01f3">2.8.2. Compute</a></li>
|
||||
<li><a href="#org82b400a">2.8.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgdc750f3">2.9. Electron-nucleus rescaled distances for each order and derivatives</a>
|
||||
<li><a href="#org92521a4">2.9. Electron-nucleus rescaled distances for each order and derivatives</a>
|
||||
<ul>
|
||||
<li><a href="#orga6c7b6f">2.9.1. Get</a></li>
|
||||
<li><a href="#orge74e39f">2.9.2. Compute</a></li>
|
||||
<li><a href="#org80e8fb5">2.9.3. Test</a></li>
|
||||
<li><a href="#org2d52e44">2.9.1. Get</a></li>
|
||||
<li><a href="#org79a9f70">2.9.2. Compute</a></li>
|
||||
<li><a href="#orgba99edb">2.9.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orge432a0f">2.10. Prepare for electron-electron-nucleus Jastrow \(f_{een}\)</a>
|
||||
<li><a href="#orgf7c7ea6">2.10. Prepare for electron-electron-nucleus Jastrow \(f_{een}\)</a>
|
||||
<ul>
|
||||
<li><a href="#org6469962">2.10.1. Get</a></li>
|
||||
<li><a href="#org41adf2a">2.10.2. Compute dim<sub>cord</sub><sub>vect</sub></a></li>
|
||||
<li><a href="#org7e5293e">2.10.3. Compute cord<sub>vect</sub><sub>full</sub></a></li>
|
||||
<li><a href="#org656af73">2.10.4. Compute lkpm<sub>combined</sub><sub>index</sub></a></li>
|
||||
<li><a href="#org4c8d81c">2.10.5. Test</a></li>
|
||||
<li><a href="#org3f0e65c">2.10.1. Get</a></li>
|
||||
<li><a href="#org4d1c426">2.10.2. Compute dim<sub>cord</sub><sub>vect</sub></a></li>
|
||||
<li><a href="#org2dfed8e">2.10.3. Compute cord<sub>vect</sub><sub>full</sub></a></li>
|
||||
<li><a href="#orgfd12448">2.10.4. Compute lkpm<sub>combined</sub><sub>index</sub></a></li>
|
||||
<li><a href="#orgc291a0b">2.10.5. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org099e698">2.11. Electron-electron-nucleus Jastrow \(f_{een}\)</a>
|
||||
<li><a href="#org2058c22">2.11. Electron-electron-nucleus Jastrow \(f_{een}\)</a>
|
||||
<ul>
|
||||
<li><a href="#orgd7082c5">2.11.1. Get</a></li>
|
||||
<li><a href="#org53c85b8">2.11.2. Compute</a></li>
|
||||
<li><a href="#org6f3a9de">2.11.3. Test</a></li>
|
||||
<li><a href="#org5b7787e">2.11.1. Get</a></li>
|
||||
<li><a href="#org536fe80">2.11.2. Compute</a></li>
|
||||
<li><a href="#org4467305">2.11.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org2d3d775">2.12. Electron-electron-nucleus Jastrow \(f_{een}\) derivative</a>
|
||||
<li><a href="#orga900e21">2.12. Electron-electron-nucleus Jastrow \(f_{een}\) derivative</a>
|
||||
<ul>
|
||||
<li><a href="#orgf3acc5f">2.12.1. Get</a></li>
|
||||
<li><a href="#orge85ed82">2.12.2. Compute</a></li>
|
||||
<li><a href="#orga042d1e">2.12.3. Test</a></li>
|
||||
<li><a href="#org1ee6b9b">2.12.1. Get</a></li>
|
||||
<li><a href="#org653d8a8">2.12.2. Compute</a></li>
|
||||
<li><a href="#orga486dd9">2.12.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@ -435,14 +435,14 @@ for the JavaScript code in this tag.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgdd8a682" class="outline-2">
|
||||
<h2 id="orgdd8a682"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-orgad9268e" class="outline-2">
|
||||
<h2 id="orgad9268e"><span class="section-number-2">1</span> Context</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
The following data stored in the context:
|
||||
</p>
|
||||
|
||||
<table id="org18f5841" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org1b3a2e9" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -734,7 +734,7 @@ For H2O we have the following data:
|
||||
</p>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-python" id="orgf2eaea2"><span style="color: #a020f0;">import</span> numpy <span style="color: #a020f0;">as</span> np
|
||||
<pre class="src src-python" id="orge565940"><span style="color: #a020f0;">import</span> numpy <span style="color: #a020f0;">as</span> np
|
||||
|
||||
<span style="color: #a0522d;">elec_num</span> = 10
|
||||
<span style="color: #a0522d;">nucl_num</span> = 2
|
||||
@ -884,8 +884,8 @@ For H2O we have the following data:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9620d1c" class="outline-3">
|
||||
<h3 id="org9620d1c"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-org23c84e3" class="outline-3">
|
||||
<h3 id="org23c84e3"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #a020f0;">typedef</span> <span style="color: #a020f0;">struct</span> <span style="color: #228b22;">qmckl_jastrow_struct</span>{
|
||||
@ -972,8 +972,8 @@ this mechanism.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7c3618d" class="outline-3">
|
||||
<h3 id="org7c3618d"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div id="outline-container-org69715fc" class="outline-3">
|
||||
<h3 id="org69715fc"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div class="outline-text-3" id="text-1-2">
|
||||
<p>
|
||||
Along with these core functions, calculation of the jastrow factor
|
||||
@ -993,8 +993,8 @@ function returns <code>true</code>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8e3b54f" class="outline-3">
|
||||
<h3 id="org8e3b54f"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-orgadc7d12" class="outline-3">
|
||||
<h3 id="orgadc7d12"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div class="outline-text-3" id="text-1-3">
|
||||
<p>
|
||||
To prepare for the Jastrow and its derivative, all the following functions need to be
|
||||
@ -1020,8 +1020,8 @@ are precontracted using BLAS LEVEL 3 operations for an optimal FLOP count.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2e94ac5" class="outline-3">
|
||||
<h3 id="org2e94ac5"><span class="section-number-3">1.4</span> Test</h3>
|
||||
<div id="outline-container-org1a34787" class="outline-3">
|
||||
<h3 id="org1a34787"><span class="section-number-3">1.4</span> Test</h3>
|
||||
<div class="outline-text-3" id="text-1-4">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">/* <span style="color: #b22222;">Reference input data </span>*/
|
||||
@ -1196,8 +1196,8 @@ rc = qmckl_get_nucleus_charge(context, nucl_charge2);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3330d1b" class="outline-2">
|
||||
<h2 id="org3330d1b"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div id="outline-container-org430d73f" class="outline-2">
|
||||
<h2 id="org430d73f"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
<p>
|
||||
The computed data is stored in the context so that it can be reused
|
||||
@ -1210,8 +1210,8 @@ current date is stored.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org73ba2c6" class="outline-3">
|
||||
<h3 id="org73ba2c6"><span class="section-number-3">2.1</span> Asymptotic component for \(f_{ee}\)</h3>
|
||||
<div id="outline-container-orgd803415" class="outline-3">
|
||||
<h3 id="orgd803415"><span class="section-number-3">2.1</span> Asymptotic component for \(f_{ee}\)</h3>
|
||||
<div class="outline-text-3" id="text-2-1">
|
||||
<p>
|
||||
Calculate the asymptotic component <code>asymp_jasb</code> to be substracted from the final
|
||||
@ -1226,8 +1226,8 @@ via the <code>bord_vector</code> and the electron-electron rescale factor <code>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd6adaee" class="outline-4">
|
||||
<h4 id="orgd6adaee"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div id="outline-container-orgd04aeca" class="outline-4">
|
||||
<h4 id="orgd04aeca"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-1-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_jastrow_asymp_jasb</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">asymp_jasb</span>);
|
||||
@ -1236,10 +1236,10 @@ via the <code>bord_vector</code> and the electron-electron rescale factor <code>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8900e72" class="outline-4">
|
||||
<h4 id="org8900e72"><span class="section-number-4">2.1.2</span> Compute</h4>
|
||||
<div id="outline-container-org0cb588a" class="outline-4">
|
||||
<h4 id="org0cb588a"><span class="section-number-4">2.1.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-1-2">
|
||||
<table id="org336aae4" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org90c825f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1344,8 +1344,8 @@ via the <code>bord_vector</code> and the electron-electron rescale factor <code>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org10b4834" class="outline-4">
|
||||
<h4 id="org10b4834"><span class="section-number-4">2.1.3</span> Test</h4>
|
||||
<div id="outline-container-org7bbe827" class="outline-4">
|
||||
<h4 id="org7bbe827"><span class="section-number-4">2.1.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #0000ff;">assert</span>(<span style="color: #228b22;">qmckl_electron_provided</span>(<span style="color: #a0522d;">context</span>));
|
||||
@ -1397,8 +1397,8 @@ rc = qmckl_get_jastrow_asymp_jasb(context, asymp_jasb);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4afde62" class="outline-3">
|
||||
<h3 id="org4afde62"><span class="section-number-3">2.2</span> Electron-electron component \(f_{ee}\)</h3>
|
||||
<div id="outline-container-org3d2dcd1" class="outline-3">
|
||||
<h3 id="org3d2dcd1"><span class="section-number-3">2.2</span> Electron-electron component \(f_{ee}\)</h3>
|
||||
<div class="outline-text-3" id="text-2-2">
|
||||
<p>
|
||||
Calculate the electron-electron jastrow component <code>factor_ee</code> using the <code>asymp_jasb</code>
|
||||
@ -1413,8 +1413,8 @@ f_{ee} = \sum_{i,j<i} \left\{ \frac{ \eta B_0 C_{ij}}{1 - B_1 C_{ij}} - J_{asym
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgc8565cb" class="outline-4">
|
||||
<h4 id="orgc8565cb"><span class="section-number-4">2.2.1</span> Get</h4>
|
||||
<div id="outline-container-org3b620eb" class="outline-4">
|
||||
<h4 id="org3b620eb"><span class="section-number-4">2.2.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-2-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_jastrow_factor_ee</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">factor_ee</span>);
|
||||
@ -1423,10 +1423,10 @@ f_{ee} = \sum_{i,j<i} \left\{ \frac{ \eta B_0 C_{ij}}{1 - B_1 C_{ij}} - J_{asym
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4cc5820" class="outline-4">
|
||||
<h4 id="org4cc5820"><span class="section-number-4">2.2.2</span> Compute</h4>
|
||||
<div id="outline-container-orgf8d9125" class="outline-4">
|
||||
<h4 id="orgf8d9125"><span class="section-number-4">2.2.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-2-2">
|
||||
<table id="org7b3d876" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orga896a78" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1593,8 +1593,8 @@ f_{ee} = \sum_{i,j<i} \left\{ \frac{ \eta B_0 C_{ij}}{1 - B_1 C_{ij}} - J_{asym
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org0feff3d" class="outline-4">
|
||||
<h4 id="org0feff3d"><span class="section-number-4">2.2.3</span> Test</h4>
|
||||
<div id="outline-container-org12d6d8e" class="outline-4">
|
||||
<h4 id="org12d6d8e"><span class="section-number-4">2.2.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-2-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">/* <span style="color: #b22222;">Check if Jastrow is properly initialized </span>*/
|
||||
@ -1612,8 +1612,8 @@ rc = qmckl_get_jastrow_factor_ee(context, factor_ee);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org703e971" class="outline-3">
|
||||
<h3 id="org703e971"><span class="section-number-3">2.3</span> Electron-electron component derivative \(f'_{ee}\)</h3>
|
||||
<div id="outline-container-orga0e4a5d" class="outline-3">
|
||||
<h3 id="orga0e4a5d"><span class="section-number-3">2.3</span> Electron-electron component derivative \(f'_{ee}\)</h3>
|
||||
<div class="outline-text-3" id="text-2-3">
|
||||
<p>
|
||||
Calculate the derivative of the <code>factor_ee</code> using the <code>ee_distance_rescaled</code> and
|
||||
@ -1628,8 +1628,8 @@ TODO: Add equation
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgaf58562" class="outline-4">
|
||||
<h4 id="orgaf58562"><span class="section-number-4">2.3.1</span> Get</h4>
|
||||
<div id="outline-container-org1d41914" class="outline-4">
|
||||
<h4 id="org1d41914"><span class="section-number-4">2.3.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-3-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_jastrow_factor_ee_deriv_e</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">factor_ee_deriv_e</span>);
|
||||
@ -1638,10 +1638,10 @@ TODO: Add equation
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org48736df" class="outline-4">
|
||||
<h4 id="org48736df"><span class="section-number-4">2.3.2</span> Compute</h4>
|
||||
<div id="outline-container-orgc8b73f9" class="outline-4">
|
||||
<h4 id="orgc8b73f9"><span class="section-number-4">2.3.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-3-2">
|
||||
<table id="org2e4abd7" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgaa4af21" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1848,8 +1848,8 @@ TODO: Add equation
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgb0f3af1" class="outline-4">
|
||||
<h4 id="orgb0f3af1"><span class="section-number-4">2.3.3</span> Test</h4>
|
||||
<div id="outline-container-org8f9befb" class="outline-4">
|
||||
<h4 id="org8f9befb"><span class="section-number-4">2.3.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-3-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">/* <span style="color: #b22222;">Check if Jastrow is properly initialized </span>*/
|
||||
@ -1871,8 +1871,8 @@ rc = qmckl_get_jastrow_factor_ee_deriv_e(context, &(factor_ee_deriv_e[0][0][
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgfe0a997" class="outline-3">
|
||||
<h3 id="orgfe0a997"><span class="section-number-3">2.4</span> Electron-nucleus component \(f_{en}\)</h3>
|
||||
<div id="outline-container-org4fc6742" class="outline-3">
|
||||
<h3 id="org4fc6742"><span class="section-number-3">2.4</span> Electron-nucleus component \(f_{en}\)</h3>
|
||||
<div class="outline-text-3" id="text-2-4">
|
||||
<p>
|
||||
Calculate the electron-electron jastrow component <code>factor_en</code> using the <code>aord_vector</code>
|
||||
@ -1887,8 +1887,8 @@ f_{en} = \sum_{i,j<i} \left\{ \frac{ A_0 C_{ij}}{1 - A_1 C_{ij}} + \sum^{nord}_{
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org52e3c37" class="outline-4">
|
||||
<h4 id="org52e3c37"><span class="section-number-4">2.4.1</span> Get</h4>
|
||||
<div id="outline-container-org469cb82" class="outline-4">
|
||||
<h4 id="org469cb82"><span class="section-number-4">2.4.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-4-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_jastrow_factor_en</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">factor_en</span>);
|
||||
@ -1897,10 +1897,10 @@ f_{en} = \sum_{i,j<i} \left\{ \frac{ A_0 C_{ij}}{1 - A_1 C_{ij}} + \sum^{nord}_{
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org03244be" class="outline-4">
|
||||
<h4 id="org03244be"><span class="section-number-4">2.4.2</span> Compute</h4>
|
||||
<div id="outline-container-org0c0b5cb" class="outline-4">
|
||||
<h4 id="org0c0b5cb"><span class="section-number-4">2.4.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-4-2">
|
||||
<table id="orgf52f782" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org00d17ca" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2074,8 +2074,8 @@ f_{en} = \sum_{i,j<i} \left\{ \frac{ A_0 C_{ij}}{1 - A_1 C_{ij}} + \sum^{nord}_{
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgaab0e28" class="outline-4">
|
||||
<h4 id="orgaab0e28"><span class="section-number-4">2.4.3</span> Test</h4>
|
||||
<div id="outline-container-orgba7ec56" class="outline-4">
|
||||
<h4 id="orgba7ec56"><span class="section-number-4">2.4.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-4-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">/* <span style="color: #b22222;">Check if Jastrow is properly initialized </span>*/
|
||||
@ -2093,8 +2093,8 @@ rc = qmckl_get_jastrow_factor_en(context, factor_en);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgfbddc63" class="outline-3">
|
||||
<h3 id="orgfbddc63"><span class="section-number-3">2.5</span> Electron-nucleus component derivative \(f'_{en}\)</h3>
|
||||
<div id="outline-container-org682c880" class="outline-3">
|
||||
<h3 id="org682c880"><span class="section-number-3">2.5</span> Electron-nucleus component derivative \(f'_{en}\)</h3>
|
||||
<div class="outline-text-3" id="text-2-5">
|
||||
<p>
|
||||
Calculate the electron-electron jastrow component <code>factor_en_deriv_e</code> derivative
|
||||
@ -2107,8 +2107,8 @@ TODO: write equations.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgab553ec" class="outline-4">
|
||||
<h4 id="orgab553ec"><span class="section-number-4">2.5.1</span> Get</h4>
|
||||
<div id="outline-container-org6166518" class="outline-4">
|
||||
<h4 id="org6166518"><span class="section-number-4">2.5.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-5-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_jastrow_factor_en_deriv_e</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">factor_en_deriv_e</span>);
|
||||
@ -2117,10 +2117,10 @@ TODO: write equations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf762919" class="outline-4">
|
||||
<h4 id="orgf762919"><span class="section-number-4">2.5.2</span> Compute</h4>
|
||||
<div id="outline-container-org4ada080" class="outline-4">
|
||||
<h4 id="org4ada080"><span class="section-number-4">2.5.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-5-2">
|
||||
<table id="org88484e1" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org52a1735" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2333,8 +2333,8 @@ TODO: write equations.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org17b7eba" class="outline-4">
|
||||
<h4 id="org17b7eba"><span class="section-number-4">2.5.3</span> Test</h4>
|
||||
<div id="outline-container-org336fb33" class="outline-4">
|
||||
<h4 id="org336fb33"><span class="section-number-4">2.5.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-5-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">/* <span style="color: #b22222;">Check if Jastrow is properly initialized </span>*/
|
||||
@ -2356,8 +2356,8 @@ rc = qmckl_get_jastrow_factor_en_deriv_e(context, &(factor_en_deriv_e[0][0][
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org50eafd7" class="outline-3">
|
||||
<h3 id="org50eafd7"><span class="section-number-3">2.6</span> Electron-electron rescaled distances for each order</h3>
|
||||
<div id="outline-container-orgd7924b5" class="outline-3">
|
||||
<h3 id="orgd7924b5"><span class="section-number-3">2.6</span> Electron-electron rescaled distances for each order</h3>
|
||||
<div class="outline-text-3" id="text-2-6">
|
||||
<p>
|
||||
<code>een_rescaled_e</code> stores the table of the rescaled distances between all
|
||||
@ -2375,8 +2375,8 @@ where \(C_{ij}\) is the matrix of electron-electron distances.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6a69c7f" class="outline-4">
|
||||
<h4 id="org6a69c7f"><span class="section-number-4">2.6.1</span> Get</h4>
|
||||
<div id="outline-container-orgc02f5b4" class="outline-4">
|
||||
<h4 id="orgc02f5b4"><span class="section-number-4">2.6.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-6-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_jastrow_een_rescaled_e</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">distance_rescaled</span>);
|
||||
@ -2385,10 +2385,10 @@ where \(C_{ij}\) is the matrix of electron-electron distances.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1cde4eb" class="outline-4">
|
||||
<h4 id="org1cde4eb"><span class="section-number-4">2.6.2</span> Compute</h4>
|
||||
<div id="outline-container-org3bdbfa7" class="outline-4">
|
||||
<h4 id="org3bdbfa7"><span class="section-number-4">2.6.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-6-2">
|
||||
<table id="org3a681a2" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org5cd16ac" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2554,8 +2554,8 @@ where \(C_{ij}\) is the matrix of electron-electron distances.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7940061" class="outline-4">
|
||||
<h4 id="org7940061"><span class="section-number-4">2.6.3</span> Test</h4>
|
||||
<div id="outline-container-org31ccdb9" class="outline-4">
|
||||
<h4 id="org31ccdb9"><span class="section-number-4">2.6.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-6-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #0000ff;">assert</span>(<span style="color: #228b22;">qmckl_electron_provided</span>(<span style="color: #a0522d;">context</span>));
|
||||
@ -2578,8 +2578,8 @@ rc = qmckl_get_jastrow_een_rescaled_e(context, &(een_rescaled_e[0][0][0][0])
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org071e7c3" class="outline-3">
|
||||
<h3 id="org071e7c3"><span class="section-number-3">2.7</span> Electron-electron rescaled distances for each order and derivatives</h3>
|
||||
<div id="outline-container-org808b484" class="outline-3">
|
||||
<h3 id="org808b484"><span class="section-number-3">2.7</span> Electron-electron rescaled distances for each order and derivatives</h3>
|
||||
<div class="outline-text-3" id="text-2-7">
|
||||
<p>
|
||||
<code>een_rescaled_e_deriv_e</code> stores the table of the derivatives of the
|
||||
@ -2594,8 +2594,8 @@ TODO: write formulae
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org592b97b" class="outline-4">
|
||||
<h4 id="org592b97b"><span class="section-number-4">2.7.1</span> Get</h4>
|
||||
<div id="outline-container-org6af968e" class="outline-4">
|
||||
<h4 id="org6af968e"><span class="section-number-4">2.7.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-7-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_jastrow_een_rescaled_e_deriv_e</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">distance_rescaled</span>);
|
||||
@ -2604,10 +2604,10 @@ TODO: write formulae
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0142795" class="outline-4">
|
||||
<h4 id="org0142795"><span class="section-number-4">2.7.2</span> Compute</h4>
|
||||
<div id="outline-container-orgcb23b23" class="outline-4">
|
||||
<h4 id="orgcb23b23"><span class="section-number-4">2.7.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-7-2">
|
||||
<table id="org3a8fea6" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orge04f47a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2786,8 +2786,8 @@ TODO: write formulae
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org7e61fa4" class="outline-4">
|
||||
<h4 id="org7e61fa4"><span class="section-number-4">2.7.3</span> Test</h4>
|
||||
<div id="outline-container-orgba6b19c" class="outline-4">
|
||||
<h4 id="orgba6b19c"><span class="section-number-4">2.7.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-7-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">//<span style="color: #b22222;">assert(qmckl_electron_provided(context));</span>
|
||||
@ -2807,8 +2807,8 @@ rc = qmckl_get_jastrow_een_rescaled_e_deriv_e(context, &(een_rescaled_e_deri
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8867089" class="outline-3">
|
||||
<h3 id="org8867089"><span class="section-number-3">2.8</span> Electron-nucleus rescaled distances for each order</h3>
|
||||
<div id="outline-container-org0224329" class="outline-3">
|
||||
<h3 id="org0224329"><span class="section-number-3">2.8</span> Electron-nucleus rescaled distances for each order</h3>
|
||||
<div class="outline-text-3" id="text-2-8">
|
||||
<p>
|
||||
<code>een_rescaled_n</code> stores the table of the rescaled distances between
|
||||
@ -2826,8 +2826,8 @@ where \(C_{ia}\) is the matrix of electron-nucleus distances.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org64ceb9d" class="outline-4">
|
||||
<h4 id="org64ceb9d"><span class="section-number-4">2.8.1</span> Get</h4>
|
||||
<div id="outline-container-orgb3826c1" class="outline-4">
|
||||
<h4 id="orgb3826c1"><span class="section-number-4">2.8.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-8-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_jastrow_een_rescaled_n</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">distance_rescaled</span>);
|
||||
@ -2836,10 +2836,10 @@ where \(C_{ia}\) is the matrix of electron-nucleus distances.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8289867" class="outline-4">
|
||||
<h4 id="org8289867"><span class="section-number-4">2.8.2</span> Compute</h4>
|
||||
<div id="outline-container-org69e01f3" class="outline-4">
|
||||
<h4 id="org69e01f3"><span class="section-number-4">2.8.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-8-2">
|
||||
<table id="org320baca" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgaa469bc" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2995,8 +2995,8 @@ where \(C_{ia}\) is the matrix of electron-nucleus distances.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc207ebf" class="outline-4">
|
||||
<h4 id="orgc207ebf"><span class="section-number-4">2.8.3</span> Test</h4>
|
||||
<div id="outline-container-org82b400a" class="outline-4">
|
||||
<h4 id="org82b400a"><span class="section-number-4">2.8.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-8-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #0000ff;">assert</span>(<span style="color: #228b22;">qmckl_electron_provided</span>(<span style="color: #a0522d;">context</span>));
|
||||
@ -3018,8 +3018,8 @@ rc = qmckl_get_jastrow_een_rescaled_n(context, &(een_rescaled_n[0][0][0][0])
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgdc750f3" class="outline-3">
|
||||
<h3 id="orgdc750f3"><span class="section-number-3">2.9</span> Electron-nucleus rescaled distances for each order and derivatives</h3>
|
||||
<div id="outline-container-org92521a4" class="outline-3">
|
||||
<h3 id="org92521a4"><span class="section-number-3">2.9</span> Electron-nucleus rescaled distances for each order and derivatives</h3>
|
||||
<div class="outline-text-3" id="text-2-9">
|
||||
<p>
|
||||
<code>een_rescaled_n_deriv_e</code> stores the table of the rescaled distances between
|
||||
@ -3028,8 +3028,8 @@ electrons and nucleii raised to the power \(p\) defined by <code>cord_num</code>
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orga6c7b6f" class="outline-4">
|
||||
<h4 id="orga6c7b6f"><span class="section-number-4">2.9.1</span> Get</h4>
|
||||
<div id="outline-container-org2d52e44" class="outline-4">
|
||||
<h4 id="org2d52e44"><span class="section-number-4">2.9.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-9-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_jastrow_een_rescaled_n_deriv_e</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">distance_rescaled</span>);
|
||||
@ -3038,10 +3038,10 @@ electrons and nucleii raised to the power \(p\) defined by <code>cord_num</code>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge74e39f" class="outline-4">
|
||||
<h4 id="orge74e39f"><span class="section-number-4">2.9.2</span> Compute</h4>
|
||||
<div id="outline-container-org79a9f70" class="outline-4">
|
||||
<h4 id="org79a9f70"><span class="section-number-4">2.9.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-9-2">
|
||||
<table id="orgf3b2015" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org3a2f80a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -3243,8 +3243,8 @@ electrons and nucleii raised to the power \(p\) defined by <code>cord_num</code>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org80e8fb5" class="outline-4">
|
||||
<h4 id="org80e8fb5"><span class="section-number-4">2.9.3</span> Test</h4>
|
||||
<div id="outline-container-orgba99edb" class="outline-4">
|
||||
<h4 id="orgba99edb"><span class="section-number-4">2.9.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-9-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #0000ff;">assert</span>(<span style="color: #228b22;">qmckl_electron_provided</span>(<span style="color: #a0522d;">context</span>));
|
||||
@ -3266,8 +3266,8 @@ rc = qmckl_get_jastrow_een_rescaled_n_deriv_e(context, &(een_rescaled_n_deri
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge432a0f" class="outline-3">
|
||||
<h3 id="orge432a0f"><span class="section-number-3">2.10</span> Prepare for electron-electron-nucleus Jastrow \(f_{een}\)</h3>
|
||||
<div id="outline-container-orgf7c7ea6" class="outline-3">
|
||||
<h3 id="orgf7c7ea6"><span class="section-number-3">2.10</span> Prepare for electron-electron-nucleus Jastrow \(f_{een}\)</h3>
|
||||
<div class="outline-text-3" id="text-2-10">
|
||||
<p>
|
||||
Prepare <code>cord_vect_full</code> and <code>lkpm_combined_index</code> tables required for the
|
||||
@ -3276,8 +3276,8 @@ calculation of the three-body jastrow <code>factor_een</code> and its derivative
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6469962" class="outline-4">
|
||||
<h4 id="org6469962"><span class="section-number-4">2.10.1</span> Get</h4>
|
||||
<div id="outline-container-org3f0e65c" class="outline-4">
|
||||
<h4 id="org3f0e65c"><span class="section-number-4">2.10.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-10-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_jastrow_dim_cord_vect</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">int64_t</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">dim_cord_vect</span>);
|
||||
@ -3288,10 +3288,10 @@ calculation of the three-body jastrow <code>factor_een</code> and its derivative
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org41adf2a" class="outline-4">
|
||||
<h4 id="org41adf2a"><span class="section-number-4">2.10.2</span> Compute dim<sub>cord</sub><sub>vect</sub></h4>
|
||||
<div id="outline-container-org4d1c426" class="outline-4">
|
||||
<h4 id="org4d1c426"><span class="section-number-4">2.10.2</span> Compute dim<sub>cord</sub><sub>vect</sub></h4>
|
||||
<div class="outline-text-4" id="text-2-10-2">
|
||||
<table id="org7e04c3f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgd321c91" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -3381,10 +3381,10 @@ calculation of the three-body jastrow <code>factor_een</code> and its derivative
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org7e5293e" class="outline-4">
|
||||
<h4 id="org7e5293e"><span class="section-number-4">2.10.3</span> Compute cord<sub>vect</sub><sub>full</sub></h4>
|
||||
<div id="outline-container-org2dfed8e" class="outline-4">
|
||||
<h4 id="org2dfed8e"><span class="section-number-4">2.10.3</span> Compute cord<sub>vect</sub><sub>full</sub></h4>
|
||||
<div class="outline-text-4" id="text-2-10-3">
|
||||
<table id="org0aa808c" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org1d62ad8" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -3510,10 +3510,10 @@ calculation of the three-body jastrow <code>factor_een</code> and its derivative
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org656af73" class="outline-4">
|
||||
<h4 id="org656af73"><span class="section-number-4">2.10.4</span> Compute lkpm<sub>combined</sub><sub>index</sub></h4>
|
||||
<div id="outline-container-orgfd12448" class="outline-4">
|
||||
<h4 id="orgfd12448"><span class="section-number-4">2.10.4</span> Compute lkpm<sub>combined</sub><sub>index</sub></h4>
|
||||
<div class="outline-text-4" id="text-2-10-4">
|
||||
<table id="org69e74b0" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org682f83e" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -3623,8 +3623,8 @@ calculation of the three-body jastrow <code>factor_een</code> and its derivative
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org4c8d81c" class="outline-4">
|
||||
<h4 id="org4c8d81c"><span class="section-number-4">2.10.5</span> Test</h4>
|
||||
<div id="outline-container-orgc291a0b" class="outline-4">
|
||||
<h4 id="orgc291a0b"><span class="section-number-4">2.10.5</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-10-5">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">//<span style="color: #b22222;">assert(qmckl_electron_provided(context));</span>
|
||||
@ -3636,8 +3636,8 @@ calculation of the three-body jastrow <code>factor_een</code> and its derivative
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org099e698" class="outline-3">
|
||||
<h3 id="org099e698"><span class="section-number-3">2.11</span> Electron-electron-nucleus Jastrow \(f_{een}\)</h3>
|
||||
<div id="outline-container-org2058c22" class="outline-3">
|
||||
<h3 id="org2058c22"><span class="section-number-3">2.11</span> Electron-electron-nucleus Jastrow \(f_{een}\)</h3>
|
||||
<div class="outline-text-3" id="text-2-11">
|
||||
<p>
|
||||
Calculate the electron-electron-nuclear three-body jastrow component <code>factor_een</code>
|
||||
@ -3649,8 +3649,8 @@ TODO: write equations.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd7082c5" class="outline-4">
|
||||
<h4 id="orgd7082c5"><span class="section-number-4">2.11.1</span> Get</h4>
|
||||
<div id="outline-container-org5b7787e" class="outline-4">
|
||||
<h4 id="org5b7787e"><span class="section-number-4">2.11.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-11-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_jastrow_factor_een</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">factor_een</span>);
|
||||
@ -3659,10 +3659,10 @@ TODO: write equations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org53c85b8" class="outline-4">
|
||||
<h4 id="org53c85b8"><span class="section-number-4">2.11.2</span> Compute</h4>
|
||||
<div id="outline-container-org536fe80" class="outline-4">
|
||||
<h4 id="org536fe80"><span class="section-number-4">2.11.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-11-2">
|
||||
<table id="org2a2413c" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgfaa63f1" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -3850,8 +3850,8 @@ TODO: write equations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6f3a9de" class="outline-4">
|
||||
<h4 id="org6f3a9de"><span class="section-number-4">2.11.3</span> Test</h4>
|
||||
<div id="outline-container-org4467305" class="outline-4">
|
||||
<h4 id="org4467305"><span class="section-number-4">2.11.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-11-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">/* <span style="color: #b22222;">Check if Jastrow is properly initialized </span>*/
|
||||
@ -3867,8 +3867,8 @@ rc = qmckl_get_jastrow_factor_een(context, &(factor_een[0]));
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2d3d775" class="outline-3">
|
||||
<h3 id="org2d3d775"><span class="section-number-3">2.12</span> Electron-electron-nucleus Jastrow \(f_{een}\) derivative</h3>
|
||||
<div id="outline-container-orga900e21" class="outline-3">
|
||||
<h3 id="orga900e21"><span class="section-number-3">2.12</span> Electron-electron-nucleus Jastrow \(f_{een}\) derivative</h3>
|
||||
<div class="outline-text-3" id="text-2-12">
|
||||
<p>
|
||||
Calculate the electron-electron-nuclear three-body jastrow component <code>factor_een_deriv_e</code>
|
||||
@ -3880,8 +3880,8 @@ TODO: write equations.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf3acc5f" class="outline-4">
|
||||
<h4 id="orgf3acc5f"><span class="section-number-4">2.12.1</span> Get</h4>
|
||||
<div id="outline-container-org1ee6b9b" class="outline-4">
|
||||
<h4 id="org1ee6b9b"><span class="section-number-4">2.12.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-12-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_jastrow_factor_een_deriv_e</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">factor_een_deriv_e</span>);
|
||||
@ -3890,10 +3890,10 @@ TODO: write equations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge85ed82" class="outline-4">
|
||||
<h4 id="orge85ed82"><span class="section-number-4">2.12.2</span> Compute</h4>
|
||||
<div id="outline-container-org653d8a8" class="outline-4">
|
||||
<h4 id="org653d8a8"><span class="section-number-4">2.12.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-12-2">
|
||||
<table id="org9e5e28b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgc46e822" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -4118,8 +4118,8 @@ TODO: write equations.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orga042d1e" class="outline-4">
|
||||
<h4 id="orga042d1e"><span class="section-number-4">2.12.3</span> Test</h4>
|
||||
<div id="outline-container-orga486dd9" class="outline-4">
|
||||
<h4 id="orga486dd9"><span class="section-number-4">2.12.3</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-2-12-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c">/* <span style="color: #b22222;">Check if Jastrow is properly initialized </span>*/
|
||||
@ -4138,7 +4138,7 @@ rc = qmckl_get_jastrow_factor_een_deriv_e(context, &(factor_een_deriv_e[0][0
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-11-17 Wed 13:08</p>
|
||||
<p class="date">Created: 2021-11-17 Wed 13:14</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-11-17 Wed 13:08 -->
|
||||
<!-- 2021-11-17 Wed 13:13 -->
|
||||
<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="#orga09c647">1. Context</a>
|
||||
<li><a href="#orgca14ee0">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#orgf2d550b">1.1. Data structure</a></li>
|
||||
<li><a href="#org3116122">1.1. Data structure</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org71a95cf">2. Computation</a>
|
||||
<li><a href="#orge39fd53">2. Computation</a>
|
||||
<ul>
|
||||
<li><a href="#orga4c0da2">2.1. Kinetic energy</a>
|
||||
<li><a href="#org4324d8c">2.1. Kinetic energy</a>
|
||||
<ul>
|
||||
<li><a href="#orga679e3c">2.1.1. Get</a></li>
|
||||
<li><a href="#org454acf9">2.1.2. Provide</a></li>
|
||||
<li><a href="#org1f1a7a0">2.1.3. Compute kinetic enregy</a></li>
|
||||
<li><a href="#org4edb27c">2.1.4. Test</a></li>
|
||||
<li><a href="#orgb052b67">2.1.1. Get</a></li>
|
||||
<li><a href="#orgfeed280">2.1.2. Provide</a></li>
|
||||
<li><a href="#org1ea1921">2.1.3. Compute kinetic enregy</a></li>
|
||||
<li><a href="#orgaae2710">2.1.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org7c71e69">2.2. Potential energy</a>
|
||||
<li><a href="#orgc6c6a9c">2.2. Potential energy</a>
|
||||
<ul>
|
||||
<li><a href="#orgd3fe267">2.2.1. Get</a></li>
|
||||
<li><a href="#org5da3868">2.2.2. Provide</a></li>
|
||||
<li><a href="#org0ff3fca">2.2.3. Compute potential enregy</a></li>
|
||||
<li><a href="#org0f5f1d8">2.2.4. Test</a></li>
|
||||
<li><a href="#org324cb93">2.2.1. Get</a></li>
|
||||
<li><a href="#orgd23d488">2.2.2. Provide</a></li>
|
||||
<li><a href="#org46b8171">2.2.3. Compute potential enregy</a></li>
|
||||
<li><a href="#org9419c7d">2.2.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org4afc780">2.3. Local energy</a>
|
||||
<li><a href="#org2db9f3f">2.3. Local energy</a>
|
||||
<ul>
|
||||
<li><a href="#org74e180d">2.3.1. Get</a></li>
|
||||
<li><a href="#org3c24059">2.3.2. Provide</a></li>
|
||||
<li><a href="#org1f6fa04">2.3.3. Compute local enregy</a></li>
|
||||
<li><a href="#org015b353">2.3.4. Test</a></li>
|
||||
<li><a href="#orgc788ffe">2.3.1. Get</a></li>
|
||||
<li><a href="#org7ccab2d">2.3.2. Provide</a></li>
|
||||
<li><a href="#org817beab">2.3.3. Compute local enregy</a></li>
|
||||
<li><a href="#orgc068cba">2.3.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgab7a816">2.4. Drift vector</a>
|
||||
<li><a href="#org832a9cb">2.4. Drift vector</a>
|
||||
<ul>
|
||||
<li><a href="#orgff2846b">2.4.1. Get</a></li>
|
||||
<li><a href="#orgcb03772">2.4.2. Provide</a></li>
|
||||
<li><a href="#org2d839d9">2.4.3. Compute drift vector</a></li>
|
||||
<li><a href="#orgafac34f">2.4.4. Test</a></li>
|
||||
<li><a href="#org1e98101">2.4.1. Get</a></li>
|
||||
<li><a href="#org15dbe80">2.4.2. Provide</a></li>
|
||||
<li><a href="#org74e6486">2.4.3. Compute drift vector</a></li>
|
||||
<li><a href="#org94d5272">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-orga09c647" class="outline-2">
|
||||
<h2 id="orga09c647"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-orgca14ee0" class="outline-2">
|
||||
<h2 id="orgca14ee0"><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-orgf2d550b" class="outline-3">
|
||||
<h3 id="orgf2d550b"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-org3116122" class="outline-3">
|
||||
<h3 id="org3116122"><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-org71a95cf" class="outline-2">
|
||||
<h2 id="org71a95cf"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div id="outline-container-orge39fd53" class="outline-2">
|
||||
<h2 id="orge39fd53"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-orga4c0da2" class="outline-3">
|
||||
<h3 id="orga4c0da2"><span class="section-number-3">2.1</span> Kinetic energy</h3>
|
||||
<div id="outline-container-org4324d8c" class="outline-3">
|
||||
<h3 id="org4324d8c"><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-orga679e3c" class="outline-4">
|
||||
<h4 id="orga679e3c"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div id="outline-container-orgb052b67" class="outline-4">
|
||||
<h4 id="orgb052b67"><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-org454acf9" class="outline-4">
|
||||
<h4 id="org454acf9"><span class="section-number-4">2.1.2</span> Provide</h4>
|
||||
<div id="outline-container-orgfeed280" class="outline-4">
|
||||
<h4 id="orgfeed280"><span class="section-number-4">2.1.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1f1a7a0" class="outline-4">
|
||||
<h4 id="org1f1a7a0"><span class="section-number-4">2.1.3</span> Compute kinetic enregy</h4>
|
||||
<div id="outline-container-org1ea1921" class="outline-4">
|
||||
<h4 id="org1ea1921"><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="orgb951054" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org2ef3e64" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -777,12 +777,12 @@ case is given as follows:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4edb27c" class="outline-4">
|
||||
<h4 id="org4edb27c"><span class="section-number-4">2.1.4</span> Test</h4>
|
||||
<div id="outline-container-orgaae2710" class="outline-4">
|
||||
<h4 id="orgaae2710"><span class="section-number-4">2.1.4</span> Test</h4>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org7c71e69" class="outline-3">
|
||||
<h3 id="org7c71e69"><span class="section-number-3">2.2</span> Potential energy</h3>
|
||||
<div id="outline-container-orgc6c6a9c" class="outline-3">
|
||||
<h3 id="orgc6c6a9c"><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
|
||||
@ -818,8 +818,8 @@ contributions.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd3fe267" class="outline-4">
|
||||
<h4 id="orgd3fe267"><span class="section-number-4">2.2.1</span> Get</h4>
|
||||
<div id="outline-container-org324cb93" class="outline-4">
|
||||
<h4 id="org324cb93"><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>);
|
||||
@ -828,14 +828,14 @@ contributions.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5da3868" class="outline-4">
|
||||
<h4 id="org5da3868"><span class="section-number-4">2.2.2</span> Provide</h4>
|
||||
<div id="outline-container-orgd23d488" class="outline-4">
|
||||
<h4 id="orgd23d488"><span class="section-number-4">2.2.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0ff3fca" class="outline-4">
|
||||
<h4 id="org0ff3fca"><span class="section-number-4">2.2.3</span> Compute potential enregy</h4>
|
||||
<div id="outline-container-org46b8171" class="outline-4">
|
||||
<h4 id="org46b8171"><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="orgedb2e2b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgee975c6" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -963,12 +963,12 @@ contributions.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0f5f1d8" class="outline-4">
|
||||
<h4 id="org0f5f1d8"><span class="section-number-4">2.2.4</span> Test</h4>
|
||||
<div id="outline-container-org9419c7d" class="outline-4">
|
||||
<h4 id="org9419c7d"><span class="section-number-4">2.2.4</span> Test</h4>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org4afc780" class="outline-3">
|
||||
<h3 id="org4afc780"><span class="section-number-3">2.3</span> Local energy</h3>
|
||||
<div id="outline-container-org2db9f3f" class="outline-3">
|
||||
<h3 id="org2db9f3f"><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.
|
||||
@ -982,8 +982,8 @@ E_L = KE + PE
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org74e180d" class="outline-4">
|
||||
<h4 id="org74e180d"><span class="section-number-4">2.3.1</span> Get</h4>
|
||||
<div id="outline-container-orgc788ffe" class="outline-4">
|
||||
<h4 id="orgc788ffe"><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>);
|
||||
@ -992,14 +992,14 @@ E_L = KE + PE
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3c24059" class="outline-4">
|
||||
<h4 id="org3c24059"><span class="section-number-4">2.3.2</span> Provide</h4>
|
||||
<div id="outline-container-org7ccab2d" class="outline-4">
|
||||
<h4 id="org7ccab2d"><span class="section-number-4">2.3.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1f6fa04" class="outline-4">
|
||||
<h4 id="org1f6fa04"><span class="section-number-4">2.3.3</span> Compute local enregy</h4>
|
||||
<div id="outline-container-org817beab" class="outline-4">
|
||||
<h4 id="org817beab"><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="org0427682" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgfa6a082" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1095,12 +1095,12 @@ E_L = KE + PE
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org015b353" class="outline-4">
|
||||
<h4 id="org015b353"><span class="section-number-4">2.3.4</span> Test</h4>
|
||||
<div id="outline-container-orgc068cba" class="outline-4">
|
||||
<h4 id="orgc068cba"><span class="section-number-4">2.3.4</span> Test</h4>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgab7a816" class="outline-3">
|
||||
<h3 id="orgab7a816"><span class="section-number-3">2.4</span> Drift vector</h3>
|
||||
<div id="outline-container-org832a9cb" class="outline-3">
|
||||
<h3 id="org832a9cb"><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
|
||||
@ -1114,8 +1114,8 @@ with the determinant of the wavefunction.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgff2846b" class="outline-4">
|
||||
<h4 id="orgff2846b"><span class="section-number-4">2.4.1</span> Get</h4>
|
||||
<div id="outline-container-org1e98101" class="outline-4">
|
||||
<h4 id="org1e98101"><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>);
|
||||
@ -1124,14 +1124,14 @@ with the determinant of the wavefunction.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgcb03772" class="outline-4">
|
||||
<h4 id="orgcb03772"><span class="section-number-4">2.4.2</span> Provide</h4>
|
||||
<div id="outline-container-org15dbe80" class="outline-4">
|
||||
<h4 id="org15dbe80"><span class="section-number-4">2.4.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2d839d9" class="outline-4">
|
||||
<h4 id="org2d839d9"><span class="section-number-4">2.4.3</span> Compute drift vector</h4>
|
||||
<div id="outline-container-org74e6486" class="outline-4">
|
||||
<h4 id="org74e6486"><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="org055ec6b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgd30c1df" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1352,15 +1352,15 @@ with the determinant of the wavefunction.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgafac34f" class="outline-4">
|
||||
<h4 id="orgafac34f"><span class="section-number-4">2.4.4</span> Test</h4>
|
||||
<div id="outline-container-org94d5272" class="outline-4">
|
||||
<h4 id="org94d5272"><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: 2021-11-17 Wed 13:08</p>
|
||||
<p class="date">Created: 2021-11-17 Wed 13:13</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-11-17 Wed 13:08 -->
|
||||
<!-- 2021-11-17 Wed 13:13 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Memory management</title>
|
||||
@ -311,15 +311,15 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#orgfd3f5ee">1. Memory data structure for the context</a></li>
|
||||
<li><a href="#orgadb1f72">2. Passing info to allocation routines</a></li>
|
||||
<li><a href="#orgb39e1de">3. Allocation/deallocation functions</a></li>
|
||||
<li><a href="#orgf10c6bb">1. Memory data structure for the context</a></li>
|
||||
<li><a href="#orgececb23">2. Passing info to allocation routines</a></li>
|
||||
<li><a href="#org4120f7c">3. Allocation/deallocation functions</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgfd3f5ee" class="outline-2">
|
||||
<h2 id="orgfd3f5ee"><span class="section-number-2">1</span> Memory data structure for the context</h2>
|
||||
<div id="outline-container-orgf10c6bb" class="outline-2">
|
||||
<h2 id="orgf10c6bb"><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-orgadb1f72" class="outline-2">
|
||||
<h2 id="orgadb1f72"><span class="section-number-2">2</span> Passing info to allocation routines</h2>
|
||||
<div id="outline-container-orgececb23" class="outline-2">
|
||||
<h2 id="orgececb23"><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-orgb39e1de" class="outline-2">
|
||||
<h2 id="orgb39e1de"><span class="section-number-2">3</span> Allocation/deallocation functions</h2>
|
||||
<div id="outline-container-org4120f7c" class="outline-2">
|
||||
<h2 id="org4120f7c"><span class="section-number-2">3</span> Allocation/deallocation functions</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
<p>
|
||||
Memory allocation inside the library should be done with
|
||||
@ -535,7 +535,7 @@ allocation and needs to be updated.
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-11-17 Wed 13:08</p>
|
||||
<p class="date">Created: 2021-11-17 Wed 13:13</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-11-17 Wed 13:08 -->
|
||||
<!-- 2021-11-17 Wed 13:13 -->
|
||||
<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="#org960c3fa">1. Context</a>
|
||||
<li><a href="#org0c14c0d">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#org0dbc08e">1.1. Data structure</a></li>
|
||||
<li><a href="#org8d35d6e">1.2. Access functions</a></li>
|
||||
<li><a href="#org81a6d9f">1.3. Initialization functions</a></li>
|
||||
<li><a href="#orgbe2ae0e">1.1. Data structure</a></li>
|
||||
<li><a href="#org25a171b">1.2. Access functions</a></li>
|
||||
<li><a href="#org228a787">1.3. Initialization functions</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org8ef0552">2. Computation</a>
|
||||
<li><a href="#orgf1dfd5b">2. Computation</a>
|
||||
<ul>
|
||||
<li><a href="#orgcc0784d">2.1. Computation of MOs</a>
|
||||
<li><a href="#org3b9f33b">2.1. Computation of MOs</a>
|
||||
<ul>
|
||||
<li><a href="#orgbdc7b35">2.1.1. Get</a></li>
|
||||
<li><a href="#org7e2d580">2.1.2. Provide</a></li>
|
||||
<li><a href="#orgbc85034">2.1.3. Compute</a></li>
|
||||
<li><a href="#orgdfb9d77">2.1.4. Test</a></li>
|
||||
<li><a href="#org7004796">2.1.1. Get</a></li>
|
||||
<li><a href="#orgb8a9b45">2.1.2. Provide</a></li>
|
||||
<li><a href="#orga48ab1c">2.1.3. Compute</a></li>
|
||||
<li><a href="#orgf24c193">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-org960c3fa" class="outline-2">
|
||||
<h2 id="org960c3fa"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-org0c14c0d" class="outline-2">
|
||||
<h2 id="org0c14c0d"><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-org0dbc08e" class="outline-3">
|
||||
<h3 id="org0dbc08e"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-orgbe2ae0e" class="outline-3">
|
||||
<h3 id="orgbe2ae0e"><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> {
|
||||
@ -447,8 +447,8 @@ this mechanism.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8d35d6e" class="outline-3">
|
||||
<h3 id="org8d35d6e"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div id="outline-container-org25a171b" class="outline-3">
|
||||
<h3 id="org25a171b"><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-org81a6d9f" class="outline-3">
|
||||
<h3 id="org81a6d9f"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-org228a787" class="outline-3">
|
||||
<h3 id="org228a787"><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-org8ef0552" class="outline-2">
|
||||
<h2 id="org8ef0552"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div id="outline-container-orgf1dfd5b" class="outline-2">
|
||||
<h2 id="orgf1dfd5b"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-orgcc0784d" class="outline-3">
|
||||
<h3 id="orgcc0784d"><span class="section-number-3">2.1</span> Computation of MOs</h3>
|
||||
<div id="outline-container-org3b9f33b" class="outline-3">
|
||||
<h3 id="org3b9f33b"><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-orgbdc7b35" class="outline-4">
|
||||
<h4 id="orgbdc7b35"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div id="outline-container-org7004796" class="outline-4">
|
||||
<h4 id="org7004796"><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-org7e2d580" class="outline-4">
|
||||
<h4 id="org7e2d580"><span class="section-number-4">2.1.2</span> Provide</h4>
|
||||
<div id="outline-container-orgb8a9b45" class="outline-4">
|
||||
<h4 id="orgb8a9b45"><span class="section-number-4">2.1.2</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgbc85034" class="outline-4">
|
||||
<h4 id="orgbc85034"><span class="section-number-4">2.1.3</span> Compute</h4>
|
||||
<div id="outline-container-orga48ab1c" class="outline-4">
|
||||
<h4 id="orga48ab1c"><span class="section-number-4">2.1.3</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-1-3">
|
||||
<table id="orga60f0ba" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgd67e1eb" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -667,15 +667,15 @@ computed to accelerate the calculations.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgdfb9d77" class="outline-4">
|
||||
<h4 id="orgdfb9d77"><span class="section-number-4">2.1.4</span> Test</h4>
|
||||
<div id="outline-container-orgf24c193" class="outline-4">
|
||||
<h4 id="orgf24c193"><span class="section-number-4">2.1.4</span> Test</h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-11-17 Wed 13:08</p>
|
||||
<p class="date">Created: 2021-11-17 Wed 13:13</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-11-17 Wed 13:08 -->
|
||||
<!-- 2021-11-17 Wed 13:13 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Nucleus</title>
|
||||
@ -333,35 +333,35 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#orgdc87fde">1. Context</a>
|
||||
<li><a href="#orga1d14ce">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#org8e19260">1.1. Data structure</a></li>
|
||||
<li><a href="#org4556122">1.2. Access functions</a></li>
|
||||
<li><a href="#org8401384">1.3. Initialization functions</a></li>
|
||||
<li><a href="#orgf54dbf1">1.4. Test</a></li>
|
||||
<li><a href="#orgedeaec9">1.1. Data structure</a></li>
|
||||
<li><a href="#org1fde93c">1.2. Access functions</a></li>
|
||||
<li><a href="#orga334bd1">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org69dc9c8">1.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org5772d8d">2. Computation</a>
|
||||
<li><a href="#org403f8f3">2. Computation</a>
|
||||
<ul>
|
||||
<li><a href="#org07fd167">2.1. Nucleus-nucleus distances</a>
|
||||
<li><a href="#orga36f682">2.1. Nucleus-nucleus distances</a>
|
||||
<ul>
|
||||
<li><a href="#orgcc98f84">2.1.1. Get</a></li>
|
||||
<li><a href="#orgcd076fd">2.1.2. Compute</a></li>
|
||||
<li><a href="#orgb57dc8c">2.1.3. Test</a></li>
|
||||
<li><a href="#orgb440a8c">2.1.1. Get</a></li>
|
||||
<li><a href="#orgc9c4d03">2.1.2. Compute</a></li>
|
||||
<li><a href="#orgf1f79e1">2.1.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org23bb245">2.2. Nucleus-nucleus rescaled distances</a>
|
||||
<li><a href="#org59c1149">2.2. Nucleus-nucleus rescaled distances</a>
|
||||
<ul>
|
||||
<li><a href="#orgf9614ad">2.2.1. Get</a></li>
|
||||
<li><a href="#org145a9f0">2.2.2. Compute</a></li>
|
||||
<li><a href="#orgb558726">2.2.3. Test</a></li>
|
||||
<li><a href="#org26a3a3a">2.2.1. Get</a></li>
|
||||
<li><a href="#orgd41e588">2.2.2. Compute</a></li>
|
||||
<li><a href="#org47292ec">2.2.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgeef654d">2.3. Nuclear repulsion energy</a>
|
||||
<li><a href="#org47750ec">2.3. Nuclear repulsion energy</a>
|
||||
<ul>
|
||||
<li><a href="#org00b79ed">2.3.1. Get</a></li>
|
||||
<li><a href="#org19f0a74">2.3.2. Compute</a></li>
|
||||
<li><a href="#org75524c1">2.3.3. Test</a></li>
|
||||
<li><a href="#org2c078a8">2.3.1. Get</a></li>
|
||||
<li><a href="#org6a3dd1e">2.3.2. Compute</a></li>
|
||||
<li><a href="#org5997a58">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-orgdc87fde" class="outline-2">
|
||||
<h2 id="orgdc87fde"><span class="section-number-2">1</span> Context</h2>
|
||||
<div id="outline-container-orga1d14ce" class="outline-2">
|
||||
<h2 id="orga1d14ce"><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-org8e19260" class="outline-3">
|
||||
<h3 id="org8e19260"><span class="section-number-3">1.1</span> Data structure</h3>
|
||||
<div id="outline-container-orgedeaec9" class="outline-3">
|
||||
<h3 id="orgedeaec9"><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-org4556122" class="outline-3">
|
||||
<h3 id="org4556122"><span class="section-number-3">1.2</span> Access functions</h3>
|
||||
<div id="outline-container-org1fde93c" class="outline-3">
|
||||
<h3 id="org1fde93c"><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-org8401384" class="outline-3">
|
||||
<h3 id="org8401384"><span class="section-number-3">1.3</span> Initialization functions</h3>
|
||||
<div id="outline-container-orga334bd1" class="outline-3">
|
||||
<h3 id="orga334bd1"><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
|
||||
@ -596,8 +596,8 @@ atoms. The coordinates should be given in atomic units.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf54dbf1" class="outline-3">
|
||||
<h3 id="orgf54dbf1"><span class="section-number-3">1.4</span> Test</h3>
|
||||
<div id="outline-container-org69dc9c8" class="outline-3">
|
||||
<h3 id="org69dc9c8"><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;
|
||||
@ -681,8 +681,8 @@ rc = qmckl_get_nucleus_charge(context, nucl_charge2);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5772d8d" class="outline-2">
|
||||
<h2 id="org5772d8d"><span class="section-number-2">2</span> Computation</h2>
|
||||
<div id="outline-container-org403f8f3" class="outline-2">
|
||||
<h2 id="org403f8f3"><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
|
||||
@ -695,12 +695,12 @@ current date is stored.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org07fd167" class="outline-3">
|
||||
<h3 id="org07fd167"><span class="section-number-3">2.1</span> Nucleus-nucleus distances</h3>
|
||||
<div id="outline-container-orga36f682" class="outline-3">
|
||||
<h3 id="orga36f682"><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-orgcc98f84" class="outline-4">
|
||||
<h4 id="orgcc98f84"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div id="outline-container-orgb440a8c" class="outline-4">
|
||||
<h4 id="orgb440a8c"><span class="section-number-4">2.1.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-1-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_nucleus_nn_distance</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">distance</span>);
|
||||
@ -709,10 +709,10 @@ current date is stored.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgcd076fd" class="outline-4">
|
||||
<h4 id="orgcd076fd"><span class="section-number-4">2.1.2</span> Compute</h4>
|
||||
<div id="outline-container-orgc9c4d03" class="outline-4">
|
||||
<h4 id="orgc9c4d03"><span class="section-number-4">2.1.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-1-2">
|
||||
<table id="orgd367be5" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgca73f1c" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -790,8 +790,8 @@ current date is stored.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb57dc8c" class="outline-4">
|
||||
<h4 id="orgb57dc8c"><span class="section-number-4">2.1.3</span> Test</h4>
|
||||
<div id="outline-container-orgf1f79e1" class="outline-4">
|
||||
<h4 id="orgf1f79e1"><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>*/
|
||||
@ -810,12 +810,12 @@ rc = qmckl_get_nucleus_nn_distance(context, distance);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org23bb245" class="outline-3">
|
||||
<h3 id="org23bb245"><span class="section-number-3">2.2</span> Nucleus-nucleus rescaled distances</h3>
|
||||
<div id="outline-container-org59c1149" class="outline-3">
|
||||
<h3 id="org59c1149"><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-orgf9614ad" class="outline-4">
|
||||
<h4 id="orgf9614ad"><span class="section-number-4">2.2.1</span> Get</h4>
|
||||
<div id="outline-container-org26a3a3a" class="outline-4">
|
||||
<h4 id="org26a3a3a"><span class="section-number-4">2.2.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-2-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_nucleus_nn_distance_rescaled</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">distance_rescaled</span>);
|
||||
@ -824,10 +824,10 @@ rc = qmckl_get_nucleus_nn_distance(context, distance);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org145a9f0" class="outline-4">
|
||||
<h4 id="org145a9f0"><span class="section-number-4">2.2.2</span> Compute</h4>
|
||||
<div id="outline-container-orgd41e588" class="outline-4">
|
||||
<h4 id="orgd41e588"><span class="section-number-4">2.2.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-2-2">
|
||||
<table id="orgaf4bf77" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org71f2a95" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -906,8 +906,8 @@ rc = qmckl_get_nucleus_nn_distance(context, distance);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb558726" class="outline-4">
|
||||
<h4 id="orgb558726"><span class="section-number-4">2.2.3</span> Test</h4>
|
||||
<div id="outline-container-org47292ec" class="outline-4">
|
||||
<h4 id="org47292ec"><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>*/
|
||||
@ -927,8 +927,8 @@ rc = qmckl_get_nucleus_nn_distance(context, distance);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgeef654d" class="outline-3">
|
||||
<h3 id="orgeef654d"><span class="section-number-3">2.3</span> Nuclear repulsion energy</h3>
|
||||
<div id="outline-container-org47750ec" class="outline-3">
|
||||
<h3 id="org47750ec"><span class="section-number-3">2.3</span> Nuclear repulsion energy</h3>
|
||||
<div class="outline-text-3" id="text-2-3">
|
||||
<p>
|
||||
\[
|
||||
@ -937,8 +937,8 @@ rc = qmckl_get_nucleus_nn_distance(context, distance);
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org00b79ed" class="outline-4">
|
||||
<h4 id="org00b79ed"><span class="section-number-4">2.3.1</span> Get</h4>
|
||||
<div id="outline-container-org2c078a8" class="outline-4">
|
||||
<h4 id="org2c078a8"><span class="section-number-4">2.3.1</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-3-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_nucleus_repulsion</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">energy</span>);
|
||||
@ -947,10 +947,10 @@ rc = qmckl_get_nucleus_nn_distance(context, distance);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org19f0a74" class="outline-4">
|
||||
<h4 id="org19f0a74"><span class="section-number-4">2.3.2</span> Compute</h4>
|
||||
<div id="outline-container-org6a3dd1e" class="outline-4">
|
||||
<h4 id="org6a3dd1e"><span class="section-number-4">2.3.2</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-3-2">
|
||||
<table id="orged36c31" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org80a576b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1040,8 +1040,8 @@ rc = qmckl_get_nucleus_nn_distance(context, distance);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org75524c1" class="outline-4">
|
||||
<h4 id="org75524c1"><span class="section-number-4">2.3.3</span> Test</h4>
|
||||
<div id="outline-container-org5997a58" class="outline-4">
|
||||
<h4 id="org5997a58"><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>*/
|
||||
@ -1061,7 +1061,7 @@ rc = qmckl_get_nucleus_repulsion(context, &rep);
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-11-17 Wed 13:08</p>
|
||||
<p class="date">Created: 2021-11-17 Wed 13:13</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-11-17 Wed 13:08 -->
|
||||
<!-- 2021-11-17 Wed 13:13 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Numerical precision</title>
|
||||
@ -333,16 +333,16 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#org2c64466">1. Control of the numerical precision</a></li>
|
||||
<li><a href="#org12f278d">2. Precision</a></li>
|
||||
<li><a href="#orga7f641c">3. Range</a></li>
|
||||
<li><a href="#org51cc3d7">4. Helper functions</a></li>
|
||||
<li><a href="#orgd97c3f2">1. Control of the numerical precision</a></li>
|
||||
<li><a href="#org8925eb2">2. Precision</a></li>
|
||||
<li><a href="#org4857106">3. Range</a></li>
|
||||
<li><a href="#org216cf6a">4. Helper functions</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2c64466" class="outline-2">
|
||||
<h2 id="org2c64466"><span class="section-number-2">1</span> Control of the numerical precision</h2>
|
||||
<div id="outline-container-orgd97c3f2" class="outline-2">
|
||||
<h2 id="orgd97c3f2"><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="orgd289120" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org0cf0528" 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-org12f278d" class="outline-2">
|
||||
<h2 id="org12f278d"><span class="section-number-2">2</span> Precision</h2>
|
||||
<div id="outline-container-org8925eb2" class="outline-2">
|
||||
<h2 id="org8925eb2"><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-orga7f641c" class="outline-2">
|
||||
<h2 id="orga7f641c"><span class="section-number-2">3</span> Range</h2>
|
||||
<div id="outline-container-org4857106" class="outline-2">
|
||||
<h2 id="org4857106"><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-org51cc3d7" class="outline-2">
|
||||
<h2 id="org51cc3d7"><span class="section-number-2">4</span> Helper functions</h2>
|
||||
<div id="outline-container-org216cf6a" class="outline-2">
|
||||
<h2 id="org216cf6a"><span class="section-number-2">4</span> Helper functions</h2>
|
||||
<div class="outline-text-2" id="text-4">
|
||||
<p>
|
||||
<code>qmckl_get_numprec_epsilon</code> returns \(\epsilon = 2^{1-n}\) where <code>n</code> is the precision.
|
||||
@ -581,7 +581,7 @@ We need to remove the sign bit from the precision.
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-11-17 Wed 13:08</p>
|
||||
<p class="date">Created: 2021-11-17 Wed 13:13</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-11-17 Wed 13:08 -->
|
||||
<!-- 2021-11-17 Wed 13:14 -->
|
||||
<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="#orgd03c80c">1. Headers</a></li>
|
||||
<li><a href="#org62c4ed9">2. Naïve Sherman-Morrison</a>
|
||||
<li><a href="#orgcefa22f">1. Headers</a></li>
|
||||
<li><a href="#org8b569c1">2. Naïve Sherman-Morrison</a>
|
||||
<ul>
|
||||
<li><a href="#org8d29a02">2.1. <code>qmckl_sherman_morrison</code></a>
|
||||
<li><a href="#org131f319">2.1. <code>qmckl_sherman_morrison</code></a>
|
||||
<ul>
|
||||
<li><a href="#orgc284265">2.1.1. Requirements</a></li>
|
||||
<li><a href="#org63f4dd8">2.1.2. C header</a></li>
|
||||
<li><a href="#orgefcf999">2.1.3. C source</a></li>
|
||||
<li><a href="#orgd8cf88e">2.1.4. Performance</a></li>
|
||||
<li><a href="#orgc520d03">2.1.1. Requirements</a></li>
|
||||
<li><a href="#org00ddd59">2.1.2. C header</a></li>
|
||||
<li><a href="#orgaabf91f">2.1.3. C source</a></li>
|
||||
<li><a href="#org171a290">2.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgf6f190b">3. Woodbury 2x2</a>
|
||||
<li><a href="#orgbe75951">3. Woodbury 2x2</a>
|
||||
<ul>
|
||||
<li><a href="#org285076f">3.1. <code>qmckl_woodbury_2</code></a>
|
||||
<li><a href="#org4b018df">3.1. <code>qmckl_woodbury_2</code></a>
|
||||
<ul>
|
||||
<li><a href="#org1b10879">3.1.1. Requirements</a></li>
|
||||
<li><a href="#orgdf9a1e6">3.1.2. C header</a></li>
|
||||
<li><a href="#orgfdf4559">3.1.3. C source</a></li>
|
||||
<li><a href="#orgfa14ee7">3.1.4. Performance</a></li>
|
||||
<li><a href="#org672621e">3.1.1. Requirements</a></li>
|
||||
<li><a href="#org1ef568d">3.1.2. C header</a></li>
|
||||
<li><a href="#org8329d3f">3.1.3. C source</a></li>
|
||||
<li><a href="#orgbe24071">3.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org6911e6d">4. Woodbury 3x3</a>
|
||||
<li><a href="#org290e18c">4. Woodbury 3x3</a>
|
||||
<ul>
|
||||
<li><a href="#orgea8c0bf">4.1. <code>qmckl_woodbury_3</code></a>
|
||||
<li><a href="#org71bf44e">4.1. <code>qmckl_woodbury_3</code></a>
|
||||
<ul>
|
||||
<li><a href="#org7b52534">4.1.1. Requirements</a></li>
|
||||
<li><a href="#org35bc1c6">4.1.2. C header</a></li>
|
||||
<li><a href="#orgede81ac">4.1.3. C source</a></li>
|
||||
<li><a href="#orgad33a56">4.1.4. Performance…</a></li>
|
||||
<li><a href="#orge7ab106">4.1.1. Requirements</a></li>
|
||||
<li><a href="#org078d268">4.1.2. C header</a></li>
|
||||
<li><a href="#org41c59d1">4.1.3. C source</a></li>
|
||||
<li><a href="#org4f648bd">4.1.4. Performance…</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orge2c9006">5. Sherman-Morrison with update splitting</a>
|
||||
<li><a href="#org0b05a9f">5. Sherman-Morrison with update splitting</a>
|
||||
<ul>
|
||||
<li><a href="#org1b3cd98">5.1. <code>qmckl_sherman_morrison_splitting</code></a>
|
||||
<li><a href="#org30b0e62">5.1. <code>qmckl_sherman_morrison_splitting</code></a>
|
||||
<ul>
|
||||
<li><a href="#org31b0fff">5.1.1. Requirements</a></li>
|
||||
<li><a href="#orgac8d55a">5.1.2. C header</a></li>
|
||||
<li><a href="#org641b4d6">5.1.3. C source</a></li>
|
||||
<li><a href="#org456ff77">5.1.4. Performance…</a></li>
|
||||
<li><a href="#org871a242">5.1.1. Requirements</a></li>
|
||||
<li><a href="#org468a6cd">5.1.2. C header</a></li>
|
||||
<li><a href="#org4b2a184">5.1.3. C source</a></li>
|
||||
<li><a href="#orgf9d0539">5.1.4. Performance…</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgfbffa3e">6. Woodbury 3x3 and 2x2 with Sherman-Morrison and update splitting</a>
|
||||
<li><a href="#orgab8be11">6. Woodbury 3x3 and 2x2 with Sherman-Morrison and update splitting</a>
|
||||
<ul>
|
||||
<li><a href="#orgb2034cd">6.1. <code>qmckl_sherman_morrison_smw32s</code></a>
|
||||
<li><a href="#org2ceddf5">6.1. <code>qmckl_sherman_morrison_smw32s</code></a>
|
||||
<ul>
|
||||
<li><a href="#orgaefe4fe">6.1.1. Requirements</a></li>
|
||||
<li><a href="#org4a48e3e">6.1.2. C header</a></li>
|
||||
<li><a href="#orgf7ca2c2">6.1.3. C source</a></li>
|
||||
<li><a href="#org9a35ce9">6.1.4. Performance…</a></li>
|
||||
<li><a href="#org75d471a">6.1.1. Requirements</a></li>
|
||||
<li><a href="#org1cc3a15">6.1.2. C header</a></li>
|
||||
<li><a href="#org72bf1d4">6.1.3. C source</a></li>
|
||||
<li><a href="#org9962210">6.1.4. Performance…</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgb5650ee">7. Helper Functions</a>
|
||||
<li><a href="#org74edb88">7. Helper Functions</a>
|
||||
<ul>
|
||||
<li><a href="#org13c5fe2">7.1. <code>qmckl_slagel_splitting</code></a>
|
||||
<li><a href="#org5ee12a6">7.1. <code>qmckl_slagel_splitting</code></a>
|
||||
<ul>
|
||||
<li><a href="#org4a01d3c">7.1.1. Requirements</a></li>
|
||||
<li><a href="#org48f00b5">7.1.2. C header</a></li>
|
||||
<li><a href="#org80a7601">7.1.3. C source</a></li>
|
||||
<li><a href="#org7eb0e42">7.1.4. Performance</a></li>
|
||||
<li><a href="#orgf6efe10">7.1.1. Requirements</a></li>
|
||||
<li><a href="#orgb2c1798">7.1.2. C header</a></li>
|
||||
<li><a href="#orgc4c3ba2">7.1.3. C source</a></li>
|
||||
<li><a href="#org4969b86">7.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgefd1fb8">8. End of files</a></li>
|
||||
<li><a href="#org6a7d75c">8. End of files</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd03c80c" class="outline-2">
|
||||
<h2 id="orgd03c80c"><span class="section-number-2">1</span> Headers</h2>
|
||||
<div id="outline-container-orgcefa22f" class="outline-2">
|
||||
<h2 id="orgcefa22f"><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-org62c4ed9" class="outline-2">
|
||||
<h2 id="org62c4ed9"><span class="section-number-2">2</span> Naïve Sherman-Morrison</h2>
|
||||
<div id="outline-container-org8b569c1" class="outline-2">
|
||||
<h2 id="org8b569c1"><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-org8d29a02" class="outline-3">
|
||||
<h3 id="org8d29a02"><span class="section-number-3">2.1</span> <code>qmckl_sherman_morrison</code></h3>
|
||||
<div id="outline-container-org131f319" class="outline-3">
|
||||
<h3 id="org131f319"><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="orgb534dd2" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org972223e" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -500,11 +500,18 @@ from applying the updates to the original matrix.
|
||||
|
||||
<tr>
|
||||
<td class="org-left">uint64<sub>t</sub></td>
|
||||
<td class="org-left">Dim</td>
|
||||
<td class="org-left">LDS</td>
|
||||
<td class="org-left">in</td>
|
||||
<td class="org-left">Leading dimension of Slater<sub>inv</sub></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">uint64<sub>t</sub></td>
|
||||
<td class="org-left">Dim</td>
|
||||
<td class="org-left">in</td>
|
||||
<td class="org-left">Dimension of Slater<sub>inv</sub></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">uint64<sub>t</sub></td>
|
||||
<td class="org-left">N<sub>updates</sub></td>
|
||||
@ -535,7 +542,7 @@ from applying the updates to the original matrix.
|
||||
|
||||
<tr>
|
||||
<td class="org-left">double</td>
|
||||
<td class="org-left">Slater<sub>inv</sub>[Dim*Dim]</td>
|
||||
<td class="org-left">Slater<sub>inv</sub>[LDS*Dim]</td>
|
||||
<td class="org-left">inout</td>
|
||||
<td class="org-left">Array containing the inverse of a Slater-matrix</td>
|
||||
</tr>
|
||||
@ -550,11 +557,12 @@ from applying the updates to the original matrix.
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc284265" class="outline-4">
|
||||
<h4 id="orgc284265"><span class="section-number-4">2.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-orgc520d03" class="outline-4">
|
||||
<h4 id="orgc520d03"><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>
|
||||
<li><code>LDS >= 2</code></li>
|
||||
<li><code>Dim >= 2</code></li>
|
||||
<li><code>N_updates >= 1</code></li>
|
||||
<li><code>Updates</code> is allocated with \(N_updates \times Dim\) elements</li>
|
||||
@ -565,12 +573,13 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org63f4dd8" class="outline-4">
|
||||
<h4 id="org63f4dd8"><span class="section-number-4">2.1.2</span> C header</h4>
|
||||
<div id="outline-container-org00ddd59" class="outline-4">
|
||||
<h4 id="org00ddd59"><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> (
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">LDS</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">Dim</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">N_updates</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">Updates</span>,
|
||||
@ -583,8 +592,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgefcf999" class="outline-4">
|
||||
<h4 id="orgefcf999"><span class="section-number-4">2.1.3</span> C source</h4>
|
||||
<div id="outline-container-orgaabf91f" class="outline-4">
|
||||
<h4 id="orgaabf91f"><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>
|
||||
@ -592,6 +601,7 @@ from applying the updates to the original matrix.
|
||||
<span style="color: #483d8b;">#include</span> <span style="color: #8b2252;">"qmckl.h"</span>
|
||||
|
||||
<span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_sherman_morrison</span>(<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">LDS</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">Dim</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">N_updates</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">Updates</span>,
|
||||
@ -614,7 +624,7 @@ from applying the updates to the original matrix.
|
||||
<span style="color: #a020f0;">for</span> (<span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">i</span> = 0; i < Dim; i++) {
|
||||
C[i] = 0;
|
||||
<span style="color: #a020f0;">for</span> (<span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">j</span> = 0; j < Dim; j++) {
|
||||
C[i] += Slater_inv[i * Dim + j] * Updates[l * Dim + j];
|
||||
C[i] += Slater_inv[i * LDS + j] * Updates[l * Dim + j];
|
||||
}
|
||||
}
|
||||
|
||||
@ -632,14 +642,14 @@ from applying the updates to the original matrix.
|
||||
|
||||
// <span style="color: #b22222;">D = v^T x A^{-1}</span>
|
||||
<span style="color: #a020f0;">for</span> (<span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">j</span> = 0; j < Dim; j++) {
|
||||
D[j] = Slater_inv[(Updates_index[l] - 1) * Dim + j];
|
||||
D[j] = Slater_inv[(Updates_index[l] - 1) * LDS + j];
|
||||
}
|
||||
|
||||
// <span style="color: #b22222;">A^{-1} = A^{-1} - C x D / den</span>
|
||||
<span style="color: #a020f0;">for</span> (<span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">i</span> = 0; i < Dim; i++) {
|
||||
<span style="color: #a020f0;">for</span> (<span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">j</span> = 0; j < Dim; j++) {
|
||||
<span style="color: #228b22;">double</span> <span style="color: #a0522d;">update</span> = C[i] * D[j] * iden;
|
||||
Slater_inv[i * Dim + j] -= update;
|
||||
Slater_inv[i * LDS + j] -= update;
|
||||
}
|
||||
}
|
||||
|
||||
@ -653,8 +663,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd8cf88e" class="outline-4">
|
||||
<h4 id="orgd8cf88e"><span class="section-number-4">2.1.4</span> Performance</h4>
|
||||
<div id="outline-container-org171a290" class="outline-4">
|
||||
<h4 id="org171a290"><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
|
||||
@ -666,12 +676,12 @@ where applying the update causes singular behaviour.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf6f190b" class="outline-2">
|
||||
<h2 id="orgf6f190b"><span class="section-number-2">3</span> Woodbury 2x2</h2>
|
||||
<div id="outline-container-orgbe75951" class="outline-2">
|
||||
<h2 id="orgbe75951"><span class="section-number-2">3</span> Woodbury 2x2</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
</div>
|
||||
<div id="outline-container-org285076f" class="outline-3">
|
||||
<h3 id="org285076f"><span class="section-number-3">3.1</span> <code>qmckl_woodbury_2</code></h3>
|
||||
<div id="outline-container-org4b018df" class="outline-3">
|
||||
<h3 id="org4b018df"><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
|
||||
@ -695,7 +705,7 @@ from applying the updates to the original matrix.
|
||||
|
||||
|
||||
|
||||
<table id="orgeae2b0f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgb74fe65" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -717,11 +727,18 @@ from applying the updates to the original matrix.
|
||||
|
||||
<tr>
|
||||
<td class="org-left">uint64<sub>t</sub></td>
|
||||
<td class="org-left">Dim</td>
|
||||
<td class="org-left">LDS</td>
|
||||
<td class="org-left">in</td>
|
||||
<td class="org-left">Leading dimension of Slater<sub>inv</sub></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">uint64<sub>t</sub></td>
|
||||
<td class="org-left">Dim</td>
|
||||
<td class="org-left">in</td>
|
||||
<td class="org-left">Dimension of Slater<sub>inv</sub></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">double</td>
|
||||
<td class="org-left">Updates[2*Dim]</td>
|
||||
@ -745,7 +762,7 @@ from applying the updates to the original matrix.
|
||||
|
||||
<tr>
|
||||
<td class="org-left">double</td>
|
||||
<td class="org-left">Slater<sub>inv</sub>[Dim*Dim]</td>
|
||||
<td class="org-left">Slater<sub>inv</sub>[LDS*Dim]</td>
|
||||
<td class="org-left">inout</td>
|
||||
<td class="org-left">Array containing the inverse of a Slater-matrix</td>
|
||||
</tr>
|
||||
@ -760,11 +777,12 @@ from applying the updates to the original matrix.
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1b10879" class="outline-4">
|
||||
<h4 id="org1b10879"><span class="section-number-4">3.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org672621e" class="outline-4">
|
||||
<h4 id="org672621e"><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>
|
||||
<li><code>LDS >= 2</code></li>
|
||||
<li><code>Dim >= 2</code></li>
|
||||
<li><code>Updates</code> is allocated with \(2 \times Dim\) elements</li>
|
||||
<li><code>Updates_index</code> is allocated with \(2\) elements</li>
|
||||
@ -774,12 +792,13 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgdf9a1e6" class="outline-4">
|
||||
<h4 id="orgdf9a1e6"><span class="section-number-4">3.1.2</span> C header</h4>
|
||||
<div id="outline-container-org1ef568d" class="outline-4">
|
||||
<h4 id="org1ef568d"><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> (
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">LDS</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">Dim</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">Updates</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span>* <span style="color: #a0522d;">Updates_index</span>,
|
||||
@ -791,8 +810,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgfdf4559" class="outline-4">
|
||||
<h4 id="orgfdf4559"><span class="section-number-4">3.1.3</span> C source</h4>
|
||||
<div id="outline-container-org8329d3f" class="outline-4">
|
||||
<h4 id="org8329d3f"><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>
|
||||
@ -800,6 +819,7 @@ from applying the updates to the original matrix.
|
||||
<span style="color: #483d8b;">#include</span> <span style="color: #8b2252;">"qmckl.h"</span>
|
||||
|
||||
<span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_woodbury_2</span>(<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">LDS</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">Dim</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">Updates</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span>* <span style="color: #a0522d;">Updates_index</span>,
|
||||
@ -826,7 +846,7 @@ from applying the updates to the original matrix.
|
||||
<span style="color: #a020f0;">for</span> (<span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">j</span> = 0; j < 2; j++) {
|
||||
C[i * 2 + j] = 0;
|
||||
<span style="color: #a020f0;">for</span> (<span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">k</span> = 0; k < Dim; k++) {
|
||||
C[i * 2 + j] += Slater_inv[i * Dim + k] * Updates[Dim * j + k];
|
||||
C[i * 2 + j] += Slater_inv[i * LDS + k] * Updates[Dim * j + k];
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -858,16 +878,16 @@ from applying the updates to the original matrix.
|
||||
<span style="color: #228b22;">double</span> <span style="color: #a0522d;">tmp</span>[2 * Dim];
|
||||
<span style="color: #a020f0;">for</span> (<span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">i</span> = 0; i < 2; i++) {
|
||||
<span style="color: #a020f0;">for</span> (<span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">j</span> = 0; j < Dim; j++) {
|
||||
tmp[i * Dim + j] = Binv[i * 2] * Slater_inv[row1 * Dim + j];
|
||||
tmp[i * Dim + j] += Binv[i * 2 + 1] * Slater_inv[row2 * Dim + j];
|
||||
tmp[i * Dim + j] = Binv[i * 2] * Slater_inv[row1 * LDS + j];
|
||||
tmp[i * Dim + j] += Binv[i * 2 + 1] * Slater_inv[row2 * LDS + j];
|
||||
}
|
||||
}
|
||||
|
||||
// <span style="color: #b22222;">Compute (S + U V)^{-1} = S^{-1} - C x tmp</span>
|
||||
<span style="color: #a020f0;">for</span> (<span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">i</span> = 0; i < Dim; i++) {
|
||||
<span style="color: #a020f0;">for</span> (<span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">j</span> = 0; j < Dim; j++) {
|
||||
Slater_inv[i * Dim + j] -= C[i * 2] * tmp[j];
|
||||
Slater_inv[i * Dim + j] -= C[i * 2 + 1] * tmp[Dim + j];
|
||||
Slater_inv[i * LDS + j] -= C[i * 2] * tmp[j];
|
||||
Slater_inv[i * LDS + j] -= C[i * 2 + 1] * tmp[Dim + j];
|
||||
}
|
||||
}
|
||||
|
||||
@ -878,8 +898,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgfa14ee7" class="outline-4">
|
||||
<h4 id="orgfa14ee7"><span class="section-number-4">3.1.4</span> Performance</h4>
|
||||
<div id="outline-container-orgbe24071" class="outline-4">
|
||||
<h4 id="orgbe24071"><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
|
||||
@ -890,12 +910,12 @@ it is sure they will not result in a singular matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6911e6d" class="outline-2">
|
||||
<h2 id="org6911e6d"><span class="section-number-2">4</span> Woodbury 3x3</h2>
|
||||
<div id="outline-container-org290e18c" class="outline-2">
|
||||
<h2 id="org290e18c"><span class="section-number-2">4</span> Woodbury 3x3</h2>
|
||||
<div class="outline-text-2" id="text-4">
|
||||
</div>
|
||||
<div id="outline-container-orgea8c0bf" class="outline-3">
|
||||
<h3 id="orgea8c0bf"><span class="section-number-3">4.1</span> <code>qmckl_woodbury_3</code></h3>
|
||||
<div id="outline-container-org71bf44e" class="outline-3">
|
||||
<h3 id="org71bf44e"><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
|
||||
@ -916,7 +936,7 @@ from applying the updates to the original matrix.
|
||||
|
||||
|
||||
|
||||
<table id="orga2c27b2" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org8dc045b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -938,11 +958,18 @@ from applying the updates to the original matrix.
|
||||
|
||||
<tr>
|
||||
<td class="org-left">uint64<sub>t</sub></td>
|
||||
<td class="org-left">Dim</td>
|
||||
<td class="org-left">LDS</td>
|
||||
<td class="org-left">in</td>
|
||||
<td class="org-left">Leading dimension of Slater<sub>inv</sub></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">uint64<sub>t</sub></td>
|
||||
<td class="org-left">Dim</td>
|
||||
<td class="org-left">in</td>
|
||||
<td class="org-left">Dimension of Slater<sub>inv</sub></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">double</td>
|
||||
<td class="org-left">Updates[3*Dim]</td>
|
||||
@ -966,7 +993,7 @@ from applying the updates to the original matrix.
|
||||
|
||||
<tr>
|
||||
<td class="org-left">double</td>
|
||||
<td class="org-left">Slater<sub>inv</sub>[Dim*Dim]</td>
|
||||
<td class="org-left">Slater<sub>inv</sub>[LDS*Dim]</td>
|
||||
<td class="org-left">inout</td>
|
||||
<td class="org-left">Array containing the inverse of a Slater-matrix</td>
|
||||
</tr>
|
||||
@ -981,11 +1008,12 @@ from applying the updates to the original matrix.
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7b52534" class="outline-4">
|
||||
<h4 id="org7b52534"><span class="section-number-4">4.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-orge7ab106" class="outline-4">
|
||||
<h4 id="orge7ab106"><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>
|
||||
<li><code>LDS >= 2</code></li>
|
||||
<li><code>Dim >= 2</code></li>
|
||||
<li><code>Updates</code> is allocated with \(3 \times Dim\) elements</li>
|
||||
<li><code>Updates_index</code> is allocated with \(3\) elements</li>
|
||||
@ -995,12 +1023,13 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org35bc1c6" class="outline-4">
|
||||
<h4 id="org35bc1c6"><span class="section-number-4">4.1.2</span> C header</h4>
|
||||
<div id="outline-container-org078d268" class="outline-4">
|
||||
<h4 id="org078d268"><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> (
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">LDS</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">Dim</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">Updates</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span>* <span style="color: #a0522d;">Updates_index</span>,
|
||||
@ -1012,8 +1041,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgede81ac" class="outline-4">
|
||||
<h4 id="orgede81ac"><span class="section-number-4">4.1.3</span> C source</h4>
|
||||
<div id="outline-container-org41c59d1" class="outline-4">
|
||||
<h4 id="org41c59d1"><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>
|
||||
@ -1021,6 +1050,7 @@ from applying the updates to the original matrix.
|
||||
<span style="color: #483d8b;">#include</span> <span style="color: #8b2252;">"qmckl.h"</span>
|
||||
|
||||
<span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_woodbury_3</span>(<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">LDS</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">Dim</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">Updates</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span>* <span style="color: #a0522d;">Updates_index</span>,
|
||||
@ -1048,7 +1078,7 @@ from applying the updates to the original matrix.
|
||||
<span style="color: #a020f0;">for</span> (<span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">j</span> = 0; j < 3; j++) {
|
||||
C[i * 3 + j] = 0;
|
||||
<span style="color: #a020f0;">for</span> (<span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">k</span> = 0; k < Dim; k++) {
|
||||
C[i * 3 + j] += Slater_inv[i * Dim + k] * Updates[Dim * j + k];
|
||||
C[i * 3 + j] += Slater_inv[i * LDS + k] * Updates[Dim * j + k];
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1092,18 +1122,18 @@ from applying the updates to the original matrix.
|
||||
<span style="color: #228b22;">double</span> <span style="color: #a0522d;">tmp</span>[3 * Dim];
|
||||
<span style="color: #a020f0;">for</span> (<span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">i</span> = 0; i < 3; i++) {
|
||||
<span style="color: #a020f0;">for</span> (<span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">j</span> = 0; j < Dim; j++) {
|
||||
tmp[i * Dim + j] = Binv[i * 3] * Slater_inv[row1 * Dim + j];
|
||||
tmp[i * Dim + j] += Binv[i * 3 + 1] * Slater_inv[row2 * Dim + j];
|
||||
tmp[i * Dim + j] += Binv[i * 3 + 2] * Slater_inv[row3 * Dim + j];
|
||||
tmp[i * Dim + j] = Binv[i * 3] * Slater_inv[row1 * LDS + j];
|
||||
tmp[i * Dim + j] += Binv[i * 3 + 1] * Slater_inv[row2 * LDS + j];
|
||||
tmp[i * Dim + j] += Binv[i * 3 + 2] * Slater_inv[row3 * LDS + j];
|
||||
}
|
||||
}
|
||||
|
||||
// <span style="color: #b22222;">Compute (S + U V)^{-1} = S^{-1} - C x tmp</span>
|
||||
<span style="color: #a020f0;">for</span> (<span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">i</span> = 0; i < Dim; i++) {
|
||||
<span style="color: #a020f0;">for</span> (<span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">j</span> = 0; j < Dim; j++) {
|
||||
Slater_inv[i * Dim + j] -= C[i * 3] * tmp[j];
|
||||
Slater_inv[i * Dim + j] -= C[i * 3 + 1] * tmp[Dim + j];
|
||||
Slater_inv[i * Dim + j] -= C[i * 3 + 2] * tmp[2 * Dim + j];
|
||||
Slater_inv[i * LDS + j] -= C[i * 3] * tmp[j];
|
||||
Slater_inv[i * LDS + j] -= C[i * 3 + 1] * tmp[Dim + j];
|
||||
Slater_inv[i * LDS + j] -= C[i * 3 + 2] * tmp[2 * Dim + j];
|
||||
}
|
||||
}
|
||||
|
||||
@ -1114,8 +1144,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgad33a56" class="outline-4">
|
||||
<h4 id="orgad33a56"><span class="section-number-4">4.1.4</span> Performance…</h4>
|
||||
<div id="outline-container-org4f648bd" class="outline-4">
|
||||
<h4 id="org4f648bd"><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
|
||||
@ -1126,12 +1156,12 @@ it is sure they will not result in a singular matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge2c9006" class="outline-2">
|
||||
<h2 id="orge2c9006"><span class="section-number-2">5</span> Sherman-Morrison with update splitting</h2>
|
||||
<div id="outline-container-org0b05a9f" class="outline-2">
|
||||
<h2 id="org0b05a9f"><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-org1b3cd98" class="outline-3">
|
||||
<h3 id="org1b3cd98"><span class="section-number-3">5.1</span> <code>qmckl_sherman_morrison_splitting</code></h3>
|
||||
<div id="outline-container-org30b0e62" class="outline-3">
|
||||
<h3 id="org30b0e62"><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
|
||||
@ -1153,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="orge5f990c" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org9aba7b5" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1175,11 +1205,18 @@ from applying the updates to the original matrix.
|
||||
|
||||
<tr>
|
||||
<td class="org-left">uint64<sub>t</sub></td>
|
||||
<td class="org-left">Dim</td>
|
||||
<td class="org-left">LDS</td>
|
||||
<td class="org-left">in</td>
|
||||
<td class="org-left">Leading dimension of Slater<sub>inv</sub></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">uint64<sub>t</sub></td>
|
||||
<td class="org-left">Dim</td>
|
||||
<td class="org-left">in</td>
|
||||
<td class="org-left">Dimension of Slater<sub>inv</sub></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">uint64<sub>t</sub></td>
|
||||
<td class="org-left">N<sub>updates</sub></td>
|
||||
@ -1210,7 +1247,7 @@ from applying the updates to the original matrix.
|
||||
|
||||
<tr>
|
||||
<td class="org-left">double</td>
|
||||
<td class="org-left">Slater<sub>inv</sub>[Dim*Dim]</td>
|
||||
<td class="org-left">Slater<sub>inv</sub>[LDS*Dim]</td>
|
||||
<td class="org-left">inout</td>
|
||||
<td class="org-left">Array containing the inverse of a Slater-matrix</td>
|
||||
</tr>
|
||||
@ -1230,11 +1267,12 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org31b0fff" class="outline-4">
|
||||
<h4 id="org31b0fff"><span class="section-number-4">5.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org871a242" class="outline-4">
|
||||
<h4 id="org871a242"><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>
|
||||
<li><code>LDS >= 2</code></li>
|
||||
<li><code>Dim >= 2</code></li>
|
||||
<li><code>N_updates >= 1</code></li>
|
||||
<li><code>Updates</code> is allocated with \(N_updates \times Dim\) elements</li>
|
||||
@ -1245,12 +1283,13 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgac8d55a" class="outline-4">
|
||||
<h4 id="orgac8d55a"><span class="section-number-4">5.1.2</span> C header</h4>
|
||||
<div id="outline-container-org468a6cd" class="outline-4">
|
||||
<h4 id="org468a6cd"><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> (
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">LDS</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">Dim</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">N_updates</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">Updates</span>,
|
||||
@ -1263,14 +1302,15 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org641b4d6" class="outline-4">
|
||||
<h4 id="org641b4d6"><span class="section-number-4">5.1.3</span> C source</h4>
|
||||
<div id="outline-container-org4b2a184" class="outline-4">
|
||||
<h4 id="org4b2a184"><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>
|
||||
<span style="color: #483d8b;">#include</span> <span style="color: #8b2252;">"qmckl.h"</span>
|
||||
|
||||
<span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_sherman_morrison_splitting</span>(<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">LDS</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">Dim</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">N_updates</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">Updates</span>,
|
||||
@ -1287,11 +1327,11 @@ from applying the updates to the original matrix.
|
||||
<span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">later_index</span>[N_updates];
|
||||
<span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">later</span> = 0;
|
||||
|
||||
(<span style="color: #228b22;">void</span>) qmckl_slagel_splitting(Dim, N_updates, Updates, Updates_index,
|
||||
(<span style="color: #228b22;">void</span>) qmckl_slagel_splitting(LDS, Dim, N_updates, Updates, Updates_index,
|
||||
breakdown, Slater_inv, later_updates, later_index, &later, determinant);
|
||||
|
||||
<span style="color: #a020f0;">if</span> (later > 0) {
|
||||
(<span style="color: #228b22;">void</span>) qmckl_sherman_morrison_splitting(context, Dim, later,
|
||||
(<span style="color: #228b22;">void</span>) qmckl_sherman_morrison_splitting(context, LDS, Dim, later,
|
||||
later_updates, later_index, breakdown, Slater_inv, determinant);
|
||||
}
|
||||
|
||||
@ -1303,8 +1343,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org456ff77" class="outline-4">
|
||||
<h4 id="org456ff77"><span class="section-number-4">5.1.4</span> Performance…</h4>
|
||||
<div id="outline-container-orgf9d0539" class="outline-4">
|
||||
<h4 id="orgf9d0539"><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.
|
||||
@ -1314,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-orgfbffa3e" class="outline-2">
|
||||
<h2 id="orgfbffa3e"><span class="section-number-2">6</span> Woodbury 3x3 and 2x2 with Sherman-Morrison and update splitting</h2>
|
||||
<div id="outline-container-orgab8be11" class="outline-2">
|
||||
<h2 id="orgab8be11"><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-orgb2034cd" class="outline-3">
|
||||
<h3 id="orgb2034cd"><span class="section-number-3">6.1</span> <code>qmckl_sherman_morrison_smw32s</code></h3>
|
||||
<div id="outline-container-org2ceddf5" class="outline-3">
|
||||
<h3 id="org2ceddf5"><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,
|
||||
@ -1334,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="orgfc30dd0" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org2e12b48" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1356,11 +1396,18 @@ from applying the updates to the original matrix.
|
||||
|
||||
<tr>
|
||||
<td class="org-left">uint64<sub>t</sub></td>
|
||||
<td class="org-left">Dim</td>
|
||||
<td class="org-left">LDS</td>
|
||||
<td class="org-left">in</td>
|
||||
<td class="org-left">Leading dimension of Slater<sub>inv</sub></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">uint64<sub>t</sub></td>
|
||||
<td class="org-left">Dim</td>
|
||||
<td class="org-left">in</td>
|
||||
<td class="org-left">Dimension of Slater<sub>inv</sub></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">uint64<sub>t</sub></td>
|
||||
<td class="org-left">N<sub>updates</sub></td>
|
||||
@ -1391,7 +1438,7 @@ from applying the updates to the original matrix.
|
||||
|
||||
<tr>
|
||||
<td class="org-left">double</td>
|
||||
<td class="org-left">Slater<sub>inv</sub>[Dim*Dim]</td>
|
||||
<td class="org-left">Slater<sub>inv</sub>[LDS*Dim]</td>
|
||||
<td class="org-left">inout</td>
|
||||
<td class="org-left">Array containing the inverse of a Slater-matrix</td>
|
||||
</tr>
|
||||
@ -1407,11 +1454,12 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgaefe4fe" class="outline-4">
|
||||
<h4 id="orgaefe4fe"><span class="section-number-4">6.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org75d471a" class="outline-4">
|
||||
<h4 id="org75d471a"><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>
|
||||
<li><code>LDS >= 2</code></li>
|
||||
<li><code>Dim >= 2</code></li>
|
||||
<li><code>N_updates >= 1</code></li>
|
||||
<li><code>Updates</code> is allocated with \(N_updates \times Dim\) elements</li>
|
||||
@ -1422,12 +1470,13 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4a48e3e" class="outline-4">
|
||||
<h4 id="org4a48e3e"><span class="section-number-4">6.1.2</span> C header</h4>
|
||||
<div id="outline-container-org1cc3a15" class="outline-4">
|
||||
<h4 id="org1cc3a15"><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> (
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">LDS</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">Dim</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">N_updates</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">Updates</span>,
|
||||
@ -1440,14 +1489,15 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf7ca2c2" class="outline-4">
|
||||
<h4 id="orgf7ca2c2"><span class="section-number-4">6.1.3</span> C source</h4>
|
||||
<div id="outline-container-org72bf1d4" class="outline-4">
|
||||
<h4 id="org72bf1d4"><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>
|
||||
<span style="color: #483d8b;">#include</span> <span style="color: #8b2252;">"qmckl.h"</span>
|
||||
|
||||
<span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_sherman_morrison_smw32s</span>(<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">LDS</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">Dim</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">N_updates</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">Updates</span>,
|
||||
@ -1475,10 +1525,10 @@ from applying the updates to the original matrix.
|
||||
<span style="color: #a020f0;">for</span> (<span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">i</span> = 0; i < n_of_3blocks; i++) {
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> *<span style="color: #a0522d;">Updates_3block</span> = &Updates[i * length_3block];
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> *<span style="color: #a0522d;">Updates_index_3block</span> = &Updates_index[i * 3];
|
||||
rc = qmckl_woodbury_3(context, Dim, Updates_3block, Updates_index_3block, breakdown, Slater_inv, determinant);
|
||||
rc = qmckl_woodbury_3(context, LDS, Dim, Updates_3block, Updates_index_3block, breakdown, Slater_inv, determinant);
|
||||
<span style="color: #a020f0;">if</span> (rc != 0) { // <span style="color: #b22222;">Send the entire block to slagel_splitting</span>
|
||||
<span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">l</span> = 0;
|
||||
rc = qmckl_slagel_splitting(Dim, 3, Updates_3block, Updates_index_3block,
|
||||
rc = qmckl_slagel_splitting(LDS, Dim, 3, Updates_3block, Updates_index_3block,
|
||||
breakdown, Slater_inv, later_updates + (Dim * later), later_index + later, &l, determinant);
|
||||
later = later + l;
|
||||
}
|
||||
@ -1489,10 +1539,10 @@ from applying the updates to the original matrix.
|
||||
<span style="color: #a020f0;">if</span> (remainder == 2) {
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> *<span style="color: #a0522d;">Updates_2block</span> = &Updates[n_of_3blocks * length_3block];
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> *<span style="color: #a0522d;">Updates_index_2block</span> = &Updates_index[3 * n_of_3blocks];
|
||||
rc = qmckl_woodbury_2(context, Dim, Updates_2block, Updates_index_2block, breakdown, Slater_inv, determinant);
|
||||
rc = qmckl_woodbury_2(context, LDS, Dim, Updates_2block, Updates_index_2block, breakdown, Slater_inv, determinant);
|
||||
<span style="color: #a020f0;">if</span> (rc != 0) { // <span style="color: #b22222;">Send the entire block to slagel_splitting</span>
|
||||
<span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">l</span> = 0;
|
||||
(<span style="color: #228b22;">void</span>) qmckl_slagel_splitting(Dim, 2, Updates_2block, Updates_index_2block,
|
||||
(<span style="color: #228b22;">void</span>) qmckl_slagel_splitting(LDS, Dim, 2, Updates_2block, Updates_index_2block,
|
||||
breakdown, Slater_inv, later_updates + (Dim * later), later_index + later, &l, determinant);
|
||||
later = later + l;
|
||||
}
|
||||
@ -1502,13 +1552,13 @@ from applying the updates to the original matrix.
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> *<span style="color: #a0522d;">Updates_1block</span> = &Updates[n_of_3blocks * length_3block];
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> *<span style="color: #a0522d;">Updates_index_1block</span> = &Updates_index[3 * n_of_3blocks];
|
||||
<span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">l</span> = 0;
|
||||
(<span style="color: #228b22;">void</span>) qmckl_slagel_splitting(Dim, 1, Updates_1block, Updates_index_1block,
|
||||
(<span style="color: #228b22;">void</span>) qmckl_slagel_splitting(LDS, Dim, 1, Updates_1block, Updates_index_1block,
|
||||
breakdown, Slater_inv, later_updates + (Dim * later), later_index + later, &l, determinant);
|
||||
later = later + l;
|
||||
}
|
||||
|
||||
<span style="color: #a020f0;">if</span> (later > 0) {
|
||||
(<span style="color: #228b22;">void</span>) qmckl_sherman_morrison_splitting(context, Dim, later, later_updates, later_index, breakdown, Slater_inv, determinant);
|
||||
(<span style="color: #228b22;">void</span>) qmckl_sherman_morrison_splitting(context, LDS, Dim, later, later_updates, later_index, breakdown, Slater_inv, determinant);
|
||||
}
|
||||
<span style="color: #a020f0;">return</span> QMCKL_SUCCESS;
|
||||
}
|
||||
@ -1518,8 +1568,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9a35ce9" class="outline-4">
|
||||
<h4 id="org9a35ce9"><span class="section-number-4">6.1.4</span> Performance…</h4>
|
||||
<div id="outline-container-org9962210" class="outline-4">
|
||||
<h4 id="org9962210"><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.
|
||||
@ -1529,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-orgb5650ee" class="outline-2">
|
||||
<h2 id="orgb5650ee"><span class="section-number-2">7</span> Helper Functions</h2>
|
||||
<div id="outline-container-org74edb88" class="outline-2">
|
||||
<h2 id="org74edb88"><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.
|
||||
@ -1538,8 +1588,8 @@ These functions can only be used internally by the kernels in this module.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org13c5fe2" class="outline-3">
|
||||
<h3 id="org13c5fe2"><span class="section-number-3">7.1</span> <code>qmckl_slagel_splitting</code></h3>
|
||||
<div id="outline-container-org5ee12a6" class="outline-3">
|
||||
<h3 id="org5ee12a6"><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.
|
||||
@ -1559,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="org1d6e371" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org06f112f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1574,11 +1624,18 @@ from applying the updates to the original matrix.
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="org-left">uint64<sub>t</sub></td>
|
||||
<td class="org-left">Dim</td>
|
||||
<td class="org-left">LDS</td>
|
||||
<td class="org-left">in</td>
|
||||
<td class="org-left">Leading dimension of Slater<sub>inv</sub></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">uint64<sub>t</sub></td>
|
||||
<td class="org-left">Dim</td>
|
||||
<td class="org-left">in</td>
|
||||
<td class="org-left">Dimension of Slater<sub>inv</sub></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="org-left">uint64<sub>t</sub></td>
|
||||
<td class="org-left">N<sub>updates</sub></td>
|
||||
@ -1609,7 +1666,7 @@ from applying the updates to the original matrix.
|
||||
|
||||
<tr>
|
||||
<td class="org-left">double</td>
|
||||
<td class="org-left">Slater<sub>inv</sub>[Dim*Dim]</td>
|
||||
<td class="org-left">Slater<sub>inv</sub>[LDS*Dim]</td>
|
||||
<td class="org-left">inout</td>
|
||||
<td class="org-left">Array containing the inverse Slater-matrix</td>
|
||||
</tr>
|
||||
@ -1646,10 +1703,11 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org4a01d3c" class="outline-4">
|
||||
<h4 id="org4a01d3c"><span class="section-number-4">7.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-orgf6efe10" class="outline-4">
|
||||
<h4 id="orgf6efe10"><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>
|
||||
<li><code>Dim >= 2</code></li>
|
||||
<li><code>N_updates >= 1</code></li>
|
||||
<li><code>Updates</code> is allocated with \(N_updates \times Dim\) elements</li>
|
||||
@ -1663,11 +1721,12 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org48f00b5" class="outline-4">
|
||||
<h4 id="org48f00b5"><span class="section-number-4">7.1.2</span> C header</h4>
|
||||
<div id="outline-container-orgb2c1798" class="outline-4">
|
||||
<h4 id="orgb2c1798"><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> (
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">LDS</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">Dim</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">N_updates</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a0522d;">Updates</span>,
|
||||
@ -1683,15 +1742,16 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org80a7601" class="outline-4">
|
||||
<h4 id="org80a7601"><span class="section-number-4">7.1.3</span> C source</h4>
|
||||
<div id="outline-container-orgc4c3ba2" class="outline-4">
|
||||
<h4 id="orgc4c3ba2"><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>
|
||||
<span style="color: #483d8b;">#include</span> <span style="color: #8b2252;"><math.h></span>
|
||||
<span style="color: #483d8b;">#include</span> <span style="color: #8b2252;">"qmckl.h"</span>
|
||||
|
||||
<span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_slagel_splitting</span>(<span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">Dim</span>,
|
||||
<span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_slagel_splitting</span>(<span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">LDS</span>,
|
||||
<span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">Dim</span>,
|
||||
<span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">N_updates</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span> *<span style="color: #a0522d;">Updates</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span> *<span style="color: #a0522d;">Updates_index</span>,
|
||||
@ -1715,7 +1775,7 @@ from applying the updates to the original matrix.
|
||||
<span style="color: #a020f0;">for</span> (<span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">i</span> = 0; i < Dim; i++) {
|
||||
C[i] = 0;
|
||||
<span style="color: #a020f0;">for</span> (<span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">j</span> = 0; j < Dim; j++) {
|
||||
C[i] += Slater_inv[i * Dim + j] * Updates[l * Dim + j];
|
||||
C[i] += Slater_inv[i * LDS + j] * Updates[l * Dim + j];
|
||||
}
|
||||
}
|
||||
|
||||
@ -1740,14 +1800,14 @@ from applying the updates to the original matrix.
|
||||
|
||||
// <span style="color: #b22222;">D = v^T x S^{-1}</span>
|
||||
<span style="color: #a020f0;">for</span> (<span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">j</span> = 0; j < Dim; j++) {
|
||||
D[j] = Slater_inv[(Updates_index[l] - 1) * Dim + j];
|
||||
D[j] = Slater_inv[(Updates_index[l] - 1) * LDS + j];
|
||||
}
|
||||
|
||||
// <span style="color: #b22222;">S^{-1} = S^{-1} - C x D / den</span>
|
||||
<span style="color: #a020f0;">for</span> (<span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">i</span> = 0; i < Dim; i++) {
|
||||
<span style="color: #a020f0;">for</span> (<span style="color: #228b22;">uint64_t</span> <span style="color: #a0522d;">j</span> = 0; j < Dim; j++) {
|
||||
<span style="color: #228b22;">double</span> <span style="color: #a0522d;">update</span> = C[i] * D[j] * iden;
|
||||
Slater_inv[i * Dim + j] -= update;
|
||||
Slater_inv[i * LDS + j] -= update;
|
||||
}
|
||||
}
|
||||
l += 1;
|
||||
@ -1761,8 +1821,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7eb0e42" class="outline-4">
|
||||
<h4 id="org7eb0e42"><span class="section-number-4">7.1.4</span> Performance</h4>
|
||||
<div id="outline-container-org4969b86" class="outline-4">
|
||||
<h4 id="org4969b86"><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
|
||||
@ -1773,8 +1833,8 @@ with Sherman-Morrison and update splitting. Please look at the performance recco
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgefd1fb8" class="outline-2">
|
||||
<h2 id="orgefd1fb8"><span class="section-number-2">8</span> End of files</h2>
|
||||
<div id="outline-container-org6a7d75c" class="outline-2">
|
||||
<h2 id="org6a7d75c"><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);
|
||||
@ -1788,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: 2021-11-17 Wed 13:08</p>
|
||||
<p class="date">Created: 2021-11-17 Wed 13:14</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-11-17 Wed 13:08 -->
|
||||
<!-- 2021-11-17 Wed 13:14 -->
|
||||
<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="#orgcddaca9">1. CHBrClF</a>
|
||||
<li><a href="#orga734db0">1. CHBrClF</a>
|
||||
<ul>
|
||||
<li><a href="#org4991b6a">1.1. XYZ coordinates</a></li>
|
||||
<li><a href="#orgd2261a3">1.2. Atomic basis set</a></li>
|
||||
<li><a href="#orge0ff0ca">1.3. Molecular orbitals</a></li>
|
||||
<li><a href="#org64ac791">1.4. Electron coordinates</a></li>
|
||||
<li><a href="#org1b352a5">1.1. XYZ coordinates</a></li>
|
||||
<li><a href="#orgb88d9c7">1.2. Atomic basis set</a></li>
|
||||
<li><a href="#org957cc0b">1.3. Molecular orbitals</a></li>
|
||||
<li><a href="#org69ab237">1.4. Electron coordinates</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgd1d73f2">2. N2</a>
|
||||
<li><a href="#orgc2d99ac">2. N2</a>
|
||||
<ul>
|
||||
<li><a href="#orgfeb5548">2.1. XYZ coordinates</a></li>
|
||||
<li><a href="#org4252686">2.2. Electron coordinates</a></li>
|
||||
<li><a href="#org8116f88">2.3. Jastrow related data</a></li>
|
||||
<li><a href="#org68e9a7e">2.1. XYZ coordinates</a></li>
|
||||
<li><a href="#orgb8fac45">2.2. Electron coordinates</a></li>
|
||||
<li><a href="#orgb34c416">2.3. Jastrow related data</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgcddaca9" class="outline-2">
|
||||
<h2 id="orgcddaca9"><span class="section-number-2">1</span> CHBrClF</h2>
|
||||
<div id="outline-container-orga734db0" class="outline-2">
|
||||
<h2 id="orga734db0"><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-org4991b6a" class="outline-3">
|
||||
<h3 id="org4991b6a"><span class="section-number-3">1.1</span> XYZ coordinates</h3>
|
||||
<div id="outline-container-org1b352a5" class="outline-3">
|
||||
<h3 id="org1b352a5"><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-orgd2261a3" class="outline-3">
|
||||
<h3 id="orgd2261a3"><span class="section-number-3">1.2</span> Atomic basis set</h3>
|
||||
<div id="outline-container-orgb88d9c7" class="outline-3">
|
||||
<h3 id="orgb88d9c7"><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-orge0ff0ca" class="outline-3">
|
||||
<h3 id="orge0ff0ca"><span class="section-number-3">1.3</span> Molecular orbitals</h3>
|
||||
<div id="outline-container-org957cc0b" class="outline-3">
|
||||
<h3 id="org957cc0b"><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-org64ac791" class="outline-3">
|
||||
<h3 id="org64ac791"><span class="section-number-3">1.4</span> Electron coordinates</h3>
|
||||
<div id="outline-container-org69ab237" class="outline-3">
|
||||
<h3 id="org69ab237"><span class="section-number-3">1.4</span> Electron coordinates</h3>
|
||||
<div class="outline-text-3" id="text-1-4">
|
||||
<p>
|
||||
Electron coordinates are stored in atomic units in normal format.
|
||||
@ -60374,8 +60374,8 @@ Electron coordinates are stored in atomic units in normal format.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgd1d73f2" class="outline-2">
|
||||
<h2 id="orgd1d73f2"><span class="section-number-2">2</span> N2</h2>
|
||||
<div id="outline-container-orgc2d99ac" class="outline-2">
|
||||
<h2 id="orgc2d99ac"><span class="section-number-2">2</span> N2</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
<p>
|
||||
This test is mainly for the Jastrow factor and was supplied by
|
||||
@ -60416,8 +60416,8 @@ treated by pseudopotentials thus excluded from the actual calculation.
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgfeb5548" class="outline-3">
|
||||
<h3 id="orgfeb5548"><span class="section-number-3">2.1</span> XYZ coordinates</h3>
|
||||
<div id="outline-container-org68e9a7e" class="outline-3">
|
||||
<h3 id="org68e9a7e"><span class="section-number-3">2.1</span> XYZ coordinates</h3>
|
||||
<div class="outline-text-3" id="text-2-1">
|
||||
<pre class="example">
|
||||
2
|
||||
@ -60444,8 +60444,8 @@ Nuclear coordinates are stored in atomic units in transposed format.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4252686" class="outline-3">
|
||||
<h3 id="org4252686"><span class="section-number-3">2.2</span> Electron coordinates</h3>
|
||||
<div id="outline-container-orgb8fac45" class="outline-3">
|
||||
<h3 id="orgb8fac45"><span class="section-number-3">2.2</span> Electron coordinates</h3>
|
||||
<div class="outline-text-3" id="text-2-2">
|
||||
<p>
|
||||
Electron coordinates are stored in atomic units in normal format.
|
||||
@ -60474,8 +60474,8 @@ Electron coordinates are stored in atomic units in normal format.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8116f88" class="outline-3">
|
||||
<h3 id="org8116f88"><span class="section-number-3">2.3</span> Jastrow related data</h3>
|
||||
<div id="outline-container-orgb34c416" class="outline-3">
|
||||
<h3 id="orgb34c416"><span class="section-number-3">2.3</span> Jastrow related data</h3>
|
||||
<div class="outline-text-3" id="text-2-3">
|
||||
<p>
|
||||
This test is mainly for the Jastrow factor and was supplied by
|
||||
@ -60574,7 +60574,7 @@ Ramon Panades Baruetta.
|
||||
</div>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="date">Created: 2021-11-17 Wed 13:08</p>
|
||||
<p class="date">Created: 2021-11-17 Wed 13:14</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-11-17 Wed 13:08 -->
|
||||
<!-- 2021-11-17 Wed 13:13 -->
|
||||
<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="#org5b4088b">1. Local functions</a>
|
||||
<li><a href="#orgcbe470b">1. Local functions</a>
|
||||
<ul>
|
||||
<li><a href="#org9fc715d">1.1. Open file</a></li>
|
||||
<li><a href="#orgf071a7a">1.2. Electron</a></li>
|
||||
<li><a href="#orga69dd96">1.3. Nucleus</a>
|
||||
<li><a href="#orgcec94e1">1.1. Open file</a></li>
|
||||
<li><a href="#orgb421877">1.2. Electron</a></li>
|
||||
<li><a href="#orgb646ab1">1.3. Nucleus</a>
|
||||
<ul>
|
||||
<li><a href="#org8595167">1.3.1. Number of nuclei</a></li>
|
||||
<li><a href="#org686d2a8">1.3.2. Nuclear charges</a></li>
|
||||
<li><a href="#org42c82bf">1.3.3. Nuclear coordinates</a></li>
|
||||
<li><a href="#orgf2e23a8">1.3.1. Number of nuclei</a></li>
|
||||
<li><a href="#org4feee25">1.3.2. Nuclear charges</a></li>
|
||||
<li><a href="#org52b8a51">1.3.3. Nuclear coordinates</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orge9376cb">1.4. Basis set and AOs</a>
|
||||
<li><a href="#orge2f71c9">1.4. Basis set and AOs</a>
|
||||
<ul>
|
||||
<li><a href="#org29d497a">1.4.1. Basis set type</a></li>
|
||||
<li><a href="#org1f8feaa">1.4.2. Number of shells</a></li>
|
||||
<li><a href="#org36a18a4">1.4.3. Number of primitives</a></li>
|
||||
<li><a href="#org6f0e7d4">1.4.4. Number of atomic orbitals</a></li>
|
||||
<li><a href="#org72b66de">1.4.5. Nucleus<sub>index</sub> array</a></li>
|
||||
<li><a href="#org59b7627">1.4.6. Number of shells per nucleus</a></li>
|
||||
<li><a href="#org460d04b">1.4.7. Angular momentum</a></li>
|
||||
<li><a href="#orgc851894">1.4.8. Number of primitives per shell</a></li>
|
||||
<li><a href="#orge6d861b">1.4.9. Indices of the primitives</a></li>
|
||||
<li><a href="#org25871aa">1.4.10. Normalization of the shells</a></li>
|
||||
<li><a href="#org41d6bf8">1.4.11. Exponents</a></li>
|
||||
<li><a href="#orgea27f06">1.4.12. Coefficients</a></li>
|
||||
<li><a href="#orgbc082d7">1.4.13. Normalization of the primitivies</a></li>
|
||||
<li><a href="#org1b9f82d">1.4.14. AO Normalization</a></li>
|
||||
<li><a href="#orgfd0317f">1.4.1. Basis set type</a></li>
|
||||
<li><a href="#org29c507c">1.4.2. Number of shells</a></li>
|
||||
<li><a href="#org520c1bb">1.4.3. Number of primitives</a></li>
|
||||
<li><a href="#org74d269f">1.4.4. Number of atomic orbitals</a></li>
|
||||
<li><a href="#orgeee0254">1.4.5. Nucleus<sub>index</sub> array</a></li>
|
||||
<li><a href="#orgf284916">1.4.6. Number of shells per nucleus</a></li>
|
||||
<li><a href="#orgc847c27">1.4.7. Angular momentum</a></li>
|
||||
<li><a href="#orgc1f4f22">1.4.8. Number of primitives per shell</a></li>
|
||||
<li><a href="#org827d57e">1.4.9. Indices of the primitives</a></li>
|
||||
<li><a href="#org040272d">1.4.10. Normalization of the shells</a></li>
|
||||
<li><a href="#org64c87bc">1.4.11. Exponents</a></li>
|
||||
<li><a href="#orgca1c889">1.4.12. Coefficients</a></li>
|
||||
<li><a href="#org9154466">1.4.13. Normalization of the primitivies</a></li>
|
||||
<li><a href="#org8ace888">1.4.14. AO Normalization</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org41bdf16">1.5. Molecular orbitals</a>
|
||||
<li><a href="#org0274d2c">1.5. Molecular orbitals</a>
|
||||
<ul>
|
||||
<li><a href="#org750e129">1.5.1. Number of MOs</a></li>
|
||||
<li><a href="#orge8880eb">1.5.2. MO coefficients</a></li>
|
||||
<li><a href="#orge25c79b">1.5.1. Number of MOs</a></li>
|
||||
<li><a href="#org84da4b8">1.5.2. MO coefficients</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgdf9ac7f">1.6. <span class="todo TODO">TODO</span> ECP</a></li>
|
||||
<li><a href="#org2ce2df1">1.6. <span class="todo TODO">TODO</span> ECP</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgd7e9648">2. Read everything</a></li>
|
||||
<li><a href="#orgddde22b">3. Test</a>
|
||||
<li><a href="#org87034c7">2. Read everything</a></li>
|
||||
<li><a href="#orged424f8">3. Test</a>
|
||||
<ul>
|
||||
<li>
|
||||
<ul>
|
||||
<li><a href="#org34afa10">3.0.1. Electrons</a></li>
|
||||
<li><a href="#orgf02b711">3.0.2. Nuclei</a></li>
|
||||
<li><a href="#org3c9c8ec">3.0.3. Atomic basis</a></li>
|
||||
<li><a href="#org78a997b">3.0.4. MO Basis</a></li>
|
||||
<li><a href="#orgd5a14b4">3.0.1. Electrons</a></li>
|
||||
<li><a href="#org6271104">3.0.2. Nuclei</a></li>
|
||||
<li><a href="#org997f7cf">3.0.3. Atomic basis</a></li>
|
||||
<li><a href="#orgcbaefdb">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-org5b4088b" class="outline-2">
|
||||
<h2 id="org5b4088b"><span class="section-number-2">1</span> Local functions</h2>
|
||||
<div id="outline-container-orgcbe470b" class="outline-2">
|
||||
<h2 id="orgcbe470b"><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-org9fc715d" class="outline-3">
|
||||
<h3 id="org9fc715d"><span class="section-number-3">1.1</span> Open file</h3>
|
||||
<div id="outline-container-orgcec94e1" class="outline-3">
|
||||
<h3 id="orgcec94e1"><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-orgf071a7a" class="outline-3">
|
||||
<h3 id="orgf071a7a"><span class="section-number-3">1.2</span> Electron</h3>
|
||||
<div id="outline-container-orgb421877" class="outline-3">
|
||||
<h3 id="orgb421877"><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-orga69dd96" class="outline-3">
|
||||
<h3 id="orga69dd96"><span class="section-number-3">1.3</span> Nucleus</h3>
|
||||
<div id="outline-container-orgb646ab1" class="outline-3">
|
||||
<h3 id="orgb646ab1"><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-org8595167" class="outline-4">
|
||||
<h4 id="org8595167"><span class="section-number-4">1.3.1</span> Number of nuclei</h4>
|
||||
<div id="outline-container-orgf2e23a8" class="outline-4">
|
||||
<h4 id="orgf2e23a8"><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-org686d2a8" class="outline-4">
|
||||
<h4 id="org686d2a8"><span class="section-number-4">1.3.2</span> Nuclear charges</h4>
|
||||
<div id="outline-container-org4feee25" class="outline-4">
|
||||
<h4 id="org4feee25"><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-org42c82bf" class="outline-4">
|
||||
<h4 id="org42c82bf"><span class="section-number-4">1.3.3</span> Nuclear coordinates</h4>
|
||||
<div id="outline-container-org52b8a51" class="outline-4">
|
||||
<h4 id="org52b8a51"><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-orge9376cb" class="outline-3">
|
||||
<h3 id="orge9376cb"><span class="section-number-3">1.4</span> Basis set and AOs</h3>
|
||||
<div id="outline-container-orge2f71c9" class="outline-3">
|
||||
<h3 id="orge2f71c9"><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-org29d497a" class="outline-4">
|
||||
<h4 id="org29d497a"><span class="section-number-4">1.4.1</span> Basis set type</h4>
|
||||
<div id="outline-container-orgfd0317f" class="outline-4">
|
||||
<h4 id="orgfd0317f"><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-org1f8feaa" class="outline-4">
|
||||
<h4 id="org1f8feaa"><span class="section-number-4">1.4.2</span> Number of shells</h4>
|
||||
<div id="outline-container-org29c507c" class="outline-4">
|
||||
<h4 id="org29c507c"><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-org36a18a4" class="outline-4">
|
||||
<h4 id="org36a18a4"><span class="section-number-4">1.4.3</span> Number of primitives</h4>
|
||||
<div id="outline-container-org520c1bb" class="outline-4">
|
||||
<h4 id="org520c1bb"><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-org6f0e7d4" class="outline-4">
|
||||
<h4 id="org6f0e7d4"><span class="section-number-4">1.4.4</span> Number of atomic orbitals</h4>
|
||||
<div id="outline-container-org74d269f" class="outline-4">
|
||||
<h4 id="org74d269f"><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-org72b66de" class="outline-4">
|
||||
<h4 id="org72b66de"><span class="section-number-4">1.4.5</span> Nucleus<sub>index</sub> array</h4>
|
||||
<div id="outline-container-orgeee0254" class="outline-4">
|
||||
<h4 id="orgeee0254"><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">{
|
||||
@ -791,8 +791,8 @@ rc = qmckl_set_ao_basis_ao_num(context, ao_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org59b7627" class="outline-4">
|
||||
<h4 id="org59b7627"><span class="section-number-4">1.4.6</span> Number of shells per nucleus</h4>
|
||||
<div id="outline-container-orgf284916" class="outline-4">
|
||||
<h4 id="orgf284916"><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">{
|
||||
@ -831,8 +831,8 @@ rc = qmckl_set_ao_basis_ao_num(context, ao_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org460d04b" class="outline-4">
|
||||
<h4 id="org460d04b"><span class="section-number-4">1.4.7</span> Angular momentum</h4>
|
||||
<div id="outline-container-orgc847c27" class="outline-4">
|
||||
<h4 id="orgc847c27"><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">{
|
||||
@ -871,8 +871,8 @@ rc = qmckl_set_ao_basis_ao_num(context, ao_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc851894" class="outline-4">
|
||||
<h4 id="orgc851894"><span class="section-number-4">1.4.8</span> Number of primitives per shell</h4>
|
||||
<div id="outline-container-orgc1f4f22" class="outline-4">
|
||||
<h4 id="orgc1f4f22"><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">{
|
||||
@ -911,8 +911,8 @@ rc = qmckl_set_ao_basis_ao_num(context, ao_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge6d861b" class="outline-4">
|
||||
<h4 id="orge6d861b"><span class="section-number-4">1.4.9</span> Indices of the primitives</h4>
|
||||
<div id="outline-container-org827d57e" class="outline-4">
|
||||
<h4 id="org827d57e"><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">{
|
||||
@ -951,8 +951,8 @@ rc = qmckl_set_ao_basis_ao_num(context, ao_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org25871aa" class="outline-4">
|
||||
<h4 id="org25871aa"><span class="section-number-4">1.4.10</span> Normalization of the shells</h4>
|
||||
<div id="outline-container-org040272d" class="outline-4">
|
||||
<h4 id="org040272d"><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">{
|
||||
@ -991,8 +991,8 @@ rc = qmckl_set_ao_basis_ao_num(context, ao_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org41d6bf8" class="outline-4">
|
||||
<h4 id="org41d6bf8"><span class="section-number-4">1.4.11</span> Exponents</h4>
|
||||
<div id="outline-container-org64c87bc" class="outline-4">
|
||||
<h4 id="org64c87bc"><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">{
|
||||
@ -1031,8 +1031,8 @@ rc = qmckl_set_ao_basis_ao_num(context, ao_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgea27f06" class="outline-4">
|
||||
<h4 id="orgea27f06"><span class="section-number-4">1.4.12</span> Coefficients</h4>
|
||||
<div id="outline-container-orgca1c889" class="outline-4">
|
||||
<h4 id="orgca1c889"><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">{
|
||||
@ -1071,8 +1071,8 @@ rc = qmckl_set_ao_basis_ao_num(context, ao_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgbc082d7" class="outline-4">
|
||||
<h4 id="orgbc082d7"><span class="section-number-4">1.4.13</span> Normalization of the primitivies</h4>
|
||||
<div id="outline-container-org9154466" class="outline-4">
|
||||
<h4 id="org9154466"><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">{
|
||||
@ -1111,8 +1111,8 @@ rc = qmckl_set_ao_basis_ao_num(context, ao_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1b9f82d" class="outline-4">
|
||||
<h4 id="org1b9f82d"><span class="section-number-4">1.4.14</span> AO Normalization</h4>
|
||||
<div id="outline-container-org8ace888" class="outline-4">
|
||||
<h4 id="org8ace888"><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">{
|
||||
@ -1161,8 +1161,8 @@ rc = qmckl_set_ao_basis_ao_num(context, ao_num);
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org41bdf16" class="outline-3">
|
||||
<h3 id="org41bdf16"><span class="section-number-3">1.5</span> Molecular orbitals</h3>
|
||||
<div id="outline-container-org0274d2c" class="outline-3">
|
||||
<h3 id="org0274d2c"><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.
|
||||
@ -1188,8 +1188,8 @@ In this section we read the MO coefficients.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org750e129" class="outline-4">
|
||||
<h4 id="org750e129"><span class="section-number-4">1.5.1</span> Number of MOs</h4>
|
||||
<div id="outline-container-orge25c79b" class="outline-4">
|
||||
<h4 id="orge25c79b"><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;
|
||||
@ -1212,8 +1212,8 @@ rc = qmckl_set_mo_basis_mo_num(context, mo_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge8880eb" class="outline-4">
|
||||
<h4 id="orge8880eb"><span class="section-number-4">1.5.2</span> MO coefficients</h4>
|
||||
<div id="outline-container-org84da4b8" class="outline-4">
|
||||
<h4 id="org84da4b8"><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">{
|
||||
@ -1262,12 +1262,12 @@ rc = qmckl_set_mo_basis_mo_num(context, mo_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgdf9ac7f" class="outline-3">
|
||||
<h3 id="orgdf9ac7f"><span class="section-number-3">1.6</span> <span class="todo TODO">TODO</span> ECP</h3>
|
||||
<div id="outline-container-org2ce2df1" class="outline-3">
|
||||
<h3 id="org2ce2df1"><span class="section-number-3">1.6</span> <span class="todo TODO">TODO</span> ECP</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgd7e9648" class="outline-2">
|
||||
<h2 id="orgd7e9648"><span class="section-number-2">2</span> Read everything</h2>
|
||||
<div id="outline-container-org87034c7" class="outline-2">
|
||||
<h2 id="org87034c7"><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>);
|
||||
@ -1348,8 +1348,8 @@ rc = qmckl_set_mo_basis_mo_num(context, mo_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgddde22b" class="outline-2">
|
||||
<h2 id="orgddde22b"><span class="section-number-2">3</span> Test</h2>
|
||||
<div id="outline-container-orged424f8" class="outline-2">
|
||||
<h2 id="orged424f8"><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
|
||||
@ -1383,8 +1383,8 @@ rc = qmckl_trexio_read(context, fname);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org34afa10" class="outline-4">
|
||||
<h4 id="org34afa10"><span class="section-number-4">3.0.1</span> Electrons</h4>
|
||||
<div id="outline-container-orgd5a14b4" class="outline-4">
|
||||
<h4 id="orgd5a14b4"><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>);
|
||||
@ -1402,8 +1402,8 @@ rc = qmckl_get_electron_down_num(context, &dn_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf02b711" class="outline-4">
|
||||
<h4 id="orgf02b711"><span class="section-number-4">3.0.2</span> Nuclei</h4>
|
||||
<div id="outline-container-org6271104" class="outline-4">
|
||||
<h4 id="org6271104"><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>);
|
||||
@ -1443,8 +1443,8 @@ coord = <span style="color: #008b8b;">NULL</span>;
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3c9c8ec" class="outline-4">
|
||||
<h4 id="org3c9c8ec"><span class="section-number-4">3.0.3</span> Atomic basis</h4>
|
||||
<div id="outline-container-org997f7cf" class="outline-4">
|
||||
<h4 id="org997f7cf"><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>);
|
||||
@ -1552,8 +1552,8 @@ prim_factor = <span style="color: #008b8b;">NULL</span>;
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org78a997b" class="outline-4">
|
||||
<h4 id="org78a997b"><span class="section-number-4">3.0.4</span> MO Basis</h4>
|
||||
<div id="outline-container-orgcbaefdb" class="outline-4">
|
||||
<h4 id="orgcbaefdb"><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>);
|
||||
@ -1581,7 +1581,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: 2021-11-17 Wed 13:08</p>
|
||||
<p class="date">Created: 2021-11-17 Wed 13:13</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-11-17 Wed 13:08 -->
|
||||
<!-- 2021-11-17 Wed 13:13 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Utility functions</title>
|
||||
@ -333,13 +333,13 @@ for the JavaScript code in this tag.
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents">
|
||||
<ul>
|
||||
<li><a href="#org0228b62">1. Matrix operations</a>
|
||||
<li><a href="#orge543222">1. Matrix operations</a>
|
||||
<ul>
|
||||
<li><a href="#orgb6dbfca">1.1. <code>qmckl_transpose</code></a>
|
||||
<li><a href="#orgb03ecf8">1.1. <code>qmckl_transpose</code></a>
|
||||
<ul>
|
||||
<li><a href="#orge4b25e9">1.1.1. Requirements</a></li>
|
||||
<li><a href="#org7d85a84">1.1.2. C header</a></li>
|
||||
<li><a href="#orgd19fc6e">1.1.3. Source</a></li>
|
||||
<li><a href="#org8276e64">1.1.1. Requirements</a></li>
|
||||
<li><a href="#org9cc60c5">1.1.2. C header</a></li>
|
||||
<li><a href="#org96315b8">1.1.3. Source</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@ -348,18 +348,18 @@ for the JavaScript code in this tag.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0228b62" class="outline-2">
|
||||
<h2 id="org0228b62"><span class="section-number-2">1</span> Matrix operations</h2>
|
||||
<div id="outline-container-orge543222" class="outline-2">
|
||||
<h2 id="orge543222"><span class="section-number-2">1</span> Matrix operations</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
</div>
|
||||
<div id="outline-container-orgb6dbfca" class="outline-3">
|
||||
<h3 id="orgb6dbfca"><span class="section-number-3">1.1</span> <code>qmckl_transpose</code></h3>
|
||||
<div id="outline-container-orgb03ecf8" class="outline-3">
|
||||
<h3 id="orgb03ecf8"><span class="section-number-3">1.1</span> <code>qmckl_transpose</code></h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<p>
|
||||
Transposes a matrix: \(B_{ji} = A_{ij}\)
|
||||
</p>
|
||||
|
||||
<table id="org3a6b1ff" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgcf44103" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -424,8 +424,8 @@ Transposes a matrix: \(B_{ji} = A_{ij}\)
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge4b25e9" class="outline-4">
|
||||
<h4 id="orge4b25e9"><span class="section-number-4">1.1.1</span> Requirements</h4>
|
||||
<div id="outline-container-org8276e64" class="outline-4">
|
||||
<h4 id="org8276e64"><span class="section-number-4">1.1.1</span> Requirements</h4>
|
||||
<div class="outline-text-4" id="text-1-1-1">
|
||||
<ul class="org-ul">
|
||||
<li><code>context</code> is not <code>QMCKL_NULL_CONTEXT</code></li>
|
||||
@ -439,8 +439,8 @@ Transposes a matrix: \(B_{ji} = A_{ij}\)
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7d85a84" class="outline-4">
|
||||
<h4 id="org7d85a84"><span class="section-number-4">1.1.2</span> C header</h4>
|
||||
<div id="outline-container-org9cc60c5" class="outline-4">
|
||||
<h4 id="org9cc60c5"><span class="section-number-4">1.1.2</span> C header</h4>
|
||||
<div class="outline-text-4" id="text-1-1-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_transpose</span> (
|
||||
@ -456,8 +456,8 @@ Transposes a matrix: \(B_{ji} = A_{ij}\)
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd19fc6e" class="outline-4">
|
||||
<h4 id="orgd19fc6e"><span class="section-number-4">1.1.3</span> Source</h4>
|
||||
<div id="outline-container-org96315b8" class="outline-4">
|
||||
<h4 id="org96315b8"><span class="section-number-4">1.1.3</span> Source</h4>
|
||||
<div class="outline-text-4" id="text-1-1-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90"><span style="color: #228b22;">integer </span><span style="color: #a020f0;">function</span><span style="color: #a0522d;"> </span><span style="color: #0000ff;">qmckl_transpose_f</span><span style="color: #000000; background-color: #ffffff;">(context, m, n, A, LDA, B, LDB)</span><span style="color: #a0522d;"> </span><span style="color: #a020f0;">&</span>
|
||||
@ -516,7 +516,7 @@ Transposes a matrix: \(B_{ji} = A_{ij}\)
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2021-11-17 Wed 13:08</p>
|
||||
<p class="date">Created: 2021-11-17 Wed 13:13</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2021-11-17 Wed 13:08 -->
|
||||
<!-- 2021-11-17 Wed 13:13 -->
|
||||
<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="#orgb63b8c9">1. Verificarlo probes</a>
|
||||
<li><a href="#org1c9e202">1. Verificarlo probes</a>
|
||||
<ul>
|
||||
<li><a href="#org431fe6a">1.1. Automatically initialize the <code>vfc_probe</code> object if <code>VFC_CI</code> is defined</a></li>
|
||||
<li><a href="#org2183fb9">1.2. Standard probe, without check</a></li>
|
||||
<li><a href="#org480cd48">1.3. Probe with absolute check</a></li>
|
||||
<li><a href="#org1006476">1.4. Probe with relative check</a></li>
|
||||
<li><a href="#org4ab1ed9">1.5. Automatically delete and dump the vfc<sub>probe</sub> object if <code>VFC_CI</code> is defined</a></li>
|
||||
<li><a href="#orgfe8181a">1.1. Automatically initialize the <code>vfc_probe</code> object if <code>VFC_CI</code> is defined</a></li>
|
||||
<li><a href="#org387e294">1.2. Standard probe, without check</a></li>
|
||||
<li><a href="#org8ea92dd">1.3. Probe with absolute check</a></li>
|
||||
<li><a href="#orgf9c7c84">1.4. Probe with relative check</a></li>
|
||||
<li><a href="#org30eb2e5">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="#orgcf83a06">2. Fortran wrappers</a></li>
|
||||
<li><a href="#org5423b6f">2. Fortran wrappers</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb63b8c9" class="outline-2">
|
||||
<h2 id="orgb63b8c9"><span class="section-number-2">1</span> Verificarlo probes</h2>
|
||||
<div id="outline-container-org1c9e202" class="outline-2">
|
||||
<h2 id="org1c9e202"><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-org431fe6a" class="outline-3">
|
||||
<h3 id="org431fe6a"><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-orgfe8181a" class="outline-3">
|
||||
<h3 id="orgfe8181a"><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-org2183fb9" class="outline-3">
|
||||
<h3 id="org2183fb9"><span class="section-number-3">1.2</span> Standard probe, without check</h3>
|
||||
<div id="outline-container-org387e294" class="outline-3">
|
||||
<h3 id="org387e294"><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-org480cd48" class="outline-3">
|
||||
<h3 id="org480cd48"><span class="section-number-3">1.3</span> Probe with absolute check</h3>
|
||||
<div id="outline-container-org8ea92dd" class="outline-3">
|
||||
<h3 id="org8ea92dd"><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-org1006476" class="outline-3">
|
||||
<h3 id="org1006476"><span class="section-number-3">1.4</span> Probe with relative check</h3>
|
||||
<div id="outline-container-orgf9c7c84" class="outline-3">
|
||||
<h3 id="orgf9c7c84"><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-org4ab1ed9" class="outline-3">
|
||||
<h3 id="org4ab1ed9"><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-org30eb2e5" class="outline-3">
|
||||
<h3 id="org30eb2e5"><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-orgcf83a06" class="outline-2">
|
||||
<h2 id="orgcf83a06"><span class="section-number-2">2</span> Fortran wrappers</h2>
|
||||
<div id="outline-container-org5423b6f" class="outline-2">
|
||||
<h2 id="org5423b6f"><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: 2021-11-17 Wed 13:08</p>
|
||||
<p class="date">Created: 2021-11-17 Wed 13:13</p>
|
||||
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
Loading…
Reference in New Issue
Block a user