mirror of
https://github.com/TREX-CoE/qmckl.git
synced 2025-04-30 20:35:10 +02:00
Deploying to gh-pages from @ TREX-CoE/qmckl@f7f97dfc84 🚀
This commit is contained in:
parent
a32521e99e
commit
5446500fd8
@ -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>
|
||||
<!-- 2025-04-02 Wed 13:00 -->
|
||||
<!-- 2025-04-29 Tue 08:44 -->
|
||||
<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>
|
||||
@ -241,7 +241,9 @@ org_html_manager.setup(); // activate after the parameters are set
|
||||
<li><a href="./qmckl_determinant.html">Slater Determinant</a></li>
|
||||
<li><a href="./qmckl_sherman_morrison_woodbury.html">Sherman-Morrison-Woodbury</a></li>
|
||||
<li><a href="./qmckl_jastrow_champ.html">CHAMP Jastrow Factor</a></li>
|
||||
<li><a href="./qmckl_jastrow_champ_single.html">CHAMP Jastrow Factor Single</a></li>
|
||||
<li><a href="./qmckl_local_energy.html">Local Energy</a></li>
|
||||
<li><a href="./qmckl_forces.html">Forces</a></li>
|
||||
<li><a href="./qmckl_trexio.html">TREXIO I/O library</a></li>
|
||||
<li><a href="./qmckl_tests.html">Data for Tests</a></li>
|
||||
<li><a href="./qmckl_verificarlo.html">Verificarlo CI</a></li>
|
||||
@ -277,7 +279,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: 2025-04-02 Wed 13:00</p>
|
||||
<p class="date">Created: 2025-04-29 Tue 08:44</p>
|
||||
<p class="validation"><a href="https://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
120
qmckl.html
120
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>
|
||||
<!-- 2025-04-02 Wed 13:00 -->
|
||||
<!-- 2025-04-29 Tue 08:44 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Introduction</title>
|
||||
@ -258,36 +258,36 @@ org_html_manager.setup(); // activate after the parameters are set
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents" role="doc-toc">
|
||||
<ul>
|
||||
<li><a href="#orgf1940d4">1. Installing QMCkl</a>
|
||||
<li><a href="#orgebbd2fd">1. Installing QMCkl</a>
|
||||
<ul>
|
||||
<li><a href="#orgfabbab7">1.1. Installing from the released tarball (for end users)</a></li>
|
||||
<li><a href="#org0c86008">1.2. Installing from the source repository (for developers)</a></li>
|
||||
<li><a href="#org4a60d48">1.1. Installing from the released tarball (for end users)</a></li>
|
||||
<li><a href="#org425ff8d">1.2. Installing from the source repository (for developers)</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org94cb295">2. Using QMCkl</a></li>
|
||||
<li><a href="#org17b9621">3. Developing in QMCkl</a>
|
||||
<li><a href="#org5e20fba">2. Using QMCkl</a></li>
|
||||
<li><a href="#org5101a1f">3. Developing in QMCkl</a>
|
||||
<ul>
|
||||
<li><a href="#orga63fef0">3.1. Literate programming</a></li>
|
||||
<li><a href="#org3dde75e">3.2. Source code editing</a></li>
|
||||
<li><a href="#org6f55b81">3.3. Choice of the programming language</a></li>
|
||||
<li><a href="#org03c57b1">3.4. Coding rules</a></li>
|
||||
<li><a href="#org25c5abe">3.5. Design of the library</a></li>
|
||||
<li><a href="#org94b0f4a">3.6. Naming conventions</a></li>
|
||||
<li><a href="#org5603199">3.7. Application programming interface</a></li>
|
||||
<li><a href="#orgbbd2345">3.8. Global state</a></li>
|
||||
<li><a href="#org058ff3d">3.9. Headers</a></li>
|
||||
<li><a href="#orga620c22">3.10. Low-level functions</a></li>
|
||||
<li><a href="#org0567ce9">3.11. High-level functions</a></li>
|
||||
<li><a href="#org8d89b50">3.12. Numerical precision</a></li>
|
||||
<li><a href="#org4e07be2">3.13. Algorithms</a></li>
|
||||
<li><a href="#org7a2b599">3.1. Literate programming</a></li>
|
||||
<li><a href="#orgf39186c">3.2. Source code editing</a></li>
|
||||
<li><a href="#orgf5a7cad">3.3. Choice of the programming language</a></li>
|
||||
<li><a href="#org6d39854">3.4. Coding rules</a></li>
|
||||
<li><a href="#orgadee0ec">3.5. Design of the library</a></li>
|
||||
<li><a href="#orge481dec">3.6. Naming conventions</a></li>
|
||||
<li><a href="#org56c1bec">3.7. Application programming interface</a></li>
|
||||
<li><a href="#org46e7acf">3.8. Global state</a></li>
|
||||
<li><a href="#org3f18826">3.9. Headers</a></li>
|
||||
<li><a href="#org4c465ad">3.10. Low-level functions</a></li>
|
||||
<li><a href="#org339b12e">3.11. High-level functions</a></li>
|
||||
<li><a href="#org6477595">3.12. Numerical precision</a></li>
|
||||
<li><a href="#org3761ea3">3.13. Algorithms</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf1940d4" class="outline-2">
|
||||
<h2 id="orgf1940d4"><span class="section-number-2">1.</span> Installing QMCkl</h2>
|
||||
<div id="outline-container-orgebbd2fd" class="outline-2">
|
||||
<h2 id="orgebbd2fd"><span class="section-number-2">1.</span> Installing QMCkl</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
The latest version fo QMCkl can be downloaded
|
||||
@ -296,8 +296,8 @@ The latest version fo QMCkl can be downloaded
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgfabbab7" class="outline-3">
|
||||
<h3 id="orgfabbab7"><span class="section-number-3">1.1.</span> Installing from the released tarball (for end users)</h3>
|
||||
<div id="outline-container-org4a60d48" class="outline-3">
|
||||
<h3 id="org4a60d48"><span class="section-number-3">1.1.</span> Installing from the released tarball (for end users)</h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<p>
|
||||
QMCkl is built with GNU Autotools, so the usual
|
||||
@ -312,8 +312,8 @@ options are defined using <code>CFLAGS</code> and <code>FCFLAGS</code>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0c86008" class="outline-3">
|
||||
<h3 id="org0c86008"><span class="section-number-3">1.2.</span> Installing from the source repository (for developers)</h3>
|
||||
<div id="outline-container-org425ff8d" class="outline-3">
|
||||
<h3 id="org425ff8d"><span class="section-number-3">1.2.</span> Installing from the source repository (for developers)</h3>
|
||||
<div class="outline-text-3" id="text-1-2">
|
||||
<p>
|
||||
To compile from the source repository, additional dependencies are
|
||||
@ -334,8 +334,8 @@ to be executed first.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org94cb295" class="outline-2">
|
||||
<h2 id="org94cb295"><span class="section-number-2">2.</span> Using QMCkl</h2>
|
||||
<div id="outline-container-org5e20fba" class="outline-2">
|
||||
<h2 id="org5e20fba"><span class="section-number-2">2.</span> Using QMCkl</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
<p>
|
||||
The <code>qmckl.h</code> header file installed in the <code>${prefix}/include</code> directory
|
||||
@ -364,12 +364,12 @@ Both files are located in the <code>include/</code> directory.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org17b9621" class="outline-2">
|
||||
<h2 id="org17b9621"><span class="section-number-2">3.</span> Developing in QMCkl</h2>
|
||||
<div id="outline-container-org5101a1f" class="outline-2">
|
||||
<h2 id="org5101a1f"><span class="section-number-2">3.</span> Developing in QMCkl</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
</div>
|
||||
<div id="outline-container-orga63fef0" class="outline-3">
|
||||
<h3 id="orga63fef0"><span class="section-number-3">3.1.</span> Literate programming</h3>
|
||||
<div id="outline-container-org7a2b599" class="outline-3">
|
||||
<h3 id="org7a2b599"><span class="section-number-3">3.1.</span> Literate programming</h3>
|
||||
<div class="outline-text-3" id="text-3-1">
|
||||
<p>
|
||||
In a traditional source code, most of the lines of source files of a program
|
||||
@ -419,8 +419,8 @@ tarball contains the generated source code.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3dde75e" class="outline-3">
|
||||
<h3 id="org3dde75e"><span class="section-number-3">3.2.</span> Source code editing</h3>
|
||||
<div id="outline-container-orgf39186c" class="outline-3">
|
||||
<h3 id="orgf39186c"><span class="section-number-3">3.2.</span> Source code editing</h3>
|
||||
<div class="outline-text-3" id="text-3-2">
|
||||
<p>
|
||||
For a tutorial on literate programming with org-mode, follow <a href="http://www.howardism.org/Technical/Emacs/literate-programming-tutorial.html">this link</a>.
|
||||
@ -451,8 +451,8 @@ org-mode.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6f55b81" class="outline-3">
|
||||
<h3 id="org6f55b81"><span class="section-number-3">3.3.</span> Choice of the programming language</h3>
|
||||
<div id="outline-container-orgf5a7cad" class="outline-3">
|
||||
<h3 id="orgf5a7cad"><span class="section-number-3">3.3.</span> Choice of the programming language</h3>
|
||||
<div class="outline-text-3" id="text-3-3">
|
||||
<p>
|
||||
Most of the codes of the <a href="https://trex-coe.eu">TREX CoE</a> are written in Fortran with some
|
||||
@ -496,7 +496,7 @@ call directly the Fortran routines, but call instead the C binding
|
||||
function and an <code>iso_c_binding</code> is still required:
|
||||
</p>
|
||||
|
||||
<pre class="example" id="org570e5ab">
|
||||
<pre class="example" id="org4b8ce52">
|
||||
ISO_C_BINDING ISO_C_BINDING
|
||||
Fortran ---------------> C ---------------> Fortran
|
||||
</pre>
|
||||
@ -516,8 +516,8 @@ For more guidelines on using Fortran to generate a C interface, see
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org03c57b1" class="outline-3">
|
||||
<h3 id="org03c57b1"><span class="section-number-3">3.4.</span> Coding rules</h3>
|
||||
<div id="outline-container-org6d39854" class="outline-3">
|
||||
<h3 id="org6d39854"><span class="section-number-3">3.4.</span> Coding rules</h3>
|
||||
<div class="outline-text-3" id="text-3-4">
|
||||
<p>
|
||||
The authors should follow the recommendations of the C99
|
||||
@ -537,8 +537,8 @@ make cppcheck ; cat cppcheck.out
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org25c5abe" class="outline-3">
|
||||
<h3 id="org25c5abe"><span class="section-number-3">3.5.</span> Design of the library</h3>
|
||||
<div id="outline-container-orgadee0ec" class="outline-3">
|
||||
<h3 id="orgadee0ec"><span class="section-number-3">3.5.</span> Design of the library</h3>
|
||||
<div class="outline-text-3" id="text-3-5">
|
||||
<p>
|
||||
The proposed API should allow the library to: deal with memory transfers
|
||||
@ -549,8 +549,8 @@ functions (see below).
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org94b0f4a" class="outline-3">
|
||||
<h3 id="org94b0f4a"><span class="section-number-3">3.6.</span> Naming conventions</h3>
|
||||
<div id="outline-container-orge481dec" class="outline-3">
|
||||
<h3 id="orge481dec"><span class="section-number-3">3.6.</span> Naming conventions</h3>
|
||||
<div class="outline-text-3" id="text-3-6">
|
||||
<p>
|
||||
To avoid namespace collisions, we use <code>qmckl_</code> as a prefix for all exported
|
||||
@ -571,8 +571,8 @@ form is allowed.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5603199" class="outline-3">
|
||||
<h3 id="org5603199"><span class="section-number-3">3.7.</span> Application programming interface</h3>
|
||||
<div id="outline-container-org56c1bec" class="outline-3">
|
||||
<h3 id="org56c1bec"><span class="section-number-3">3.7.</span> Application programming interface</h3>
|
||||
<div class="outline-text-3" id="text-3-7">
|
||||
<p>
|
||||
In the C language, the number of bits used by the integer types can change
|
||||
@ -604,15 +604,15 @@ bindings in other languages in other repositories.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgbbd2345" class="outline-3">
|
||||
<h3 id="orgbbd2345"><span class="section-number-3">3.8.</span> Global state</h3>
|
||||
<div id="outline-container-org46e7acf" class="outline-3">
|
||||
<h3 id="org46e7acf"><span class="section-number-3">3.8.</span> Global state</h3>
|
||||
<div class="outline-text-3" id="text-3-8">
|
||||
<p>
|
||||
Global variables should be avoided in the library, because it is
|
||||
possible that one single program needs to use multiple instances
|
||||
of the library. To solve this problem we propose to use a pointer
|
||||
to a <a href="./qmckl_context.html"><code>context</code></a> variable, built by the library with the
|
||||
<code>qmckl_context_create</code> function. The <a id="org224ba9f"><code>context</code></a> contains the global
|
||||
<code>qmckl_context_create</code> function. The <a id="orgf7a4676"><code>context</code></a> contains the global
|
||||
state of the library, and is used as the first argument of many
|
||||
QMCkl functions.
|
||||
</p>
|
||||
@ -626,8 +626,8 @@ the state is done by setters and getters, prefixed by
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org058ff3d" class="outline-3">
|
||||
<h3 id="org058ff3d"><span class="section-number-3">3.9.</span> Headers</h3>
|
||||
<div id="outline-container-org3f18826" class="outline-3">
|
||||
<h3 id="org3f18826"><span class="section-number-3">3.9.</span> Headers</h3>
|
||||
<div class="outline-text-3" id="text-3-9">
|
||||
<p>
|
||||
A single <code>qmckl.h</code> header to be distributed by the library
|
||||
@ -715,8 +715,8 @@ and the types definitions should be written in the <code>*fh_type.f90</code> fil
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga620c22" class="outline-3">
|
||||
<h3 id="orga620c22"><span class="section-number-3">3.10.</span> Low-level functions</h3>
|
||||
<div id="outline-container-org4c465ad" class="outline-3">
|
||||
<h3 id="org4c465ad"><span class="section-number-3">3.10.</span> Low-level functions</h3>
|
||||
<div class="outline-text-3" id="text-3-10">
|
||||
<p>
|
||||
Low-level functions are very simple functions which are leaves of
|
||||
@ -725,14 +725,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="#org224ba9f"><code>context</code></a>. They are not allowed to allocate/deallocate memory, and
|
||||
<a href="#orgf7a4676"><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-org0567ce9" class="outline-3">
|
||||
<h3 id="org0567ce9"><span class="section-number-3">3.11.</span> High-level functions</h3>
|
||||
<div id="outline-container-org339b12e" class="outline-3">
|
||||
<h3 id="org339b12e"><span class="section-number-3">3.11.</span> High-level functions</h3>
|
||||
<div class="outline-text-3" id="text-3-11">
|
||||
<p>
|
||||
High-level functions are at the top of the function call tree.
|
||||
@ -744,8 +744,8 @@ temporary storage, to simplify the use of accelerators.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8d89b50" class="outline-3">
|
||||
<h3 id="org8d89b50"><span class="section-number-3">3.12.</span> Numerical precision</h3>
|
||||
<div id="outline-container-org6477595" class="outline-3">
|
||||
<h3 id="org6477595"><span class="section-number-3">3.12.</span> Numerical precision</h3>
|
||||
<div class="outline-text-3" id="text-3-12">
|
||||
<p>
|
||||
The minimal number of bits of precision required for a function
|
||||
@ -753,7 +753,7 @@ should be given as an input of low-level computational
|
||||
functions. This input will be used to define the values of the
|
||||
different thresholds that might be used to avoid computing
|
||||
unnecessary noise. High-level functions will use the precision
|
||||
specified in the <a href="#org224ba9f"><code>context</code></a> variable.
|
||||
specified in the <a href="#orgf7a4676"><code>context</code></a> variable.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
@ -821,8 +821,8 @@ following points :
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4e07be2" class="outline-3">
|
||||
<h3 id="org4e07be2"><span class="section-number-3">3.13.</span> Algorithms</h3>
|
||||
<div id="outline-container-org3761ea3" class="outline-3">
|
||||
<h3 id="org3761ea3"><span class="section-number-3">3.13.</span> Algorithms</h3>
|
||||
<div class="outline-text-3" id="text-3-13">
|
||||
<p>
|
||||
Reducing the scaling of an algorithm usually implies also reducing
|
||||
@ -838,7 +838,7 @@ implemented adapted to different problem sizes.
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2025-04-02 Wed 13:00</p>
|
||||
<p class="date">Created: 2025-04-29 Tue 08:44</p>
|
||||
<p class="validation"><a href="https://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
1015
qmckl_ao.html
1015
qmckl_ao.html
File diff suppressed because it is too large
Load Diff
184
qmckl_blas.html
184
qmckl_blas.html
@ -3,7 +3,7 @@
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
|
||||
<head>
|
||||
<!-- 2025-04-02 Wed 13:00 -->
|
||||
<!-- 2025-04-29 Tue 08:44 -->
|
||||
<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>
|
||||
@ -258,56 +258,56 @@ org_html_manager.setup(); // activate after the parameters are set
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents" role="doc-toc">
|
||||
<ul>
|
||||
<li><a href="#org0d03915">-</a></li>
|
||||
<li><a href="#org1d70898">1. Data types</a>
|
||||
<li><a href="#org49a9abd">-</a></li>
|
||||
<li><a href="#org0459a98">1. Data types</a>
|
||||
<ul>
|
||||
<li><a href="#org2d0021b">1.1. Vector</a></li>
|
||||
<li><a href="#orgdcc84d3">1.2. Matrix</a></li>
|
||||
<li><a href="#org4ca8ef3">1.3. Tensor</a></li>
|
||||
<li><a href="#org66c4b5b">1.4. Reshaping</a>
|
||||
<li><a href="#org4dc6554">1.1. Vector</a></li>
|
||||
<li><a href="#orgcfe413a">1.2. Matrix</a></li>
|
||||
<li><a href="#org23e46fe">1.3. Tensor</a></li>
|
||||
<li><a href="#orgb12d4be">1.4. Reshaping</a>
|
||||
<ul>
|
||||
<li><a href="#org83569c2">1.4.1. Vector -> Matrix</a></li>
|
||||
<li><a href="#org432486c">1.4.2. Vector -> Tensor</a></li>
|
||||
<li><a href="#org0d31d64">1.4.3. Matrix -> Vector</a></li>
|
||||
<li><a href="#orgce14a3f">1.4.4. Matrix -> Tensor</a></li>
|
||||
<li><a href="#org136de05">1.4.5. Tensor -> Vector</a></li>
|
||||
<li><a href="#orga9b1133">1.4.6. Tensor -> Matrix</a></li>
|
||||
<li><a href="#orgeefd6ae">1.4.1. Vector -> Matrix</a></li>
|
||||
<li><a href="#org6a0022b">1.4.2. Vector -> Tensor</a></li>
|
||||
<li><a href="#org7e21b54">1.4.3. Matrix -> Vector</a></li>
|
||||
<li><a href="#org2b8e1e3">1.4.4. Matrix -> Tensor</a></li>
|
||||
<li><a href="#orgf514ea6">1.4.5. Tensor -> Vector</a></li>
|
||||
<li><a href="#org185cc7b">1.4.6. Tensor -> Matrix</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org2dadc08">1.5. Access macros</a></li>
|
||||
<li><a href="#org398bd61">1.6. Set all elements</a>
|
||||
<li><a href="#org1e95735">1.5. Access macros</a></li>
|
||||
<li><a href="#org7f6fe46">1.6. Set all elements</a>
|
||||
<ul>
|
||||
<li><a href="#orgc02ea1a">1.6.1. Vector</a></li>
|
||||
<li><a href="#org49e51b5">1.6.2. Matrix</a></li>
|
||||
<li><a href="#orgc40a1c0">1.6.3. Tensor</a></li>
|
||||
<li><a href="#org144c9f3">1.6.1. Vector</a></li>
|
||||
<li><a href="#orgd6a414b">1.6.2. Matrix</a></li>
|
||||
<li><a href="#orga8b2f7b">1.6.3. Tensor</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org86f164b">1.7. Copy to/from to <code>double*</code></a></li>
|
||||
<li><a href="#orgba65b81">1.8. Allocate and copy to <code>double*</code></a></li>
|
||||
<li><a href="#org8f5b7f8">1.7. Copy to/from to <code>double*</code></a></li>
|
||||
<li><a href="#org0587979">1.8. Allocate and copy to <code>double*</code></a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org5e81426">2. Matrix operations</a>
|
||||
<li><a href="#orgebdf3d3">2. Matrix operations</a>
|
||||
<ul>
|
||||
<li><a href="#org4a51fe3">2.1. <code>qmckl_dgemm</code></a></li>
|
||||
<li><a href="#org8f7e161">2.2. <code>qmckl_dgemm_safe</code></a></li>
|
||||
<li><a href="#orgd609330">2.3. <code>qmckl_matmul</code></a></li>
|
||||
<li><a href="#org31c8433">2.4. <code>qmckl_adjugate</code></a></li>
|
||||
<li><a href="#orge6b6947">2.5. <code>qmckl_adjugate_safe</code></a>
|
||||
<li><a href="#org15744d6">2.1. <code>qmckl_dgemm</code></a></li>
|
||||
<li><a href="#orgd2e8c1c">2.2. <code>qmckl_dgemm_safe</code></a></li>
|
||||
<li><a href="#org45fed99">2.3. <code>qmckl_matmul</code></a></li>
|
||||
<li><a href="#orgbf19469">2.4. <code>qmckl_adjugate</code></a></li>
|
||||
<li><a href="#orgf9773b4">2.5. <code>qmckl_adjugate_safe</code></a>
|
||||
<ul>
|
||||
<li><a href="#orgc2885a7">2.5.1. C interface</a></li>
|
||||
<li><a href="#orgad14976">2.5.1. C interface</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org5880472">2.6. <code>qmckl_transpose</code></a></li>
|
||||
<li><a href="#orgcd1f4d8">2.6. <code>qmckl_transpose</code></a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgd221c08">3. Utilities</a></li>
|
||||
<li><a href="#org34fc937">3. Utilities</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0d03915" class="outline-2">
|
||||
<h2 id="org0d03915">-</h2>
|
||||
<div class="outline-text-2" id="text-org0d03915">
|
||||
<div id="outline-container-org49a9abd" class="outline-2">
|
||||
<h2 id="org49a9abd">-</h2>
|
||||
<div class="outline-text-2" id="text-org49a9abd">
|
||||
<p>
|
||||
Basic linear algebra data types and operations are described in this file.
|
||||
The data types are private, so that HPC implementations can use
|
||||
@ -321,12 +321,12 @@ are not intended to be passed to external codes.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1d70898" class="outline-2">
|
||||
<h2 id="org1d70898"><span class="section-number-2">1.</span> Data types</h2>
|
||||
<div id="outline-container-org0459a98" class="outline-2">
|
||||
<h2 id="org0459a98"><span class="section-number-2">1.</span> Data types</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
</div>
|
||||
<div id="outline-container-org2d0021b" class="outline-3">
|
||||
<h3 id="org2d0021b"><span class="section-number-3">1.1.</span> Vector</h3>
|
||||
<div id="outline-container-org4dc6554" class="outline-3">
|
||||
<h3 id="org4dc6554"><span class="section-number-3">1.1.</span> Vector</h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
@ -380,8 +380,8 @@ Allocates a new vector. If the allocation failed the size is zero.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgdcc84d3" class="outline-3">
|
||||
<h3 id="orgdcc84d3"><span class="section-number-3">1.2.</span> Matrix</h3>
|
||||
<div id="outline-container-orgcfe413a" class="outline-3">
|
||||
<h3 id="orgcfe413a"><span class="section-number-3">1.2.</span> Matrix</h3>
|
||||
<div class="outline-text-3" id="text-1-2">
|
||||
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
@ -441,8 +441,8 @@ Allocates a new matrix. If the allocation failed the sizes are zero.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4ca8ef3" class="outline-3">
|
||||
<h3 id="org4ca8ef3"><span class="section-number-3">1.3.</span> Tensor</h3>
|
||||
<div id="outline-container-org23e46fe" class="outline-3">
|
||||
<h3 id="org23e46fe"><span class="section-number-3">1.3.</span> Tensor</h3>
|
||||
<div class="outline-text-3" id="text-1-3">
|
||||
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
@ -509,16 +509,16 @@ is zero.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org66c4b5b" class="outline-3">
|
||||
<h3 id="org66c4b5b"><span class="section-number-3">1.4.</span> Reshaping</h3>
|
||||
<div id="outline-container-orgb12d4be" class="outline-3">
|
||||
<h3 id="orgb12d4be"><span class="section-number-3">1.4.</span> Reshaping</h3>
|
||||
<div class="outline-text-3" id="text-1-4">
|
||||
<p>
|
||||
Reshaping occurs in-place and the pointer to the data is copied.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org83569c2" class="outline-4">
|
||||
<h4 id="org83569c2"><span class="section-number-4">1.4.1.</span> Vector -> Matrix</h4>
|
||||
<div id="outline-container-orgeefd6ae" class="outline-4">
|
||||
<h4 id="orgeefd6ae"><span class="section-number-4">1.4.1.</span> Vector -> Matrix</h4>
|
||||
<div class="outline-text-4" id="text-1-4-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_matrix</span>
|
||||
@ -534,8 +534,8 @@ Reshapes a vector into a matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org432486c" class="outline-4">
|
||||
<h4 id="org432486c"><span class="section-number-4">1.4.2.</span> Vector -> Tensor</h4>
|
||||
<div id="outline-container-org6a0022b" class="outline-4">
|
||||
<h4 id="org6a0022b"><span class="section-number-4">1.4.2.</span> Vector -> Tensor</h4>
|
||||
<div class="outline-text-4" id="text-1-4-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_tensor</span>
|
||||
@ -551,8 +551,8 @@ Reshapes a vector into a tensor.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0d31d64" class="outline-4">
|
||||
<h4 id="org0d31d64"><span class="section-number-4">1.4.3.</span> Matrix -> Vector</h4>
|
||||
<div id="outline-container-org7e21b54" class="outline-4">
|
||||
<h4 id="org7e21b54"><span class="section-number-4">1.4.3.</span> Matrix -> Vector</h4>
|
||||
<div class="outline-text-4" id="text-1-4-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_vector</span>
|
||||
@ -566,8 +566,8 @@ Reshapes a matrix into a vector.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgce14a3f" class="outline-4">
|
||||
<h4 id="orgce14a3f"><span class="section-number-4">1.4.4.</span> Matrix -> Tensor</h4>
|
||||
<div id="outline-container-org2b8e1e3" class="outline-4">
|
||||
<h4 id="org2b8e1e3"><span class="section-number-4">1.4.4.</span> Matrix -> Tensor</h4>
|
||||
<div class="outline-text-4" id="text-1-4-4">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_tensor</span>
|
||||
@ -583,8 +583,8 @@ Reshapes a matrix into a tensor.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org136de05" class="outline-4">
|
||||
<h4 id="org136de05"><span class="section-number-4">1.4.5.</span> Tensor -> Vector</h4>
|
||||
<div id="outline-container-orgf514ea6" class="outline-4">
|
||||
<h4 id="orgf514ea6"><span class="section-number-4">1.4.5.</span> Tensor -> Vector</h4>
|
||||
<div class="outline-text-4" id="text-1-4-5">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_vector</span>
|
||||
@ -598,8 +598,8 @@ Reshapes a tensor into a vector.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga9b1133" class="outline-4">
|
||||
<h4 id="orga9b1133"><span class="section-number-4">1.4.6.</span> Tensor -> Matrix</h4>
|
||||
<div id="outline-container-org185cc7b" class="outline-4">
|
||||
<h4 id="org185cc7b"><span class="section-number-4">1.4.6.</span> Tensor -> Matrix</h4>
|
||||
<div class="outline-text-4" id="text-1-4-6">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_matrix</span>
|
||||
@ -616,8 +616,8 @@ Reshapes a tensor into a vector.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2dadc08" class="outline-3">
|
||||
<h3 id="org2dadc08"><span class="section-number-3">1.5.</span> Access macros</h3>
|
||||
<div id="outline-container-org1e95735" class="outline-3">
|
||||
<h3 id="org1e95735"><span class="section-number-3">1.5.</span> Access macros</h3>
|
||||
<div class="outline-text-3" id="text-1-5">
|
||||
<p>
|
||||
Macros are provided to ease the access to vectors, matrices and
|
||||
@ -642,12 +642,12 @@ For example:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org398bd61" class="outline-3">
|
||||
<h3 id="org398bd61"><span class="section-number-3">1.6.</span> Set all elements</h3>
|
||||
<div id="outline-container-org7f6fe46" class="outline-3">
|
||||
<h3 id="org7f6fe46"><span class="section-number-3">1.6.</span> Set all elements</h3>
|
||||
<div class="outline-text-3" id="text-1-6">
|
||||
</div>
|
||||
<div id="outline-container-orgc02ea1a" class="outline-4">
|
||||
<h4 id="orgc02ea1a"><span class="section-number-4">1.6.1.</span> Vector</h4>
|
||||
<div id="outline-container-org144c9f3" class="outline-4">
|
||||
<h4 id="org144c9f3"><span class="section-number-4">1.6.1.</span> Vector</h4>
|
||||
<div class="outline-text-4" id="text-1-6-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_vector</span>
|
||||
@ -657,8 +657,8 @@ For example:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org49e51b5" class="outline-4">
|
||||
<h4 id="org49e51b5"><span class="section-number-4">1.6.2.</span> Matrix</h4>
|
||||
<div id="outline-container-orgd6a414b" class="outline-4">
|
||||
<h4 id="orgd6a414b"><span class="section-number-4">1.6.2.</span> Matrix</h4>
|
||||
<div class="outline-text-4" id="text-1-6-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_matrix</span>
|
||||
@ -668,8 +668,8 @@ For example:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc40a1c0" class="outline-4">
|
||||
<h4 id="orgc40a1c0"><span class="section-number-4">1.6.3.</span> Tensor</h4>
|
||||
<div id="outline-container-orga8b2f7b" class="outline-4">
|
||||
<h4 id="orga8b2f7b"><span class="section-number-4">1.6.3.</span> Tensor</h4>
|
||||
<div class="outline-text-4" id="text-1-6-3">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_tensor</span>
|
||||
@ -680,8 +680,8 @@ For example:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org86f164b" class="outline-3">
|
||||
<h3 id="org86f164b"><span class="section-number-3">1.7.</span> Copy to/from to <code>double*</code></h3>
|
||||
<div id="outline-container-org8f5b7f8" class="outline-3">
|
||||
<h3 id="org8f5b7f8"><span class="section-number-3">1.7.</span> Copy to/from to <code>double*</code></h3>
|
||||
<div class="outline-text-3" id="text-1-7">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span>
|
||||
@ -763,8 +763,8 @@ Converts a <code>double*</code> to a tensor.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgba65b81" class="outline-3">
|
||||
<h3 id="orgba65b81"><span class="section-number-3">1.8.</span> Allocate and copy to <code>double*</code></h3>
|
||||
<div id="outline-container-org0587979" class="outline-3">
|
||||
<h3 id="org0587979"><span class="section-number-3">1.8.</span> Allocate and copy to <code>double*</code></h3>
|
||||
<div class="outline-text-3" id="text-1-8">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">double</span>* <span style="color: #0000ff;">qmckl_alloc_double_of_vector</span>(<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
@ -788,12 +788,12 @@ Converts a <code>double*</code> to a tensor.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5e81426" class="outline-2">
|
||||
<h2 id="org5e81426"><span class="section-number-2">2.</span> Matrix operations</h2>
|
||||
<div id="outline-container-orgebdf3d3" class="outline-2">
|
||||
<h2 id="orgebdf3d3"><span class="section-number-2">2.</span> Matrix operations</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-org4a51fe3" class="outline-3">
|
||||
<h3 id="org4a51fe3"><span class="section-number-3">2.1.</span> <code>qmckl_dgemm</code></h3>
|
||||
<div id="outline-container-org15744d6" class="outline-3">
|
||||
<h3 id="org15744d6"><span class="section-number-3">2.1.</span> <code>qmckl_dgemm</code></h3>
|
||||
<div class="outline-text-3" id="text-2-1">
|
||||
<p>
|
||||
Matrix multiplication with a BLAS interface:
|
||||
@ -805,7 +805,7 @@ Matrix multiplication with a BLAS interface:
|
||||
\]
|
||||
</p>
|
||||
|
||||
<table id="org938d365" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org24ed893" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -964,8 +964,8 @@ Requirements:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8f7e161" class="outline-3">
|
||||
<h3 id="org8f7e161"><span class="section-number-3">2.2.</span> <code>qmckl_dgemm_safe</code></h3>
|
||||
<div id="outline-container-orgd2e8c1c" class="outline-3">
|
||||
<h3 id="orgd2e8c1c"><span class="section-number-3">2.2.</span> <code>qmckl_dgemm_safe</code></h3>
|
||||
<div class="outline-text-3" id="text-2-2">
|
||||
<p>
|
||||
"Size-safe" proxy function with the same functionality as <code>qmckl_dgemm</code>
|
||||
@ -974,7 +974,7 @@ are required primarily for the Python API, where compatibility with
|
||||
NumPy arrays implies that sizes of the input and output arrays are provided.
|
||||
</p>
|
||||
|
||||
<table id="org2345e3a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orga80d861" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1160,8 +1160,8 @@ Requirements:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd609330" class="outline-3">
|
||||
<h3 id="orgd609330"><span class="section-number-3">2.3.</span> <code>qmckl_matmul</code></h3>
|
||||
<div id="outline-container-org45fed99" class="outline-3">
|
||||
<h3 id="org45fed99"><span class="section-number-3">2.3.</span> <code>qmckl_matmul</code></h3>
|
||||
<div class="outline-text-3" id="text-2-3">
|
||||
<p>
|
||||
Matrix multiplication using the <code>qmckl_matrix</code> data type:
|
||||
@ -1173,7 +1173,7 @@ Matrix multiplication using the <code>qmckl_matrix</code> data type:
|
||||
\]
|
||||
</p>
|
||||
|
||||
<table id="org9d646bc" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org52dedd2" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1267,8 +1267,8 @@ Matrix multiplication using the <code>qmckl_matrix</code> data type:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org31c8433" class="outline-3">
|
||||
<h3 id="org31c8433"><span class="section-number-3">2.4.</span> <code>qmckl_adjugate</code></h3>
|
||||
<div id="outline-container-orgbf19469" class="outline-3">
|
||||
<h3 id="orgbf19469"><span class="section-number-3">2.4.</span> <code>qmckl_adjugate</code></h3>
|
||||
<div class="outline-text-3" id="text-2-4">
|
||||
<p>
|
||||
Given a matrix \(\mathbf{A}\), the adjugate matrix
|
||||
@ -1286,7 +1286,7 @@ of \(\mathbf{A}\).
|
||||
See also: <a href="https://en.wikipedia.org/wiki/Adjugate_matrix">https://en.wikipedia.org/wiki/Adjugate_matrix</a>
|
||||
</p>
|
||||
|
||||
<table id="orga5e737e" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgf64b5aa" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1482,8 +1482,8 @@ determinant with the inverse:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge6b6947" class="outline-3">
|
||||
<h3 id="orge6b6947"><span class="section-number-3">2.5.</span> <code>qmckl_adjugate_safe</code></h3>
|
||||
<div id="outline-container-orgf9773b4" class="outline-3">
|
||||
<h3 id="orgf9773b4"><span class="section-number-3">2.5.</span> <code>qmckl_adjugate_safe</code></h3>
|
||||
<div class="outline-text-3" id="text-2-5">
|
||||
<p>
|
||||
"Size-safe" proxy function with the same functionality as <code>qmckl_adjugate</code>
|
||||
@ -1493,7 +1493,7 @@ NumPy arrays implies that sizes of the input and output arrays are provided.
|
||||
</p>
|
||||
|
||||
|
||||
<table id="orgf94e009" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org8a64feb" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1615,13 +1615,13 @@ LAPACK library.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc2885a7" class="outline-4">
|
||||
<h4 id="orgc2885a7"><span class="section-number-4">2.5.1.</span> C interface</h4>
|
||||
<div id="outline-container-orgad14976" class="outline-4">
|
||||
<h4 id="orgad14976"><span class="section-number-4">2.5.1.</span> C interface</h4>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5880472" class="outline-3">
|
||||
<h3 id="org5880472"><span class="section-number-3">2.6.</span> <code>qmckl_transpose</code></h3>
|
||||
<div id="outline-container-orgcd1f4d8" class="outline-3">
|
||||
<h3 id="orgcd1f4d8"><span class="section-number-3">2.6.</span> <code>qmckl_transpose</code></h3>
|
||||
<div class="outline-text-3" id="text-2-6">
|
||||
<p>
|
||||
Transposes a matrix: \(A^\dagger_{ji} = A_{ij}\).
|
||||
@ -1682,8 +1682,8 @@ Transposes a matrix: \(A^\dagger_{ji} = A_{ij}\).
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd221c08" class="outline-2">
|
||||
<h2 id="orgd221c08"><span class="section-number-2">3.</span> Utilities</h2>
|
||||
<div id="outline-container-org34fc937" class="outline-2">
|
||||
<h2 id="org34fc937"><span class="section-number-2">3.</span> Utilities</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
<p>
|
||||
Trick to make MKL efficient on AMD
|
||||
@ -1701,7 +1701,7 @@ Trick to make MKL efficient on AMD
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2025-04-02 Wed 13:00</p>
|
||||
<p class="date">Created: 2025-04-29 Tue 08:44</p>
|
||||
<p class="validation"><a href="https://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>
|
||||
<!-- 2025-04-02 Wed 13:00 -->
|
||||
<!-- 2025-04-29 Tue 08:44 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Context</title>
|
||||
@ -226,21 +226,25 @@ org_html_manager.setup(); // activate after the parameters are set
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents" role="doc-toc">
|
||||
<ul>
|
||||
<li><a href="#org93d8cc7">1. Context handling</a>
|
||||
<li><a href="#org377f8f9">1. Context handling</a>
|
||||
<ul>
|
||||
<li><a href="#org0890c08">1.1. Data structure</a></li>
|
||||
<li><a href="#orgb058905">1.2. Creation</a></li>
|
||||
<li><a href="#orga830742">1.3. Locking</a></li>
|
||||
<li><a href="#org1da93f5">1.4. <span class="todo TODO">TODO</span> Copy</a></li>
|
||||
<li><a href="#orgb77ddfc">1.5. Destroy</a></li>
|
||||
<li><a href="#org25237db">1.1. Data structure</a>
|
||||
<ul>
|
||||
<li><a href="#org3ae3b8e">1.1.1. Fortran binding</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org93acb32">1.2. Creation</a></li>
|
||||
<li><a href="#org90172c6">1.3. Locking</a></li>
|
||||
<li><a href="#org681e42c">1.4. <span class="todo TODO">TODO</span> Copy</a></li>
|
||||
<li><a href="#org6f6278d">1.5. Destroy</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org93d8cc7" class="outline-2">
|
||||
<h2 id="org93d8cc7"><span class="section-number-2">1.</span> Context handling</h2>
|
||||
<div id="outline-container-org377f8f9" class="outline-2">
|
||||
<h2 id="org377f8f9"><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,
|
||||
@ -253,7 +257,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="org4574247"><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="org8635d83"><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>
|
||||
@ -271,8 +275,8 @@ and <code>ctx</code> is a <code>qmckl_context_struct*</code> pointer.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0890c08" class="outline-3">
|
||||
<h3 id="org0890c08"><span class="section-number-3">1.1.</span> Data structure</h3>
|
||||
<div id="outline-container-org25237db" class="outline-3">
|
||||
<h3 id="org25237db"><span class="section-number-3">1.1.</span> Data structure</h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<p>
|
||||
The qmckl<sub>extra</sub> pointer lets the other implementation of the library
|
||||
@ -308,7 +312,7 @@ to be recomputed. The date is incremented when the context is touched.
|
||||
|
||||
<p>
|
||||
When a new element is added to the context, the functions
|
||||
<a href="#orgb058905"><code>qmckl_context_create</code></a> <a href="#orgb77ddfc"><code>qmckl_context_destroy</code></a> and <a href="#org1da93f5"><code>qmckl_context_copy</code></a>
|
||||
<a href="#org93acb32"><code>qmckl_context_create</code></a> <a href="#org6f6278d"><code>qmckl_context_destroy</code></a> and <a href="#org681e42c"><code>qmckl_context_copy</code></a>
|
||||
should be updated in order to make deep copies.
|
||||
</p>
|
||||
|
||||
@ -327,10 +331,15 @@ using the following function.
|
||||
This has the effect to increment the date of the context.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3ae3b8e" class="outline-4">
|
||||
<h4 id="org3ae3b8e"><span class="section-number-4">1.1.1.</span> Fortran binding</h4>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb058905" class="outline-3">
|
||||
<h3 id="orgb058905"><span class="section-number-3">1.2.</span> Creation</h3>
|
||||
|
||||
<div id="outline-container-org93acb32" class="outline-3">
|
||||
<h3 id="org93acb32"><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.
|
||||
@ -347,8 +356,8 @@ To create a new context, <code>qmckl_context_create()</code> should be used.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orga830742" class="outline-3">
|
||||
<h3 id="orga830742"><span class="section-number-3">1.3.</span> Locking</h3>
|
||||
<div id="outline-container-org90172c6" class="outline-3">
|
||||
<h3 id="org90172c6"><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
|
||||
@ -364,8 +373,8 @@ number of times the thread has locked it is saved in the
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org1da93f5" class="outline-3">
|
||||
<h3 id="org1da93f5"><span class="section-number-3">1.4.</span> <span class="todo TODO">TODO</span> Copy</h3>
|
||||
<div id="outline-container-org681e42c" class="outline-3">
|
||||
<h3 id="org681e42c"><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
|
||||
@ -373,8 +382,8 @@ number of times the thread has locked it is saved in the
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgb77ddfc" class="outline-3">
|
||||
<h3 id="orgb77ddfc"><span class="section-number-3">1.5.</span> Destroy</h3>
|
||||
<div id="outline-container-org6f6278d" class="outline-3">
|
||||
<h3 id="org6f6278d"><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.
|
||||
@ -392,7 +401,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: 2025-04-02 Wed 13:00</p>
|
||||
<p class="date">Created: 2025-04-29 Tue 08:44</p>
|
||||
<p class="validation"><a href="https://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>
|
||||
<!-- 2025-04-02 Wed 13:00 -->
|
||||
<!-- 2025-04-29 Tue 08:44 -->
|
||||
<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>
|
||||
@ -226,32 +226,32 @@ org_html_manager.setup(); // activate after the parameters are set
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents" role="doc-toc">
|
||||
<ul>
|
||||
<li><a href="#orgcd6a78e">1. Context</a>
|
||||
<li><a href="#org0f2743b">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#orgb56373b">1.1. Data structure</a></li>
|
||||
<li><a href="#org4cafc34">1.2. Access functions</a></li>
|
||||
<li><a href="#orgd1dc8b3">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org1891ba8">1.4. Fortran Interfaces</a></li>
|
||||
<li><a href="#orgcad4e4b">1.5. Test</a></li>
|
||||
<li><a href="#org7019415">1.1. Data structure</a></li>
|
||||
<li><a href="#orge5ca47c">1.2. Access functions</a></li>
|
||||
<li><a href="#orgb99d296">1.3. Initialization functions</a></li>
|
||||
<li><a href="#orgb30a00c">1.4. Fortran Interfaces</a></li>
|
||||
<li><a href="#org0a003e2">1.5. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org99759ab">2. Computation</a>
|
||||
<li><a href="#orgef9e31d">2. Computation</a>
|
||||
<ul>
|
||||
<li><a href="#orgeb0ca9d">2.1. Determinant matrix</a>
|
||||
<li><a href="#orgdbd9425">2.1. Determinant matrix</a>
|
||||
<ul>
|
||||
<li><a href="#orgfbac1a1">2.1.1. Get</a></li>
|
||||
<li><a href="#org475cc1e">2.1.2. Provide</a></li>
|
||||
<li><a href="#orgedc29f2">2.1.3. Compute alpha</a></li>
|
||||
<li><a href="#org709c6c2">2.1.4. Compute beta</a></li>
|
||||
<li><a href="#orgafa0b5f">2.1.5. Test</a></li>
|
||||
<li><a href="#orgbce596a">2.1.1. Get</a></li>
|
||||
<li><a href="#orgb7302d1">2.1.2. Provide</a></li>
|
||||
<li><a href="#org9dba54d">2.1.3. Compute alpha</a></li>
|
||||
<li><a href="#org2340752">2.1.4. Compute beta</a></li>
|
||||
<li><a href="#org682256b">2.1.5. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org9a1f069">2.2. Inverse of Determinant matrix</a>
|
||||
<li><a href="#org18719e5">2.2. Inverse of Determinant matrix</a>
|
||||
<ul>
|
||||
<li><a href="#org4326dea">2.2.1. Get</a></li>
|
||||
<li><a href="#orgf102252">2.2.2. Provide</a></li>
|
||||
<li><a href="#org4ff2283">2.2.3. Compute alpha</a></li>
|
||||
<li><a href="#org1296b6c">2.2.4. Compute beta</a></li>
|
||||
<li><a href="#org6a5914e">2.2.1. Get</a></li>
|
||||
<li><a href="#org6c13463">2.2.2. Provide</a></li>
|
||||
<li><a href="#org0cae1cd">2.2.3. Compute alpha</a></li>
|
||||
<li><a href="#org8b4b7c6">2.2.4. Compute beta</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@ -260,8 +260,8 @@ org_html_manager.setup(); // activate after the parameters are set
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgcd6a78e" class="outline-2">
|
||||
<h2 id="orgcd6a78e"><span class="section-number-2">1.</span> Context</h2>
|
||||
<div id="outline-container-org0f2743b" class="outline-2">
|
||||
<h2 id="org0f2743b"><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:
|
||||
@ -437,8 +437,8 @@ Computed data:
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb56373b" class="outline-3">
|
||||
<h3 id="orgb56373b"><span class="section-number-3">1.1.</span> Data structure</h3>
|
||||
<div id="outline-container-org7019415" class="outline-3">
|
||||
<h3 id="org7019415"><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> {
|
||||
@ -506,8 +506,8 @@ this mechanism.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4cafc34" class="outline-3">
|
||||
<h3 id="org4cafc34"><span class="section-number-3">1.2.</span> Access functions</h3>
|
||||
<div id="outline-container-orge5ca47c" class="outline-3">
|
||||
<h3 id="orge5ca47c"><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
|
||||
@ -521,8 +521,8 @@ function returns <code>true</code>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd1dc8b3" class="outline-3">
|
||||
<h3 id="orgd1dc8b3"><span class="section-number-3">1.3.</span> Initialization functions</h3>
|
||||
<div id="outline-container-orgb99d296" class="outline-3">
|
||||
<h3 id="orgb99d296"><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
|
||||
@ -545,24 +545,24 @@ computed to accelerate the calculations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1891ba8" class="outline-3">
|
||||
<h3 id="org1891ba8"><span class="section-number-3">1.4.</span> Fortran Interfaces</h3>
|
||||
<div id="outline-container-orgb30a00c" class="outline-3">
|
||||
<h3 id="orgb30a00c"><span class="section-number-3">1.4.</span> Fortran Interfaces</h3>
|
||||
</div>
|
||||
<div id="outline-container-orgcad4e4b" class="outline-3">
|
||||
<h3 id="orgcad4e4b"><span class="section-number-3">1.5.</span> Test</h3>
|
||||
<div id="outline-container-org0a003e2" class="outline-3">
|
||||
<h3 id="org0a003e2"><span class="section-number-3">1.5.</span> Test</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org99759ab" class="outline-2">
|
||||
<h2 id="org99759ab"><span class="section-number-2">2.</span> Computation</h2>
|
||||
<div id="outline-container-orgef9e31d" class="outline-2">
|
||||
<h2 id="orgef9e31d"><span class="section-number-2">2.</span> Computation</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-orgeb0ca9d" class="outline-3">
|
||||
<h3 id="orgeb0ca9d"><span class="section-number-3">2.1.</span> Determinant matrix</h3>
|
||||
<div id="outline-container-orgdbd9425" class="outline-3">
|
||||
<h3 id="orgdbd9425"><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-orgfbac1a1" class="outline-4">
|
||||
<h4 id="orgfbac1a1"><span class="section-number-4">2.1.1.</span> Get</h4>
|
||||
<div id="outline-container-orgbce596a" class="outline-4">
|
||||
<h4 id="orgbce596a"><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>);
|
||||
@ -572,14 +572,14 @@ computed to accelerate the calculations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org475cc1e" class="outline-4">
|
||||
<h4 id="org475cc1e"><span class="section-number-4">2.1.2.</span> Provide</h4>
|
||||
<div id="outline-container-orgb7302d1" class="outline-4">
|
||||
<h4 id="orgb7302d1"><span class="section-number-4">2.1.2.</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgedc29f2" class="outline-4">
|
||||
<h4 id="orgedc29f2"><span class="section-number-4">2.1.3.</span> Compute alpha</h4>
|
||||
<div id="outline-container-org9dba54d" class="outline-4">
|
||||
<h4 id="org9dba54d"><span class="section-number-4">2.1.3.</span> Compute alpha</h4>
|
||||
<div class="outline-text-4" id="text-2-1-3">
|
||||
<table id="org981bdd9" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org42bf8be" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -753,10 +753,10 @@ computed to accelerate the calculations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org709c6c2" class="outline-4">
|
||||
<h4 id="org709c6c2"><span class="section-number-4">2.1.4.</span> Compute beta</h4>
|
||||
<div id="outline-container-org2340752" class="outline-4">
|
||||
<h4 id="org2340752"><span class="section-number-4">2.1.4.</span> Compute beta</h4>
|
||||
<div class="outline-text-4" id="text-2-1-4">
|
||||
<table id="org134bca1" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgd4d6262" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -930,18 +930,18 @@ computed to accelerate the calculations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgafa0b5f" class="outline-4">
|
||||
<h4 id="orgafa0b5f"><span class="section-number-4">2.1.5.</span> Test</h4>
|
||||
<div id="outline-container-org682256b" class="outline-4">
|
||||
<h4 id="org682256b"><span class="section-number-4">2.1.5.</span> Test</h4>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9a1f069" class="outline-3">
|
||||
<h3 id="org9a1f069"><span class="section-number-3">2.2.</span> Inverse of Determinant matrix</h3>
|
||||
<div id="outline-container-org18719e5" class="outline-3">
|
||||
<h3 id="org18719e5"><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-org4326dea" class="outline-4">
|
||||
<h4 id="org4326dea"><span class="section-number-4">2.2.1.</span> Get</h4>
|
||||
<div id="outline-container-org6a5914e" class="outline-4">
|
||||
<h4 id="org6a5914e"><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>);
|
||||
@ -955,14 +955,14 @@ computed to accelerate the calculations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf102252" class="outline-4">
|
||||
<h4 id="orgf102252"><span class="section-number-4">2.2.2.</span> Provide</h4>
|
||||
<div id="outline-container-org6c13463" class="outline-4">
|
||||
<h4 id="org6c13463"><span class="section-number-4">2.2.2.</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4ff2283" class="outline-4">
|
||||
<h4 id="org4ff2283"><span class="section-number-4">2.2.3.</span> Compute alpha</h4>
|
||||
<div id="outline-container-org0cae1cd" class="outline-4">
|
||||
<h4 id="org0cae1cd"><span class="section-number-4">2.2.3.</span> Compute alpha</h4>
|
||||
<div class="outline-text-4" id="text-2-2-3">
|
||||
<table id="org9ec5fc0" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orga014845" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1124,10 +1124,10 @@ computed to accelerate the calculations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1296b6c" class="outline-4">
|
||||
<h4 id="org1296b6c"><span class="section-number-4">2.2.4.</span> Compute beta</h4>
|
||||
<div id="outline-container-org8b4b7c6" class="outline-4">
|
||||
<h4 id="org8b4b7c6"><span class="section-number-4">2.2.4.</span> Compute beta</h4>
|
||||
<div class="outline-text-4" id="text-2-2-4">
|
||||
<table id="orgf867b06" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org6e26297" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1294,7 +1294,7 @@ computed to accelerate the calculations.
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2025-04-02 Wed 13:00</p>
|
||||
<p class="date">Created: 2025-04-29 Tue 08:44</p>
|
||||
<p class="validation"><a href="https://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>
|
||||
<!-- 2025-04-02 Wed 13:00 -->
|
||||
<!-- 2025-04-29 Tue 08:44 -->
|
||||
<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>
|
||||
@ -258,54 +258,54 @@ org_html_manager.setup(); // activate after the parameters are set
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents" role="doc-toc">
|
||||
<ul>
|
||||
<li><a href="#org42da295">1. Squared distance</a>
|
||||
<li><a href="#orgd12afd3">1. Squared distance</a>
|
||||
<ul>
|
||||
<li><a href="#org919822c">1.1. <code>qmckl_distance_sq</code></a>
|
||||
<li><a href="#orgf44467f">1.1. <code>qmckl_distance_sq</code></a>
|
||||
<ul>
|
||||
<li><a href="#org854adcd">1.1.1. Performance</a></li>
|
||||
<li><a href="#org3996e2a">1.1.1. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgeaf6c92">2. Distance</a>
|
||||
<li><a href="#org31e63c6">2. Distance</a>
|
||||
<ul>
|
||||
<li><a href="#org4102c0a">2.1. <code>qmckl_distance</code></a>
|
||||
<li><a href="#org9e56505">2.1. <code>qmckl_distance</code></a>
|
||||
<ul>
|
||||
<li><a href="#org54a1a2b">2.1.1. Requirements</a></li>
|
||||
<li><a href="#org9b28760">2.1.2. C header</a></li>
|
||||
<li><a href="#orgb4ac21d">2.1.3. Source</a></li>
|
||||
<li><a href="#orgf2fe12c">2.1.4. Performance</a></li>
|
||||
<li><a href="#org676a534">2.1.1. Requirements</a></li>
|
||||
<li><a href="#orgcca461a">2.1.2. C header</a></li>
|
||||
<li><a href="#org0622776">2.1.3. Source</a></li>
|
||||
<li><a href="#org521329d">2.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgb0d3551">3. Rescaled Distance</a>
|
||||
<li><a href="#orgcc8a08d">3. Rescaled Distance</a>
|
||||
<ul>
|
||||
<li><a href="#orgdf56b0b">3.1. <code>qmckl_distance_rescaled</code></a>
|
||||
<li><a href="#org9bb806f">3.1. <code>qmckl_distance_rescaled</code></a>
|
||||
<ul>
|
||||
<li><a href="#org4f1acff">3.1.1. Requirements</a></li>
|
||||
<li><a href="#org7bf3011">3.1.2. C header</a></li>
|
||||
<li><a href="#org76fefe9">3.1.3. Source</a></li>
|
||||
<li><a href="#org9a4ed3f">3.1.4. Performance</a></li>
|
||||
<li><a href="#orgc0cfb39">3.1.1. Requirements</a></li>
|
||||
<li><a href="#org4aafa08">3.1.2. C header</a></li>
|
||||
<li><a href="#org4f8c847">3.1.3. Source</a></li>
|
||||
<li><a href="#org435bcf3">3.1.4. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgebc7174">4. Rescaled Distance Derivatives</a>
|
||||
<li><a href="#orgd72cafc">4. Rescaled Distance Derivatives</a>
|
||||
<ul>
|
||||
<li><a href="#orgc72dd26">4.1. <code>qmckl_distance_rescaled_gl</code></a></li>
|
||||
<li><a href="#org77cae89">4.1. <code>qmckl_distance_rescaled_gl</code></a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org42da295" class="outline-2">
|
||||
<h2 id="org42da295"><span class="section-number-2">1.</span> Squared distance</h2>
|
||||
<div id="outline-container-orgd12afd3" class="outline-2">
|
||||
<h2 id="orgd12afd3"><span class="section-number-2">1.</span> Squared distance</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
</div>
|
||||
<div id="outline-container-org919822c" class="outline-3">
|
||||
<h3 id="org919822c"><span class="section-number-3">1.1.</span> <code>qmckl_distance_sq</code></h3>
|
||||
<div id="outline-container-orgf44467f" class="outline-3">
|
||||
<h3 id="orgf44467f"><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
|
||||
@ -318,7 +318,7 @@ between all pairs of points in two sets, one point within each set:
|
||||
\]
|
||||
</p>
|
||||
|
||||
<table id="org0e69bff" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org0c5c37b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -590,8 +590,8 @@ Requirements:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org854adcd" class="outline-4">
|
||||
<h4 id="org854adcd"><span class="section-number-4">1.1.1.</span> Performance</h4>
|
||||
<div id="outline-container-org3996e2a" class="outline-4">
|
||||
<h4 id="org3996e2a"><span class="section-number-4">1.1.1.</span> Performance</h4>
|
||||
<div class="outline-text-4" id="text-1-1-1">
|
||||
<p>
|
||||
This function is more efficient when <code>A</code> and <code>B</code> are
|
||||
@ -601,12 +601,12 @@ transposed.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgeaf6c92" class="outline-2">
|
||||
<h2 id="orgeaf6c92"><span class="section-number-2">2.</span> Distance</h2>
|
||||
<div id="outline-container-org31e63c6" class="outline-2">
|
||||
<h2 id="org31e63c6"><span class="section-number-2">2.</span> Distance</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-org4102c0a" class="outline-3">
|
||||
<h3 id="org4102c0a"><span class="section-number-3">2.1.</span> <code>qmckl_distance</code></h3>
|
||||
<div id="outline-container-org9e56505" class="outline-3">
|
||||
<h3 id="org9e56505"><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
|
||||
@ -624,7 +624,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="org51ef5c2" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgd1ac06f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -725,8 +725,8 @@ the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortra
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org54a1a2b" class="outline-4">
|
||||
<h4 id="org54a1a2b"><span class="section-number-4">2.1.1.</span> Requirements</h4>
|
||||
<div id="outline-container-org676a534" class="outline-4">
|
||||
<h4 id="org676a534"><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>
|
||||
@ -744,8 +744,8 @@ the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortra
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9b28760" class="outline-4">
|
||||
<h4 id="org9b28760"><span class="section-number-4">2.1.2.</span> C header</h4>
|
||||
<div id="outline-container-orgcca461a" class="outline-4">
|
||||
<h4 id="orgcca461a"><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> (
|
||||
@ -765,8 +765,8 @@ the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortra
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb4ac21d" class="outline-4">
|
||||
<h4 id="orgb4ac21d"><span class="section-number-4">2.1.3.</span> Source</h4>
|
||||
<div id="outline-container-org0622776" class="outline-4">
|
||||
<h4 id="org0622776"><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: #a020f0;">function</span> <span style="color: #0000ff;">qmckl_distance</span>(context, transa, transb, m, n, <span style="color: #a020f0;">&</span>
|
||||
@ -916,8 +916,8 @@ the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortra
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf2fe12c" class="outline-4">
|
||||
<h4 id="orgf2fe12c"><span class="section-number-4">2.1.4.</span> Performance</h4>
|
||||
<div id="outline-container-org521329d" class="outline-4">
|
||||
<h4 id="org521329d"><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.
|
||||
@ -927,12 +927,12 @@ This function is more efficient when <code>A</code> and <code>B</code> are trans
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb0d3551" class="outline-2">
|
||||
<h2 id="orgb0d3551"><span class="section-number-2">3.</span> Rescaled Distance</h2>
|
||||
<div id="outline-container-orgcc8a08d" class="outline-2">
|
||||
<h2 id="orgcc8a08d"><span class="section-number-2">3.</span> Rescaled Distance</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
</div>
|
||||
<div id="outline-container-orgdf56b0b" class="outline-3">
|
||||
<h3 id="orgdf56b0b"><span class="section-number-3">3.1.</span> <code>qmckl_distance_rescaled</code></h3>
|
||||
<div id="outline-container-org9bb806f" class="outline-3">
|
||||
<h3 id="org9bb806f"><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
|
||||
@ -950,7 +950,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="org7b52674" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org4422481" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1058,8 +1058,8 @@ the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortra
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4f1acff" class="outline-4">
|
||||
<h4 id="org4f1acff"><span class="section-number-4">3.1.1.</span> Requirements</h4>
|
||||
<div id="outline-container-orgc0cfb39" class="outline-4">
|
||||
<h4 id="orgc0cfb39"><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>
|
||||
@ -1077,8 +1077,8 @@ the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortra
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7bf3011" class="outline-4">
|
||||
<h4 id="org7bf3011"><span class="section-number-4">3.1.2.</span> C header</h4>
|
||||
<div id="outline-container-org4aafa08" class="outline-4">
|
||||
<h4 id="org4aafa08"><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> (
|
||||
@ -1099,8 +1099,8 @@ the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortra
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org76fefe9" class="outline-4">
|
||||
<h4 id="org76fefe9"><span class="section-number-4">3.1.3.</span> Source</h4>
|
||||
<div id="outline-container-org4f8c847" class="outline-4">
|
||||
<h4 id="org4f8c847"><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: #a020f0;">function</span> <span style="color: #0000ff;">qmckl_distance_rescaled</span>(context, transa, transb, m, n, <span style="color: #a020f0;">&</span>
|
||||
@ -1253,8 +1253,8 @@ the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortra
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9a4ed3f" class="outline-4">
|
||||
<h4 id="org9a4ed3f"><span class="section-number-4">3.1.4.</span> Performance</h4>
|
||||
<div id="outline-container-org435bcf3" class="outline-4">
|
||||
<h4 id="org435bcf3"><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.
|
||||
@ -1263,12 +1263,12 @@ This function is more efficient when <code>A</code> and <code>B</code> are trans
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgebc7174" class="outline-2">
|
||||
<h2 id="orgebc7174"><span class="section-number-2">4.</span> Rescaled Distance Derivatives</h2>
|
||||
<div id="outline-container-orgd72cafc" class="outline-2">
|
||||
<h2 id="orgd72cafc"><span class="section-number-2">4.</span> Rescaled Distance Derivatives</h2>
|
||||
<div class="outline-text-2" id="text-4">
|
||||
</div>
|
||||
<div id="outline-container-orgc72dd26" class="outline-3">
|
||||
<h3 id="orgc72dd26"><span class="section-number-3">4.1.</span> <code>qmckl_distance_rescaled_gl</code></h3>
|
||||
<div id="outline-container-org77cae89" class="outline-3">
|
||||
<h3 id="org77cae89"><span class="section-number-3">4.1.</span> <code>qmckl_distance_rescaled_gl</code></h3>
|
||||
<div class="outline-text-3" id="text-4-1">
|
||||
<p>
|
||||
<code>qmckl_distance_rescaled_gl</code> computes the matrix of the gradient and Laplacian of the
|
||||
@ -1323,7 +1323,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="org1523fef" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org664922a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1643,7 +1643,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: 2025-04-02 Wed 13:00</p>
|
||||
<p class="date">Created: 2025-04-29 Tue 08:44</p>
|
||||
<p class="validation"><a href="https://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>
|
||||
<!-- 2025-04-02 Wed 13:00 -->
|
||||
<!-- 2025-04-29 Tue 08:44 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Electrons</title>
|
||||
@ -258,59 +258,59 @@ org_html_manager.setup(); // activate after the parameters are set
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents" role="doc-toc">
|
||||
<ul>
|
||||
<li><a href="#org9eae245">1. Context</a>
|
||||
<li><a href="#orgec509a0">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#org475e517">1.1. Data structure</a></li>
|
||||
<li><a href="#orga576396">1.2. Initialization functions</a></li>
|
||||
<li><a href="#orgf943bc3">1.3. Access functions</a>
|
||||
<li><a href="#org846a2da">1.1. Data structure</a></li>
|
||||
<li><a href="#org15d8ab0">1.2. Initialization functions</a></li>
|
||||
<li><a href="#org238b1f4">1.3. Access functions</a>
|
||||
<ul>
|
||||
<li><a href="#org0adcc02">1.3.1. Number of electrons</a></li>
|
||||
<li><a href="#org2345a01">1.3.2. Number of walkers</a></li>
|
||||
<li><a href="#org2097d84">1.3.3. Electron coordinates</a></li>
|
||||
<li><a href="#org17ef5b7">1.3.1. Number of electrons</a></li>
|
||||
<li><a href="#orgb70242c">1.3.2. Number of walkers</a></li>
|
||||
<li><a href="#org26b4763">1.3.3. Electron coordinates</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org9c0b5a5">1.4. Test</a></li>
|
||||
<li><a href="#org0a5b99f">1.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orga40fbd1">2. Computation</a>
|
||||
<li><a href="#org4b91463">2. Computation</a>
|
||||
<ul>
|
||||
<li><a href="#orgae6a876">2.1. Electron-electron distances</a>
|
||||
<li><a href="#orgc5915d9">2.1. Electron-electron distances</a>
|
||||
<ul>
|
||||
<li><a href="#org42bca18">2.1.1. Get</a></li>
|
||||
<li><a href="#orgc4d16a6">2.1.2. Compute</a></li>
|
||||
<li><a href="#org289e13b">2.1.3. Test</a></li>
|
||||
<li><a href="#org90cbd49">2.1.1. Get</a></li>
|
||||
<li><a href="#org0ecef4b">2.1.2. Compute</a></li>
|
||||
<li><a href="#org89a2249">2.1.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orge045e95">2.2. Electron-electron potential</a>
|
||||
<li><a href="#orgcf52e01">2.2. Electron-electron potential</a>
|
||||
<ul>
|
||||
<li><a href="#org7ec3073">2.2.1. Get</a></li>
|
||||
<li><a href="#org440e111">2.2.2. Compute</a></li>
|
||||
<li><a href="#orgbf2b156">2.2.3. Test</a></li>
|
||||
<li><a href="#orgc869020">2.2.1. Get</a></li>
|
||||
<li><a href="#org9ff9bcc">2.2.2. Compute</a></li>
|
||||
<li><a href="#orgf21e0ce">2.2.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org26208cc">2.3. Electron-nucleus distances</a>
|
||||
<li><a href="#org6d5c455">2.3. Electron-nucleus distances</a>
|
||||
<ul>
|
||||
<li><a href="#org7814aa2">2.3.1. Get</a></li>
|
||||
<li><a href="#org971280c">2.3.2. Compute</a></li>
|
||||
<li><a href="#org49ec297">2.3.3. Test</a></li>
|
||||
<li><a href="#org6792e04">2.3.1. Get</a></li>
|
||||
<li><a href="#org91c0ee3">2.3.2. Compute</a></li>
|
||||
<li><a href="#orge6e5bb5">2.3.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org5e2270d">2.4. Electron-nucleus potential</a>
|
||||
<li><a href="#org5aae315">2.4. Electron-nucleus potential</a>
|
||||
<ul>
|
||||
<li><a href="#orga1dad01">2.4.1. Get</a></li>
|
||||
<li><a href="#org5b32451">2.4.2. Compute</a></li>
|
||||
<li><a href="#org0741992">2.4.3. Test</a></li>
|
||||
<li><a href="#orgdfed257">2.4.1. Get</a></li>
|
||||
<li><a href="#orgf2cc7ae">2.4.2. Compute</a></li>
|
||||
<li><a href="#org57467b2">2.4.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org3fdee85">2.5. Generate initial coordinates</a></li>
|
||||
<li><a href="#org289856b">2.5. Generate initial coordinates</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9eae245" class="outline-2">
|
||||
<h2 id="org9eae245"><span class="section-number-2">1.</span> Context</h2>
|
||||
<div id="outline-container-orgec509a0" class="outline-2">
|
||||
<h2 id="orgec509a0"><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:
|
||||
@ -451,8 +451,8 @@ Computed data:
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org475e517" class="outline-3">
|
||||
<h3 id="org475e517"><span class="section-number-3">1.1.</span> Data structure</h3>
|
||||
<div id="outline-container-org846a2da" class="outline-3">
|
||||
<h3 id="org846a2da"><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">
|
||||
@ -521,8 +521,8 @@ this mechanism.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga576396" class="outline-3">
|
||||
<h3 id="orga576396"><span class="section-number-3">1.2.</span> Initialization functions</h3>
|
||||
<div id="outline-container-org15d8ab0" class="outline-3">
|
||||
<h3 id="org15d8ab0"><span class="section-number-3">1.2.</span> Initialization functions</h3>
|
||||
<div class="outline-text-3" id="text-1-2">
|
||||
<p>
|
||||
To set the data relative to the electrons in the context, the
|
||||
@ -595,8 +595,8 @@ in the context.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf943bc3" class="outline-3">
|
||||
<h3 id="orgf943bc3"><span class="section-number-3">1.3.</span> Access functions</h3>
|
||||
<div id="outline-container-org238b1f4" class="outline-3">
|
||||
<h3 id="org238b1f4"><span class="section-number-3">1.3.</span> Access functions</h3>
|
||||
<div class="outline-text-3" id="text-1-3">
|
||||
<p>
|
||||
Access functions return <code>QMCKL_SUCCESS</code> when the data has been
|
||||
@ -608,12 +608,12 @@ contains the requested data. Otherwise, this variable is untouched.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0adcc02" class="outline-4">
|
||||
<h4 id="org0adcc02"><span class="section-number-4">1.3.1.</span> Number of electrons</h4>
|
||||
<div id="outline-container-org17ef5b7" class="outline-4">
|
||||
<h4 id="org17ef5b7"><span class="section-number-4">1.3.1.</span> Number of electrons</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2345a01" class="outline-4">
|
||||
<h4 id="org2345a01"><span class="section-number-4">1.3.2.</span> Number of walkers</h4>
|
||||
<div id="outline-container-orgb70242c" class="outline-4">
|
||||
<h4 id="orgb70242c"><span class="section-number-4">1.3.2.</span> Number of walkers</h4>
|
||||
<div class="outline-text-4" id="text-1-3-2">
|
||||
<p>
|
||||
A walker is a set of electron coordinates that are arguments of
|
||||
@ -622,8 +622,8 @@ the wave function. <code>walk_num</code> is the number of walkers.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2097d84" class="outline-4">
|
||||
<h4 id="org2097d84"><span class="section-number-4">1.3.3.</span> Electron coordinates</h4>
|
||||
<div id="outline-container-org26b4763" class="outline-4">
|
||||
<h4 id="org26b4763"><span class="section-number-4">1.3.3.</span> Electron coordinates</h4>
|
||||
<div class="outline-text-4" id="text-1-3-3">
|
||||
<p>
|
||||
Returns the current electron coordinates. The pointer is assumed
|
||||
@ -688,8 +688,8 @@ current points.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org9c0b5a5" class="outline-3">
|
||||
<h3 id="org9c0b5a5"><span class="section-number-3">1.4.</span> Test</h3>
|
||||
<div id="outline-container-org0a5b99f" class="outline-3">
|
||||
<h3 id="org0a5b99f"><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> */
|
||||
@ -768,8 +768,8 @@ rc = qmckl_get_electron_coord (context, <span style="color: #8b2252;">'N'</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga40fbd1" class="outline-2">
|
||||
<h2 id="orga40fbd1"><span class="section-number-2">2.</span> Computation</h2>
|
||||
<div id="outline-container-org4b91463" class="outline-2">
|
||||
<h2 id="org4b91463"><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
|
||||
@ -782,12 +782,12 @@ current date is stored.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgae6a876" class="outline-3">
|
||||
<h3 id="orgae6a876"><span class="section-number-3">2.1.</span> Electron-electron distances</h3>
|
||||
<div id="outline-container-orgc5915d9" class="outline-3">
|
||||
<h3 id="orgc5915d9"><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-org42bca18" class="outline-4">
|
||||
<h4 id="org42bca18"><span class="section-number-4">2.1.1.</span> Get</h4>
|
||||
<div id="outline-container-org90cbd49" class="outline-4">
|
||||
<h4 id="org90cbd49"><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>
|
||||
@ -799,10 +799,10 @@ current date is stored.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc4d16a6" class="outline-4">
|
||||
<h4 id="orgc4d16a6"><span class="section-number-4">2.1.2.</span> Compute</h4>
|
||||
<div id="outline-container-org0ecef4b" class="outline-4">
|
||||
<h4 id="org0ecef4b"><span class="section-number-4">2.1.2.</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-1-2">
|
||||
<table id="org57accfd" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org8e9a4c0" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -907,8 +907,8 @@ current date is stored.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org289e13b" class="outline-4">
|
||||
<h4 id="org289e13b"><span class="section-number-4">2.1.3.</span> Test</h4>
|
||||
<div id="outline-container-org89a2249" class="outline-4">
|
||||
<h4 id="org89a2249"><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>));
|
||||
@ -942,8 +942,8 @@ rc = qmckl_get_electron_ee_distance(context, ee_distance, walk_num * elec_num *
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge045e95" class="outline-3">
|
||||
<h3 id="orge045e95"><span class="section-number-3">2.2.</span> Electron-electron potential</h3>
|
||||
<div id="outline-container-orgcf52e01" class="outline-3">
|
||||
<h3 id="orgcf52e01"><span class="section-number-3">2.2.</span> Electron-electron potential</h3>
|
||||
<div class="outline-text-3" id="text-2-2">
|
||||
<p>
|
||||
<code>ee_potential</code> is given by
|
||||
@ -961,8 +961,8 @@ distance.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7ec3073" class="outline-4">
|
||||
<h4 id="org7ec3073"><span class="section-number-4">2.2.1.</span> Get</h4>
|
||||
<div id="outline-container-orgc869020" class="outline-4">
|
||||
<h4 id="orgc869020"><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_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_potential</span>);
|
||||
@ -971,10 +971,10 @@ distance.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org440e111" class="outline-4">
|
||||
<h4 id="org440e111"><span class="section-number-4">2.2.2.</span> Compute</h4>
|
||||
<div id="outline-container-org9ff9bcc" class="outline-4">
|
||||
<h4 id="org9ff9bcc"><span class="section-number-4">2.2.2.</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-2-2">
|
||||
<table id="org0ac4ce5" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org69172a9" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1090,8 +1090,8 @@ distance.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgbf2b156" class="outline-4">
|
||||
<h4 id="orgbf2b156"><span class="section-number-4">2.2.3.</span> Test</h4>
|
||||
<div id="outline-container-orgf21e0ce" class="outline-4">
|
||||
<h4 id="orgf21e0ce"><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: #228b22;">double</span> <span style="color: #a0522d;">ee_potential</span>[walk_num];
|
||||
@ -1103,24 +1103,27 @@ rc = qmckl_get_electron_ee_potential(context, &(ee_potential[0]));
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org26208cc" class="outline-3">
|
||||
<h3 id="org26208cc"><span class="section-number-3">2.3.</span> Electron-nucleus distances</h3>
|
||||
<div id="outline-container-org6d5c455" class="outline-3">
|
||||
<h3 id="org6d5c455"><span class="section-number-3">2.3.</span> Electron-nucleus distances</h3>
|
||||
<div class="outline-text-3" id="text-2-3">
|
||||
</div>
|
||||
<div id="outline-container-org7814aa2" class="outline-4">
|
||||
<h4 id="org7814aa2"><span class="section-number-4">2.3.1.</span> Get</h4>
|
||||
<div id="outline-container-org6792e04" class="outline-4">
|
||||
<h4 id="org6792e04"><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_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>);
|
||||
<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: #a020f0;">const</span> <span style="color: #a0522d;">distance</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">size_max</span>);
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org971280c" class="outline-4">
|
||||
<h4 id="org971280c"><span class="section-number-4">2.3.2.</span> Compute</h4>
|
||||
<div id="outline-container-org91c0ee3" class="outline-4">
|
||||
<h4 id="org91c0ee3"><span class="section-number-4">2.3.2.</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-3-2">
|
||||
<table id="org3306e6c" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgf4a1d80" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1227,8 +1230,8 @@ rc = qmckl_get_electron_ee_potential(context, &(ee_potential[0]));
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org49ec297" class="outline-4">
|
||||
<h4 id="org49ec297"><span class="section-number-4">2.3.3.</span> Test</h4>
|
||||
<div id="outline-container-orge6e5bb5" class="outline-4">
|
||||
<h4 id="orge6e5bb5"><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">
|
||||
@ -1248,7 +1251,7 @@ rc = qmckl_set_nucleus_coord (context, <span style="color: #8b2252;">'T'</span>,
|
||||
|
||||
<span style="color: #228b22;">double</span> <span style="color: #a0522d;">en_distance</span>[walk_num][elec_num][nucl_num];
|
||||
|
||||
rc = qmckl_get_electron_en_distance(context, &(en_distance[0][0][0]));
|
||||
rc = qmckl_get_electron_en_distance(context, &(en_distance[0][0][0]), walk_num * elec_num * nucl_num);
|
||||
<span style="color: #0000ff;">qmckl_check</span>(context, rc);
|
||||
|
||||
// <span style="color: #b22222;">(e,n,w) in Fortran notation</span>
|
||||
@ -1276,8 +1279,8 @@ rc = qmckl_get_electron_en_distance(context, &(en_distance[0][0][0]));
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5e2270d" class="outline-3">
|
||||
<h3 id="org5e2270d"><span class="section-number-3">2.4.</span> Electron-nucleus potential</h3>
|
||||
<div id="outline-container-org5aae315" class="outline-3">
|
||||
<h3 id="org5aae315"><span class="section-number-3">2.4.</span> Electron-nucleus potential</h3>
|
||||
<div class="outline-text-3" id="text-2-4">
|
||||
<p>
|
||||
<code>en_potential</code> stores the <code>en</code> potential energy
|
||||
@ -1295,8 +1298,8 @@ distance and \[Z_A\] is the nuclear charge.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga1dad01" class="outline-4">
|
||||
<h4 id="orga1dad01"><span class="section-number-4">2.4.1.</span> Get</h4>
|
||||
<div id="outline-container-orgdfed257" class="outline-4">
|
||||
<h4 id="orgdfed257"><span class="section-number-4">2.4.1.</span> Get</h4>
|
||||
<div class="outline-text-4" id="text-2-4-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_electron_en_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_potential</span>);
|
||||
@ -1305,10 +1308,10 @@ distance and \[Z_A\] is the nuclear charge.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5b32451" class="outline-4">
|
||||
<h4 id="org5b32451"><span class="section-number-4">2.4.2.</span> Compute</h4>
|
||||
<div id="outline-container-orgf2cc7ae" class="outline-4">
|
||||
<h4 id="orgf2cc7ae"><span class="section-number-4">2.4.2.</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-4-2">
|
||||
<table id="org17b6750" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org69468e0" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1442,8 +1445,8 @@ distance and \[Z_A\] is the nuclear charge.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0741992" class="outline-4">
|
||||
<h4 id="org0741992"><span class="section-number-4">2.4.3.</span> Test</h4>
|
||||
<div id="outline-container-org57467b2" class="outline-4">
|
||||
<h4 id="org57467b2"><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;">en_potential</span>[walk_num];
|
||||
@ -1456,14 +1459,14 @@ rc = qmckl_get_electron_en_potential(context, &(en_potential[0]));
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3fdee85" class="outline-3">
|
||||
<h3 id="org3fdee85"><span class="section-number-3">2.5.</span> Generate initial coordinates</h3>
|
||||
<div id="outline-container-org289856b" class="outline-3">
|
||||
<h3 id="org289856b"><span class="section-number-3">2.5.</span> Generate initial coordinates</h3>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2025-04-02 Wed 13:00</p>
|
||||
<p class="date">Created: 2025-04-29 Tue 08:44</p>
|
||||
<p class="validation"><a href="https://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>
|
||||
<!-- 2025-04-02 Wed 13:00 -->
|
||||
<!-- 2025-04-29 Tue 08:44 -->
|
||||
<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>
|
||||
@ -226,29 +226,29 @@ org_html_manager.setup(); // activate after the parameters are set
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents" role="doc-toc">
|
||||
<ul>
|
||||
<li><a href="#org38a6b18">-</a></li>
|
||||
<li><a href="#orgcb76b00">1. Decoding errors</a></li>
|
||||
<li><a href="#orgb3eccf6">2. Data structure in context</a></li>
|
||||
<li><a href="#orgdf26fcb">3. Updating errors in the context</a></li>
|
||||
<li><a href="#org03c5479">4. Get the error</a></li>
|
||||
<li><a href="#orgede459f">5. Failing</a></li>
|
||||
<li><a href="#org1a07e6e">6. Last error</a>
|
||||
<li><a href="#org03f4562">-</a></li>
|
||||
<li><a href="#orga70b3d0">1. Decoding errors</a></li>
|
||||
<li><a href="#orge5e5de8">2. Data structure in context</a></li>
|
||||
<li><a href="#orgfed28d8">3. Updating errors in the context</a></li>
|
||||
<li><a href="#org4b31c62">4. Get the error</a></li>
|
||||
<li><a href="#org2755234">5. Failing</a></li>
|
||||
<li><a href="#orgfd956cf">6. Last error</a>
|
||||
<ul>
|
||||
<li><a href="#org5e52038">6.1. Fortran inteface</a></li>
|
||||
<li><a href="#orgbb8b2eb">6.1. Fortran inteface</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgf219293">7. Helper functions for debugging</a>
|
||||
<li><a href="#orgfb10008">7. Helper functions for debugging</a>
|
||||
<ul>
|
||||
<li><a href="#org86dde0e">7.1. Fortran inteface</a></li>
|
||||
<li><a href="#org69e9bf6">7.1. Fortran inteface</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org38a6b18" class="outline-2">
|
||||
<h2 id="org38a6b18">-</h2>
|
||||
<div class="outline-text-2" id="text-org38a6b18">
|
||||
<div id="outline-container-org03f4562" class="outline-2">
|
||||
<h2 id="org03f4562">-</h2>
|
||||
<div class="outline-text-2" id="text-org03f4562">
|
||||
<p>
|
||||
The library should never make the calling programs abort, nor
|
||||
perform any input/output operations. This decision has to be taken
|
||||
@ -259,7 +259,7 @@ by the developer of the code calling the library.
|
||||
All the functions return with an exit code, defined as
|
||||
</p>
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c" id="orgd0e5db9"><span style="color: #a020f0;">typedef</span> <span style="color: #228b22;">int32_t</span> <span style="color: #228b22;">qmckl_exit_code</span>;
|
||||
<pre class="src src-c" id="org38eead8"><span style="color: #a020f0;">typedef</span> <span style="color: #228b22;">int32_t</span> <span style="color: #228b22;">qmckl_exit_code</span>;
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
@ -276,7 +276,7 @@ error code is returned to the program.
|
||||
Here is the complete list of exit codes.
|
||||
</p>
|
||||
|
||||
<table id="org1e398d9" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgdf113cd" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -484,8 +484,8 @@ string is assumed to be large enough to contain the error message
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgcb76b00" class="outline-2">
|
||||
<h2 id="orgcb76b00"><span class="section-number-2">1.</span> Decoding errors</h2>
|
||||
<div id="outline-container-orga70b3d0" class="outline-2">
|
||||
<h2 id="orga70b3d0"><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
|
||||
@ -503,8 +503,8 @@ The text strings are extracted from the previous table.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgb3eccf6" class="outline-2">
|
||||
<h2 id="orgb3eccf6"><span class="section-number-2">2.</span> Data structure in context</h2>
|
||||
<div id="outline-container-orge5e5de8" class="outline-2">
|
||||
<h2 id="orge5e5de8"><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 internally with a maximum fixed size to avoid
|
||||
@ -527,8 +527,8 @@ dynamic memory allocation.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgdf26fcb" class="outline-2">
|
||||
<h2 id="orgdf26fcb"><span class="section-number-2">3.</span> Updating errors in the context</h2>
|
||||
<div id="outline-container-orgfed28d8" class="outline-2">
|
||||
<h2 id="orgfed28d8"><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>.
|
||||
@ -547,8 +547,8 @@ explaining the error. The exit code can't be <code>QMCKL_SUCCESS</code>.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org03c5479" class="outline-2">
|
||||
<h2 id="org03c5479"><span class="section-number-2">4.</span> Get the error</h2>
|
||||
<div id="outline-container-org4b31c62" class="outline-2">
|
||||
<h2 id="org4b31c62"><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
|
||||
@ -567,8 +567,8 @@ function name and message is mandatory.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgede459f" class="outline-2">
|
||||
<h2 id="orgede459f"><span class="section-number-2">5.</span> Failing</h2>
|
||||
<div id="outline-container-org2755234" class="outline-2">
|
||||
<h2 id="org2755234"><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
|
||||
@ -605,8 +605,8 @@ For example, this function can be used as
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1a07e6e" class="outline-2">
|
||||
<h2 id="org1a07e6e"><span class="section-number-2">6.</span> Last error</h2>
|
||||
<div id="outline-container-orgfd956cf" class="outline-2">
|
||||
<h2 id="orgfd956cf"><span class="section-number-2">6.</span> Last error</h2>
|
||||
<div class="outline-text-2" id="text-6">
|
||||
<p>
|
||||
Returns a string describing the last error, using <code>qmckl_get_error</code>.
|
||||
@ -618,13 +618,13 @@ Returns a string describing the last error, using <code>qmckl_get_error</code>.
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org5e52038" class="outline-3">
|
||||
<h3 id="org5e52038"><span class="section-number-3">6.1.</span> Fortran inteface</h3>
|
||||
<div id="outline-container-orgbb8b2eb" class="outline-3">
|
||||
<h3 id="orgbb8b2eb"><span class="section-number-3">6.1.</span> Fortran inteface</h3>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf219293" class="outline-2">
|
||||
<h2 id="orgf219293"><span class="section-number-2">7.</span> Helper functions for debugging</h2>
|
||||
<div id="outline-container-orgfb10008" class="outline-2">
|
||||
<h2 id="orgfb10008"><span class="section-number-2">7.</span> Helper functions for debugging</h2>
|
||||
<div class="outline-text-2" id="text-7">
|
||||
<p>
|
||||
The following function prints to <code>stderr</code> an error message is the return code is
|
||||
@ -650,14 +650,14 @@ It should be used as:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org86dde0e" class="outline-3">
|
||||
<h3 id="org86dde0e"><span class="section-number-3">7.1.</span> Fortran inteface</h3>
|
||||
<div id="outline-container-org69e9bf6" class="outline-3">
|
||||
<h3 id="org69e9bf6"><span class="section-number-3">7.1.</span> Fortran inteface</h3>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2025-04-02 Wed 13:00</p>
|
||||
<p class="date">Created: 2025-04-29 Tue 08:44</p>
|
||||
<p class="validation"><a href="https://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>
|
||||
<!-- 2025-04-02 Wed 13:00 -->
|
||||
<!-- 2025-04-29 Tue 08:44 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Code examples</title>
|
||||
@ -258,25 +258,25 @@ org_html_manager.setup(); // activate after the parameters are set
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents" role="doc-toc">
|
||||
<ul>
|
||||
<li><a href="#orge6e0096">1. Overlap matrix in the MO basis</a>
|
||||
<li><a href="#orga693aac">1. Overlap matrix in the MO basis</a>
|
||||
<ul>
|
||||
<li><a href="#orga829eb2">1.1. Python</a></li>
|
||||
<li><a href="#org66ef389">1.2. C</a></li>
|
||||
<li><a href="#orgf2221e0">1.3. Fortran</a></li>
|
||||
<li><a href="#orgcd2c8d4">1.1. Python</a></li>
|
||||
<li><a href="#org8519066">1.2. C</a></li>
|
||||
<li><a href="#org2826bb8">1.3. Fortran</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org51310d5">2. Fortran</a>
|
||||
<li><a href="#org325b9dc">2. Fortran</a>
|
||||
<ul>
|
||||
<li><a href="#org9451cea">2.1. Checking errors</a></li>
|
||||
<li><a href="#org0b9b5a9">2.2. Computing an atomic orbital on a grid</a></li>
|
||||
<li><a href="#org49d2eb7">2.1. Checking errors</a></li>
|
||||
<li><a href="#orga8ff9d7">2.2. Computing an atomic orbital on a grid</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge6e0096" class="outline-2">
|
||||
<h2 id="orge6e0096"><span class="section-number-2">1.</span> Overlap matrix in the MO basis</h2>
|
||||
<div id="outline-container-orga693aac" class="outline-2">
|
||||
<h2 id="orga693aac"><span class="section-number-2">1.</span> Overlap matrix in the MO basis</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
The focal point of this example is the numerical evaluation of the overlap
|
||||
@ -329,8 +329,8 @@ code.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga829eb2" class="outline-3">
|
||||
<h3 id="orga829eb2"><span class="section-number-3">1.1.</span> Python</h3>
|
||||
<div id="outline-container-orgcd2c8d4" class="outline-3">
|
||||
<h3 id="orgcd2c8d4"><span class="section-number-3">1.1.</span> Python</h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<p>
|
||||
In this example, we will compute numerically the overlap
|
||||
@ -396,7 +396,7 @@ We fetch the nuclear coordinates from the context,
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<pre class="example" id="orgc2afdac">
|
||||
<pre class="example" id="org23c6573">
|
||||
8 +0.000000 +0.000000 +0.000000
|
||||
1 -1.430429 +0.000000 -1.107157
|
||||
1 +1.430429 +0.000000 -1.107157
|
||||
@ -470,7 +470,7 @@ and thus obtain the matrix \(M_{ki} = \langle \mathbf{r}_k | \phi_i \rangle =
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<pre class="example" id="orgba6d4b1">
|
||||
<pre class="example" id="org3e8bfc7">
|
||||
Number of MOs: 201
|
||||
Number of grid points: 1728000
|
||||
Execution time : 5.577778577804565 seconds
|
||||
@ -487,7 +487,7 @@ and finally we compute the overlap between all the MOs as
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<pre class="example" id="org5ecf7a9">
|
||||
<pre class="example" id="org7660871">
|
||||
[[ 9.88693941e-01 2.34719693e-03 -1.50518232e-08 ... 3.12084178e-09
|
||||
-5.81064929e-10 3.70130091e-02]
|
||||
[ 2.34719693e-03 9.99509628e-01 3.18930040e-09 ... -2.46888958e-10
|
||||
@ -505,8 +505,8 @@ and finally we compute the overlap between all the MOs as
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org66ef389" class="outline-3">
|
||||
<h3 id="org66ef389"><span class="section-number-3">1.2.</span> C</h3>
|
||||
<div id="outline-container-org8519066" class="outline-3">
|
||||
<h3 id="org8519066"><span class="section-number-3">1.2.</span> C</h3>
|
||||
<div class="outline-text-3" id="text-1-2">
|
||||
<p>
|
||||
In this example, electron-nucleus cusp fitting is added.
|
||||
@ -652,7 +652,7 @@ rc = qmckl_get_nucleus_coord(context, <span style="color: #8b2252;">'N'</span>,
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<pre class="example" id="org3ad5d35">
|
||||
<pre class="example" id="org04dc4a4">
|
||||
8 +0.000000 +0.000000 +0.000000
|
||||
1 -1.430429 +0.000000 -1.107157
|
||||
1 +1.430429 +0.000000 -1.107157
|
||||
@ -784,7 +784,7 @@ printf(<span style="color: #8b2252;">"Execution time : %f seconds\n"</span>, (af
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<pre class="example" id="orge4bfd71">
|
||||
<pre class="example" id="org683b593">
|
||||
Number of MOs: 201
|
||||
Number of grid points: 1728000
|
||||
Execution time : 5.608000 seconds
|
||||
@ -825,7 +825,7 @@ and finally we compute the overlap between all the MOs as
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
<pre class="example" id="orged0c667">
|
||||
<pre class="example" id="orgd939cd8">
|
||||
0 0.988765 0.002336 0.000000 -0.000734 0.000000 0.000530 0.000000 0.000446 0.000000 -0.000000 -0.000511 -0.000000 -0.000267 0.000000 0.000000 0.001007 0.000000 0.000168 -0.000000 -0.000000 -0.000670 -0.000000 0.000000 -0.000251 -0.000261 -0.000000 -0.000000 -0.000000 -0.000397 -0.000000 -0.000810 0.000000 0.000231 -0.000000 -0.000000 0.000000 -0.000000
|
||||
...
|
||||
200 0.039017 -0.013066 -0.000000 -0.001935 -0.000000 -0.003829 -0.000000 0.000996 -0.000000 0.000000 -0.003733 0.000000 0.000065 -0.000000 -0.000000 -0.002220 -0.000000 -0.001961 0.000000 0.000000 -0.004182 0.000000 -0.000000 -0.000165 -0.002445 0.000000 -0.000000 0.000000 0.001985 0.000000 0.001685 -0.000000 -0.002899 0.000000 0.000000 0.000000 -0.000000 0.002591 0.000000 -0.000000 0.000000 0.002385 0.000000 -0.011086 0.000000 -0.003885 0.000000 -0.000000 0.003602 -0.000000 0.000000 -0.003241 0.000000 0.000000 0.002613 -0.007344 -0.000000 -0.000000 0.000000 0.000017 0.000000 0.000000 0.000000 -0.008719 0.000000 -0.001358 -0.003233 0.000000 -0.000000 -0.000000 -0.000000 0.000000 0.003778 0.000000 0.000000 -0.000000 0.000000 0.000000 -0.001190 0.000000 0.000000 -0.000000 0.005578 -0.000000 -0.001502 0.003899 -0.000000 -0.000000 0.000000 -0.003291 -0.001775 -0.000000 -0.002374 0.000000 -0.000000 -0.000000 -0.000000 -0.001290 -0.000000 0.002178 0.000000 0.000000 0.000000 -0.001252 0.000000 -0.000000 -0.000926 0.000000 -0.000000 -0.013130 -0.000000 0.012124 0.000000 -0.000000 -0.000000 -0.000000 0.000000 0.025194 0.000343 -0.000000 0.000000 -0.000000 -0.004421 0.000000 0.000000 -0.000599 -0.000000 0.005289 0.000000 -0.000000 0.012826 -0.000000 0.000000 0.006190 0.000000 0.000000 -0.000000 0.000000 -0.000321 0.000000 -0.000000 -0.000000 0.000000 -0.000000 0.001499 -0.006629 0.000000 0.000000 0.000000 -0.000000 0.008737 -0.000000 0.006880 0.000000 -0.001851 -0.000000 -0.000000 0.000000 -0.007464 0.000000 0.010298 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 0.000000 0.000540 0.000000 -0.006616 -0.000000 0.000000 -0.002927 -0.000000 0.000000 0.010352 0.000000 -0.003103 -0.000000 -0.007640 -0.000000 -0.000000 0.005302 0.000000 0.000000 -0.000000 -0.000000 -0.010181 0.000000 -0.001108 0.000000 0.000000 -0.000000 0.000000 0.000000 -0.000998 -0.009754 0.013562 0.000000 -0.000000 0.887510
|
||||
@ -834,8 +834,8 @@ and finally we compute the overlap between all the MOs as
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgf2221e0" class="outline-3">
|
||||
<h3 id="orgf2221e0"><span class="section-number-3">1.3.</span> Fortran</h3>
|
||||
<div id="outline-container-org2826bb8" class="outline-3">
|
||||
<h3 id="org2826bb8"><span class="section-number-3">1.3.</span> Fortran</h3>
|
||||
<div class="outline-text-3" id="text-1-3">
|
||||
<p>
|
||||
Here is the same piece of code translated in Fortran
|
||||
@ -1011,12 +1011,12 @@ Here is the same piece of code translated in Fortran
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org51310d5" class="outline-2">
|
||||
<h2 id="org51310d5"><span class="section-number-2">2.</span> Fortran</h2>
|
||||
<div id="outline-container-org325b9dc" class="outline-2">
|
||||
<h2 id="org325b9dc"><span class="section-number-2">2.</span> Fortran</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-org9451cea" class="outline-3">
|
||||
<h3 id="org9451cea"><span class="section-number-3">2.1.</span> Checking errors</h3>
|
||||
<div id="outline-container-org49d2eb7" class="outline-3">
|
||||
<h3 id="org49d2eb7"><span class="section-number-3">2.1.</span> Checking errors</h3>
|
||||
<div class="outline-text-3" id="text-2-1">
|
||||
<p>
|
||||
All QMCkl functions return an error code. A convenient way to handle
|
||||
@ -1025,7 +1025,7 @@ error in text format and exits the program.
|
||||
</p>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-f90" id="org9d5ce5d"><span style="color: #a020f0;">subroutine</span> <span style="color: #0000ff;">qmckl_check_error</span>(rc, message)
|
||||
<pre class="src src-f90" id="orgd376ab6"><span style="color: #a020f0;">subroutine</span> <span style="color: #0000ff;">qmckl_check_error</span>(rc, message)
|
||||
<span style="color: #a020f0;">use</span> <span style="color: #0000ff;">qmckl</span>
|
||||
<span style="color: #a020f0;">implicit</span> <span style="color: #228b22;">none</span>
|
||||
<span style="color: #228b22;">integer</span>(qmckl_exit_code), <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> rc</span>
|
||||
@ -1043,8 +1043,8 @@ error in text format and exits the program.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0b9b5a9" class="outline-3">
|
||||
<h3 id="org0b9b5a9"><span class="section-number-3">2.2.</span> Computing an atomic orbital on a grid</h3>
|
||||
<div id="outline-container-orga8ff9d7" class="outline-3">
|
||||
<h3 id="orga8ff9d7"><span class="section-number-3">2.2.</span> Computing an atomic orbital on a grid</h3>
|
||||
<div class="outline-text-3" id="text-2-2">
|
||||
<p>
|
||||
The following program, in Fortran, computes the values of an atomic
|
||||
@ -1263,7 +1263,7 @@ We finally print the value and Laplacian of the AO:
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2025-04-02 Wed 13:00</p>
|
||||
<p class="date">Created: 2025-04-29 Tue 08:44</p>
|
||||
<p class="validation"><a href="https://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
4701
qmckl_forces.html
Normal file
4701
qmckl_forces.html
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
6013
qmckl_jastrow_champ_single.html
Normal file
6013
qmckl_jastrow_champ_single.html
Normal file
File diff suppressed because it is too large
Load Diff
@ -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>
|
||||
<!-- 2025-04-02 Wed 13:00 -->
|
||||
<!-- 2025-04-29 Tue 08:44 -->
|
||||
<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>
|
||||
@ -258,44 +258,44 @@ org_html_manager.setup(); // activate after the parameters are set
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents" role="doc-toc">
|
||||
<ul>
|
||||
<li><a href="#orgc5253f2">1. Context</a>
|
||||
<li><a href="#org643ba93">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#org7325e26">1.1. Data structure</a></li>
|
||||
<li><a href="#org1dffba4">1.2. Access functions</a></li>
|
||||
<li><a href="#org3c24e60">1.1. Data structure</a></li>
|
||||
<li><a href="#orgdca3c0f">1.2. Access functions</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org5fee6a5">2. Computation</a>
|
||||
<li><a href="#org6a0723c">2. Computation</a>
|
||||
<ul>
|
||||
<li><a href="#org2548c2f">2.1. Kinetic energy</a>
|
||||
<li><a href="#org2f602fc">2.1. Kinetic energy</a>
|
||||
<ul>
|
||||
<li><a href="#org56c6778">2.1.1. Get</a></li>
|
||||
<li><a href="#orgd2f0508">2.1.2. Provide</a></li>
|
||||
<li><a href="#org791d3c3">2.1.3. Compute kinetic enregy</a></li>
|
||||
<li><a href="#org1bc95cb">2.1.4. Test</a></li>
|
||||
<li><a href="#org5b47a8b">2.1.1. Get</a></li>
|
||||
<li><a href="#org06a7932">2.1.2. Provide</a></li>
|
||||
<li><a href="#orgc356392">2.1.3. Compute kinetic enregy</a></li>
|
||||
<li><a href="#org99e29b6">2.1.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgfd2faf1">2.2. Potential energy</a>
|
||||
<li><a href="#orgcef8161">2.2. Potential energy</a>
|
||||
<ul>
|
||||
<li><a href="#org922023d">2.2.1. Get</a></li>
|
||||
<li><a href="#orgdcd2ac1">2.2.2. Provide</a></li>
|
||||
<li><a href="#orgd7f45ac">2.2.3. Compute potential enregy</a></li>
|
||||
<li><a href="#orgfad58ee">2.2.4. Test</a></li>
|
||||
<li><a href="#org7b43a03">2.2.1. Get</a></li>
|
||||
<li><a href="#orgc51ca6d">2.2.2. Provide</a></li>
|
||||
<li><a href="#orgb734d1d">2.2.3. Compute potential enregy</a></li>
|
||||
<li><a href="#org5f921ff">2.2.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org7d56403">2.3. Local energy</a>
|
||||
<li><a href="#orgfde97c5">2.3. Local energy</a>
|
||||
<ul>
|
||||
<li><a href="#org40d9b3d">2.3.1. Get</a></li>
|
||||
<li><a href="#org101f790">2.3.2. Provide</a></li>
|
||||
<li><a href="#orgaf86ba8">2.3.3. Compute local enregy</a></li>
|
||||
<li><a href="#orgadb9aa4">2.3.4. Test</a></li>
|
||||
<li><a href="#org66fdd60">2.3.1. Get</a></li>
|
||||
<li><a href="#orga926678">2.3.2. Provide</a></li>
|
||||
<li><a href="#orga9cc1f7">2.3.3. Compute local enregy</a></li>
|
||||
<li><a href="#org2e27d14">2.3.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org8931c6f">2.4. Drift vector</a>
|
||||
<li><a href="#orgb5b2c8f">2.4. Drift vector</a>
|
||||
<ul>
|
||||
<li><a href="#org2964008">2.4.1. Get</a></li>
|
||||
<li><a href="#orgd55fa1b">2.4.2. Provide</a></li>
|
||||
<li><a href="#orgc348f99">2.4.3. Compute drift vector</a></li>
|
||||
<li><a href="#org815f85f">2.4.4. Test</a></li>
|
||||
<li><a href="#org45b45b9">2.4.1. Get</a></li>
|
||||
<li><a href="#orga82de53">2.4.2. Provide</a></li>
|
||||
<li><a href="#org05488bb">2.4.3. Compute drift vector</a></li>
|
||||
<li><a href="#org8e5d21b">2.4.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@ -304,8 +304,8 @@ org_html_manager.setup(); // activate after the parameters are set
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc5253f2" class="outline-2">
|
||||
<h2 id="orgc5253f2"><span class="section-number-2">1.</span> Context</h2>
|
||||
<div id="outline-container-org643ba93" class="outline-2">
|
||||
<h2 id="org643ba93"><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:
|
||||
@ -378,8 +378,8 @@ Computed data:
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7325e26" class="outline-3">
|
||||
<h3 id="org7325e26"><span class="section-number-3">1.1.</span> Data structure</h3>
|
||||
<div id="outline-container-org3c24e60" class="outline-3">
|
||||
<h3 id="org3c24e60"><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> {
|
||||
@ -413,8 +413,8 @@ this mechanism.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1dffba4" class="outline-3">
|
||||
<h3 id="org1dffba4"><span class="section-number-3">1.2.</span> Access functions</h3>
|
||||
<div id="outline-container-orgdca3c0f" class="outline-3">
|
||||
<h3 id="orgdca3c0f"><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 local energy have been provided, the following
|
||||
@ -429,12 +429,12 @@ function returns <code>true</code>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5fee6a5" class="outline-2">
|
||||
<h2 id="org5fee6a5"><span class="section-number-2">2.</span> Computation</h2>
|
||||
<div id="outline-container-org6a0723c" class="outline-2">
|
||||
<h2 id="org6a0723c"><span class="section-number-2">2.</span> Computation</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-org2548c2f" class="outline-3">
|
||||
<h3 id="org2548c2f"><span class="section-number-3">2.1.</span> Kinetic energy</h3>
|
||||
<div id="outline-container-org2f602fc" class="outline-3">
|
||||
<h3 id="org2f602fc"><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:
|
||||
@ -458,8 +458,8 @@ case is given as follows:
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org56c6778" class="outline-4">
|
||||
<h4 id="org56c6778"><span class="section-number-4">2.1.1.</span> Get</h4>
|
||||
<div id="outline-container-org5b47a8b" class="outline-4">
|
||||
<h4 id="org5b47a8b"><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>);
|
||||
@ -468,14 +468,14 @@ case is given as follows:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd2f0508" class="outline-4">
|
||||
<h4 id="orgd2f0508"><span class="section-number-4">2.1.2.</span> Provide</h4>
|
||||
<div id="outline-container-org06a7932" class="outline-4">
|
||||
<h4 id="org06a7932"><span class="section-number-4">2.1.2.</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org791d3c3" class="outline-4">
|
||||
<h4 id="org791d3c3"><span class="section-number-4">2.1.3.</span> Compute kinetic enregy</h4>
|
||||
<div id="outline-container-orgc356392" class="outline-4">
|
||||
<h4 id="orgc356392"><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="orgf59becf" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org48ad1f8" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -704,12 +704,12 @@ case is given as follows:
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1bc95cb" class="outline-4">
|
||||
<h4 id="org1bc95cb"><span class="section-number-4">2.1.4.</span> Test</h4>
|
||||
<div id="outline-container-org99e29b6" class="outline-4">
|
||||
<h4 id="org99e29b6"><span class="section-number-4">2.1.4.</span> Test</h4>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgfd2faf1" class="outline-3">
|
||||
<h3 id="orgfd2faf1"><span class="section-number-3">2.2.</span> Potential energy</h3>
|
||||
<div id="outline-container-orgcef8161" class="outline-3">
|
||||
<h3 id="orgcef8161"><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
|
||||
@ -745,8 +745,8 @@ contributions.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org922023d" class="outline-4">
|
||||
<h4 id="org922023d"><span class="section-number-4">2.2.1.</span> Get</h4>
|
||||
<div id="outline-container-org7b43a03" class="outline-4">
|
||||
<h4 id="org7b43a03"><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>);
|
||||
@ -755,14 +755,14 @@ contributions.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgdcd2ac1" class="outline-4">
|
||||
<h4 id="orgdcd2ac1"><span class="section-number-4">2.2.2.</span> Provide</h4>
|
||||
<div id="outline-container-orgc51ca6d" class="outline-4">
|
||||
<h4 id="orgc51ca6d"><span class="section-number-4">2.2.2.</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd7f45ac" class="outline-4">
|
||||
<h4 id="orgd7f45ac"><span class="section-number-4">2.2.3.</span> Compute potential enregy</h4>
|
||||
<div id="outline-container-orgb734d1d" class="outline-4">
|
||||
<h4 id="orgb734d1d"><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="org8ab061a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org132570a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -889,12 +889,12 @@ contributions.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgfad58ee" class="outline-4">
|
||||
<h4 id="orgfad58ee"><span class="section-number-4">2.2.4.</span> Test</h4>
|
||||
<div id="outline-container-org5f921ff" class="outline-4">
|
||||
<h4 id="org5f921ff"><span class="section-number-4">2.2.4.</span> Test</h4>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org7d56403" class="outline-3">
|
||||
<h3 id="org7d56403"><span class="section-number-3">2.3.</span> Local energy</h3>
|
||||
<div id="outline-container-orgfde97c5" class="outline-3">
|
||||
<h3 id="orgfde97c5"><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.
|
||||
@ -908,8 +908,8 @@ E_L = KE + PE
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org40d9b3d" class="outline-4">
|
||||
<h4 id="org40d9b3d"><span class="section-number-4">2.3.1.</span> Get</h4>
|
||||
<div id="outline-container-org66fdd60" class="outline-4">
|
||||
<h4 id="org66fdd60"><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>, <span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">size_max</span>);
|
||||
@ -918,14 +918,14 @@ E_L = KE + PE
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org101f790" class="outline-4">
|
||||
<h4 id="org101f790"><span class="section-number-4">2.3.2.</span> Provide</h4>
|
||||
<div id="outline-container-orga926678" class="outline-4">
|
||||
<h4 id="orga926678"><span class="section-number-4">2.3.2.</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgaf86ba8" class="outline-4">
|
||||
<h4 id="orgaf86ba8"><span class="section-number-4">2.3.3.</span> Compute local enregy</h4>
|
||||
<div id="outline-container-orga9cc1f7" class="outline-4">
|
||||
<h4 id="orga9cc1f7"><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="org1942938" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org9558282" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1021,12 +1021,12 @@ E_L = KE + PE
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgadb9aa4" class="outline-4">
|
||||
<h4 id="orgadb9aa4"><span class="section-number-4">2.3.4.</span> Test</h4>
|
||||
<div id="outline-container-org2e27d14" class="outline-4">
|
||||
<h4 id="org2e27d14"><span class="section-number-4">2.3.4.</span> Test</h4>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org8931c6f" class="outline-3">
|
||||
<h3 id="org8931c6f"><span class="section-number-3">2.4.</span> Drift vector</h3>
|
||||
<div id="outline-container-orgb5b2c8f" class="outline-3">
|
||||
<h3 id="orgb5b2c8f"><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
|
||||
@ -1040,8 +1040,8 @@ with the determinant of the wavefunction.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2964008" class="outline-4">
|
||||
<h4 id="org2964008"><span class="section-number-4">2.4.1.</span> Get</h4>
|
||||
<div id="outline-container-org45b45b9" class="outline-4">
|
||||
<h4 id="org45b45b9"><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>);
|
||||
@ -1050,14 +1050,14 @@ with the determinant of the wavefunction.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd55fa1b" class="outline-4">
|
||||
<h4 id="orgd55fa1b"><span class="section-number-4">2.4.2.</span> Provide</h4>
|
||||
<div id="outline-container-orga82de53" class="outline-4">
|
||||
<h4 id="orga82de53"><span class="section-number-4">2.4.2.</span> Provide</h4>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc348f99" class="outline-4">
|
||||
<h4 id="orgc348f99"><span class="section-number-4">2.4.3.</span> Compute drift vector</h4>
|
||||
<div id="outline-container-org05488bb" class="outline-4">
|
||||
<h4 id="org05488bb"><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="orgc46029e" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgf7842c1" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1278,15 +1278,15 @@ with the determinant of the wavefunction.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org815f85f" class="outline-4">
|
||||
<h4 id="org815f85f"><span class="section-number-4">2.4.4.</span> Test</h4>
|
||||
<div id="outline-container-org8e5d21b" class="outline-4">
|
||||
<h4 id="org8e5d21b"><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: 2025-04-02 Wed 13:00</p>
|
||||
<p class="date">Created: 2025-04-29 Tue 08:44</p>
|
||||
<p class="validation"><a href="https://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>
|
||||
<!-- 2025-04-02 Wed 13:00 -->
|
||||
<!-- 2025-04-29 Tue 08:44 -->
|
||||
<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>
|
||||
@ -226,16 +226,16 @@ org_html_manager.setup(); // activate after the parameters are set
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents" role="doc-toc">
|
||||
<ul>
|
||||
<li><a href="#orgfd1806a">1. Memory data structure for the context</a></li>
|
||||
<li><a href="#org9d1a2a1">2. Passing info to allocation routines</a></li>
|
||||
<li><a href="#orgb36242d">3. Allocation/deallocation functions</a></li>
|
||||
<li><a href="#orga9ce479">4. Get the size of a memory block</a></li>
|
||||
<li><a href="#org31a118b">1. Memory data structure for the context</a></li>
|
||||
<li><a href="#orgc52927f">2. Passing info to allocation routines</a></li>
|
||||
<li><a href="#org435db54">3. Allocation/deallocation functions</a></li>
|
||||
<li><a href="#org501b238">4. Get the size of a memory block</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgfd1806a" class="outline-2">
|
||||
<h2 id="orgfd1806a"><span class="section-number-2">1.</span> Memory data structure for the context</h2>
|
||||
<div id="outline-container-org31a118b" class="outline-2">
|
||||
<h2 id="org31a118b"><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
|
||||
@ -277,8 +277,8 @@ array, and the number of allocated blocks.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9d1a2a1" class="outline-2">
|
||||
<h2 id="org9d1a2a1"><span class="section-number-2">2.</span> Passing info to allocation routines</h2>
|
||||
<div id="outline-container-orgc52927f" class="outline-2">
|
||||
<h2 id="orgc52927f"><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
|
||||
@ -287,8 +287,8 @@ passing an instance of a <code>qmckl_memory_info_struct</code>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb36242d" class="outline-2">
|
||||
<h2 id="orgb36242d"><span class="section-number-2">3.</span> Allocation/deallocation functions</h2>
|
||||
<div id="outline-container-org435db54" class="outline-2">
|
||||
<h2 id="org435db54"><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
|
||||
@ -547,8 +547,8 @@ successful deallocation of the memory block.</li>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orga9ce479" class="outline-2">
|
||||
<h2 id="orga9ce479"><span class="section-number-2">4.</span> Get the size of a memory block</h2>
|
||||
<div id="outline-container-org501b238" class="outline-2">
|
||||
<h2 id="org501b238"><span class="section-number-2">4.</span> Get the size of a memory block</h2>
|
||||
<div class="outline-text-2" id="text-4">
|
||||
<p>
|
||||
All the blocks allocated with <code>qmckl_malloc</code> keep track of how many
|
||||
@ -643,7 +643,7 @@ rc = qmckl_context_destroy(context);
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2025-04-02 Wed 13:00</p>
|
||||
<p class="date">Created: 2025-04-29 Tue 08:44</p>
|
||||
<p class="validation"><a href="https://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
192
qmckl_mo.html
192
qmckl_mo.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>
|
||||
<!-- 2025-04-02 Wed 13:00 -->
|
||||
<!-- 2025-04-29 Tue 08:44 -->
|
||||
<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>
|
||||
@ -258,72 +258,72 @@ org_html_manager.setup(); // activate after the parameters are set
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents" role="doc-toc">
|
||||
<ul>
|
||||
<li><a href="#orge9fa493">1. Context</a>
|
||||
<li><a href="#org9a07676">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#org4ec0270">1.1. Data structure</a></li>
|
||||
<li><a href="#orgcc1bc2f">1.2. Initialization functions</a></li>
|
||||
<li><a href="#orge1e1b25">1.3. Cusp adjsutment functions</a></li>
|
||||
<li><a href="#org341218b">1.4. Access functions</a>
|
||||
<li><a href="#org6eae24d">1.1. Data structure</a></li>
|
||||
<li><a href="#orgad92106">1.2. Initialization functions</a></li>
|
||||
<li><a href="#org24bbb98">1.3. Cusp adjsutment functions</a></li>
|
||||
<li><a href="#org3b7b51a">1.4. Access functions</a>
|
||||
<ul>
|
||||
<li><a href="#org21e2b1d">1.4.1. Fortran interfaces</a></li>
|
||||
<li><a href="#org81afbcb">1.4.1. Fortran interfaces</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgc83b512">1.5. Update</a>
|
||||
<li><a href="#orgf77a2e1">1.5. Update</a>
|
||||
<ul>
|
||||
<li><a href="#org78abcab">1.5.1. Fortran interface</a></li>
|
||||
<li><a href="#orgc137da6">1.5.1. Fortran interface</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org0962e50">2. Computation</a>
|
||||
<li><a href="#orgaa61e22">2. Computation</a>
|
||||
<ul>
|
||||
<li><a href="#orgb1e2606">2.1. Parameters of the cusp-correction functions</a></li>
|
||||
<li><a href="#orgb57897f">2.2. Computation of MOs: values only</a>
|
||||
<li><a href="#orga498103">2.1. Parameters of the cusp-correction functions</a></li>
|
||||
<li><a href="#orgc1b539c">2.2. Computation of MOs: values only</a>
|
||||
<ul>
|
||||
<li><a href="#orgda52782">2.2.1. Get</a></li>
|
||||
<li><a href="#org36273e0">2.2.2. Provide</a></li>
|
||||
<li><a href="#orga8fee0a">2.2.3. Compute</a></li>
|
||||
<li><a href="#org1e8d3ec">2.2.4. HPC version</a>
|
||||
<li><a href="#org0a55ec2">2.2.1. Get</a></li>
|
||||
<li><a href="#org090b44f">2.2.2. Provide</a></li>
|
||||
<li><a href="#orgfb78309">2.2.3. Compute</a></li>
|
||||
<li><a href="#org77a30d1">2.2.4. HPC version</a>
|
||||
<ul>
|
||||
<li><a href="#orgc1cb2f1">2.2.4.1. Single-precision</a></li>
|
||||
<li><a href="#orgf56126c">2.2.4.2. Double-precision</a></li>
|
||||
<li><a href="#orgf5b7be6">2.2.4.1. Single-precision</a></li>
|
||||
<li><a href="#org033b214">2.2.4.2. Double-precision</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orga716fd0">2.3. Computation of MOs: values, gradient, Laplacian</a>
|
||||
<li><a href="#orgd7ada42">2.3. Computation of MOs: values, gradient, Laplacian</a>
|
||||
<ul>
|
||||
<li><a href="#org32356b8">2.3.1. Get</a></li>
|
||||
<li><a href="#orgf2fc55d">2.3.2. Provide</a></li>
|
||||
<li><a href="#org2a0c339">2.3.3. Compute</a></li>
|
||||
<li><a href="#org0523b52">2.3.1. Get</a></li>
|
||||
<li><a href="#org8caf4e5">2.3.2. Provide</a></li>
|
||||
<li><a href="#org26d85b1">2.3.3. Compute</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org4349543">2.4. Computation of cusp-corrected MOs: values only</a>
|
||||
<li><a href="#org189cac5">2.4. Computation of cusp-corrected MOs: values only</a>
|
||||
<ul>
|
||||
<li><a href="#orgb0d3a3b">2.4.1. Compute</a></li>
|
||||
<li><a href="#org01ca5f6">2.4.2. HPC version</a></li>
|
||||
<li><a href="#orge098c6a">2.4.1. Compute</a></li>
|
||||
<li><a href="#org295cbff">2.4.2. HPC version</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgbfffa07">2.5. Computation of cusp-corrected MOs: values, gradient, Laplacian</a>
|
||||
<li><a href="#orgad01b50">2.5. Computation of cusp-corrected MOs: values, gradient, Laplacian</a>
|
||||
<ul>
|
||||
<li><a href="#org19d53a8">2.5.1. Compute</a></li>
|
||||
<li><a href="#org9f9af23">2.5.2. HPC version</a></li>
|
||||
<li><a href="#org6dd3ce7">2.5.1. Compute</a></li>
|
||||
<li><a href="#org552b82f">2.5.2. HPC version</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgf7968a7">2.6. Rescaling of MO coefficients</a>
|
||||
<li><a href="#org80d5b59">2.6. Rescaling of MO coefficients</a>
|
||||
<ul>
|
||||
<li><a href="#org98982b9">2.6.1. Fortran interface</a></li>
|
||||
<li><a href="#org1b1d197">2.6.1. Fortran interface</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org3d4a68c">2.7. Test</a></li>
|
||||
<li><a href="#org2852af6">2.7. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge9fa493" class="outline-2">
|
||||
<h2 id="orge9fa493"><span class="section-number-2">1.</span> Context</h2>
|
||||
<div id="outline-container-org9a07676" class="outline-2">
|
||||
<h2 id="org9a07676"><span class="section-number-2">1.</span> Context</h2>
|
||||
<div class="outline-text-2" id="text-1">
|
||||
<p>
|
||||
The following arrays are stored in the context:
|
||||
@ -402,8 +402,8 @@ Computed data:
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4ec0270" class="outline-3">
|
||||
<h3 id="org4ec0270"><span class="section-number-3">1.1.</span> Data structure</h3>
|
||||
<div id="outline-container-org6eae24d" class="outline-3">
|
||||
<h3 id="org6eae24d"><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> {
|
||||
@ -460,8 +460,8 @@ this mechanism.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgcc1bc2f" class="outline-3">
|
||||
<h3 id="orgcc1bc2f"><span class="section-number-3">1.2.</span> Initialization functions</h3>
|
||||
<div id="outline-container-orgad92106" class="outline-3">
|
||||
<h3 id="orgad92106"><span class="section-number-3">1.2.</span> Initialization functions</h3>
|
||||
<div class="outline-text-3" id="text-1-2">
|
||||
<p>
|
||||
To set the basis set, all the following functions need to be
|
||||
@ -482,8 +482,8 @@ computed to accelerate the calculations.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge1e1b25" class="outline-3">
|
||||
<h3 id="orge1e1b25"><span class="section-number-3">1.3.</span> Cusp adjsutment functions</h3>
|
||||
<div id="outline-container-org24bbb98" class="outline-3">
|
||||
<h3 id="org24bbb98"><span class="section-number-3">1.3.</span> Cusp adjsutment functions</h3>
|
||||
<div class="outline-text-3" id="text-1-3">
|
||||
<p>
|
||||
To activate the cusp adjustment, the user must enter the radius of
|
||||
@ -498,8 +498,8 @@ of the non-\(s\) AOs at the center.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org341218b" class="outline-3">
|
||||
<h3 id="org341218b"><span class="section-number-3">1.4.</span> Access functions</h3>
|
||||
<div id="outline-container-org3b7b51a" class="outline-3">
|
||||
<h3 id="org3b7b51a"><span class="section-number-3">1.4.</span> Access functions</h3>
|
||||
<div class="outline-text-3" id="text-1-4">
|
||||
<p>
|
||||
When all the data for the AOs have been provided, the following
|
||||
@ -512,13 +512,13 @@ function returns <code>true</code>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org21e2b1d" class="outline-4">
|
||||
<h4 id="org21e2b1d"><span class="section-number-4">1.4.1.</span> Fortran interfaces</h4>
|
||||
<div id="outline-container-org81afbcb" class="outline-4">
|
||||
<h4 id="org81afbcb"><span class="section-number-4">1.4.1.</span> Fortran interfaces</h4>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc83b512" class="outline-3">
|
||||
<h3 id="orgc83b512"><span class="section-number-3">1.5.</span> Update</h3>
|
||||
<div id="outline-container-orgf77a2e1" class="outline-3">
|
||||
<h3 id="orgf77a2e1"><span class="section-number-3">1.5.</span> Update</h3>
|
||||
<div class="outline-text-3" id="text-1-5">
|
||||
<p>
|
||||
It may be desirable to remove certain molecular orbitals (MOs) that
|
||||
@ -545,25 +545,25 @@ calculation. If the integer is non-zero, the MO will be kept.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org78abcab" class="outline-4">
|
||||
<h4 id="org78abcab"><span class="section-number-4">1.5.1.</span> Fortran interface</h4>
|
||||
<div id="outline-container-orgc137da6" class="outline-4">
|
||||
<h4 id="orgc137da6"><span class="section-number-4">1.5.1.</span> Fortran interface</h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0962e50" class="outline-2">
|
||||
<h2 id="org0962e50"><span class="section-number-2">2.</span> Computation</h2>
|
||||
<div id="outline-container-orgaa61e22" class="outline-2">
|
||||
<h2 id="orgaa61e22"><span class="section-number-2">2.</span> Computation</h2>
|
||||
<div class="outline-text-2" id="text-2">
|
||||
</div>
|
||||
<div id="outline-container-orgb1e2606" class="outline-3">
|
||||
<h3 id="orgb1e2606"><span class="section-number-3">2.1.</span> Parameters of the cusp-correction functions</h3>
|
||||
<div id="outline-container-orga498103" class="outline-3">
|
||||
<h3 id="orga498103"><span class="section-number-3">2.1.</span> Parameters of the cusp-correction functions</h3>
|
||||
</div>
|
||||
<div id="outline-container-orgb57897f" class="outline-3">
|
||||
<h3 id="orgb57897f"><span class="section-number-3">2.2.</span> Computation of MOs: values only</h3>
|
||||
<div id="outline-container-orgc1b539c" class="outline-3">
|
||||
<h3 id="orgc1b539c"><span class="section-number-3">2.2.</span> Computation of MOs: values only</h3>
|
||||
<div class="outline-text-3" id="text-2-2">
|
||||
</div>
|
||||
<div id="outline-container-orgda52782" class="outline-4">
|
||||
<h4 id="orgda52782"><span class="section-number-4">2.2.1.</span> Get</h4>
|
||||
<div id="outline-container-org0a55ec2" class="outline-4">
|
||||
<h4 id="org0a55ec2"><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>
|
||||
@ -587,8 +587,8 @@ Uses the given array to compute the values.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org36273e0" class="outline-4">
|
||||
<h4 id="org36273e0"><span class="section-number-4">2.2.2.</span> Provide</h4>
|
||||
<div id="outline-container-org090b44f" class="outline-4">
|
||||
<h4 id="org090b44f"><span class="section-number-4">2.2.2.</span> Provide</h4>
|
||||
<div class="outline-text-4" id="text-2-2-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_provide_mo_basis_mo_value</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>);
|
||||
@ -671,10 +671,10 @@ Uses the given array to compute the values.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga8fee0a" class="outline-4">
|
||||
<h4 id="orga8fee0a"><span class="section-number-4">2.2.3.</span> Compute</h4>
|
||||
<div id="outline-container-orgfb78309" class="outline-4">
|
||||
<h4 id="orgfb78309"><span class="section-number-4">2.2.3.</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-2-3">
|
||||
<table id="orgec8baef" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgf49c6d5" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -829,8 +829,8 @@ matrix multiplication instead of a dgemm, as exposed in
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1e8d3ec" class="outline-4">
|
||||
<h4 id="org1e8d3ec"><span class="section-number-4">2.2.4.</span> HPC version</h4>
|
||||
<div id="outline-container-org77a30d1" class="outline-4">
|
||||
<h4 id="org77a30d1"><span class="section-number-4">2.2.4.</span> HPC version</h4>
|
||||
<div class="outline-text-4" id="text-2-2-4">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #483d8b;">#ifdef</span> HAVE_HPC
|
||||
@ -857,8 +857,8 @@ matrix multiplication instead of a dgemm, as exposed in
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgc1cb2f1" class="outline-5">
|
||||
<h5 id="orgc1cb2f1"><span class="section-number-5">2.2.4.1.</span> Single-precision</h5>
|
||||
<div id="outline-container-orgf5b7be6" class="outline-5">
|
||||
<h5 id="orgf5b7be6"><span class="section-number-5">2.2.4.1.</span> Single-precision</h5>
|
||||
<div class="outline-text-5" id="text-2-2-4-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #483d8b;">#ifdef</span> HAVE_HPC
|
||||
@ -979,8 +979,8 @@ matrix multiplication instead of a dgemm, as exposed in
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf56126c" class="outline-5">
|
||||
<h5 id="orgf56126c"><span class="section-number-5">2.2.4.2.</span> Double-precision</h5>
|
||||
<div id="outline-container-org033b214" class="outline-5">
|
||||
<h5 id="org033b214"><span class="section-number-5">2.2.4.2.</span> Double-precision</h5>
|
||||
<div class="outline-text-5" id="text-2-2-4-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #483d8b;">#ifdef</span> HAVE_HPC
|
||||
@ -1097,12 +1097,12 @@ matrix multiplication instead of a dgemm, as exposed in
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga716fd0" class="outline-3">
|
||||
<h3 id="orga716fd0"><span class="section-number-3">2.3.</span> Computation of MOs: values, gradient, Laplacian</h3>
|
||||
<div id="outline-container-orgd7ada42" class="outline-3">
|
||||
<h3 id="orgd7ada42"><span class="section-number-3">2.3.</span> Computation of MOs: values, gradient, Laplacian</h3>
|
||||
<div class="outline-text-3" id="text-2-3">
|
||||
</div>
|
||||
<div id="outline-container-org32356b8" class="outline-4">
|
||||
<h4 id="org32356b8"><span class="section-number-4">2.3.1.</span> Get</h4>
|
||||
<div id="outline-container-org0523b52" class="outline-4">
|
||||
<h4 id="org0523b52"><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>
|
||||
@ -1126,8 +1126,8 @@ Uses the given array to compute the VGL.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf2fc55d" class="outline-4">
|
||||
<h4 id="orgf2fc55d"><span class="section-number-4">2.3.2.</span> Provide</h4>
|
||||
<div id="outline-container-org8caf4e5" class="outline-4">
|
||||
<h4 id="org8caf4e5"><span class="section-number-4">2.3.2.</span> Provide</h4>
|
||||
<div class="outline-text-4" id="text-2-3-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_provide_mo_basis_mo_vgl</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>);
|
||||
@ -1209,10 +1209,10 @@ Uses the given array to compute the VGL.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2a0c339" class="outline-4">
|
||||
<h4 id="org2a0c339"><span class="section-number-4">2.3.3.</span> Compute</h4>
|
||||
<div id="outline-container-org26d85b1" class="outline-4">
|
||||
<h4 id="org26d85b1"><span class="section-number-4">2.3.3.</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-3-3">
|
||||
<table id="orgd22ceb8" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgcdef5f5" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1381,14 +1381,14 @@ matrix multiplication instead of a dgemm, as exposed in
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4349543" class="outline-3">
|
||||
<h3 id="org4349543"><span class="section-number-3">2.4.</span> Computation of cusp-corrected MOs: values only</h3>
|
||||
<div id="outline-container-org189cac5" class="outline-3">
|
||||
<h3 id="org189cac5"><span class="section-number-3">2.4.</span> Computation of cusp-corrected MOs: values only</h3>
|
||||
<div class="outline-text-3" id="text-2-4">
|
||||
</div>
|
||||
<div id="outline-container-orgb0d3a3b" class="outline-4">
|
||||
<h4 id="orgb0d3a3b"><span class="section-number-4">2.4.1.</span> Compute</h4>
|
||||
<div id="outline-container-orge098c6a" class="outline-4">
|
||||
<h4 id="orge098c6a"><span class="section-number-4">2.4.1.</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-4-1">
|
||||
<table id="org7e2e48f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org7bef675" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -1627,8 +1627,8 @@ matrix multiplication instead of a dgemm, as exposed in
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org01ca5f6" class="outline-4">
|
||||
<h4 id="org01ca5f6"><span class="section-number-4">2.4.2.</span> HPC version</h4>
|
||||
<div id="outline-container-org295cbff" class="outline-4">
|
||||
<h4 id="org295cbff"><span class="section-number-4">2.4.2.</span> HPC version</h4>
|
||||
<div class="outline-text-4" id="text-2-4-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #483d8b;">#ifdef</span> HAVE_HPC
|
||||
@ -1766,14 +1766,14 @@ IVDEP
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgbfffa07" class="outline-3">
|
||||
<h3 id="orgbfffa07"><span class="section-number-3">2.5.</span> Computation of cusp-corrected MOs: values, gradient, Laplacian</h3>
|
||||
<div id="outline-container-orgad01b50" class="outline-3">
|
||||
<h3 id="orgad01b50"><span class="section-number-3">2.5.</span> Computation of cusp-corrected MOs: values, gradient, Laplacian</h3>
|
||||
<div class="outline-text-3" id="text-2-5">
|
||||
</div>
|
||||
<div id="outline-container-org19d53a8" class="outline-4">
|
||||
<h4 id="org19d53a8"><span class="section-number-4">2.5.1.</span> Compute</h4>
|
||||
<div id="outline-container-org6dd3ce7" class="outline-4">
|
||||
<h4 id="org6dd3ce7"><span class="section-number-4">2.5.1.</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-5-1">
|
||||
<table id="org2bb8f01" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org4632c1d" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2073,8 +2073,8 @@ IVDEP
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9f9af23" class="outline-4">
|
||||
<h4 id="org9f9af23"><span class="section-number-4">2.5.2.</span> HPC version</h4>
|
||||
<div id="outline-container-org552b82f" class="outline-4">
|
||||
<h4 id="org552b82f"><span class="section-number-4">2.5.2.</span> HPC version</h4>
|
||||
<div class="outline-text-4" id="text-2-5-2">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #483d8b;">#ifdef</span> HAVE_HPC
|
||||
@ -2273,8 +2273,8 @@ IVDEP
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf7968a7" class="outline-3">
|
||||
<h3 id="orgf7968a7"><span class="section-number-3">2.6.</span> Rescaling of MO coefficients</h3>
|
||||
<div id="outline-container-org80d5b59" class="outline-3">
|
||||
<h3 id="org80d5b59"><span class="section-number-3">2.6.</span> Rescaling of MO coefficients</h3>
|
||||
<div class="outline-text-3" id="text-2-6">
|
||||
<p>
|
||||
When evaluating Slater determinants, the value of the determinants
|
||||
@ -2291,19 +2291,19 @@ correct range.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org98982b9" class="outline-4">
|
||||
<h4 id="org98982b9"><span class="section-number-4">2.6.1.</span> Fortran interface</h4>
|
||||
<div id="outline-container-org1b1d197" class="outline-4">
|
||||
<h4 id="org1b1d197"><span class="section-number-4">2.6.1.</span> Fortran interface</h4>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3d4a68c" class="outline-3">
|
||||
<h3 id="org3d4a68c"><span class="section-number-3">2.7.</span> Test</h3>
|
||||
<div id="outline-container-org2852af6" class="outline-3">
|
||||
<h3 id="org2852af6"><span class="section-number-3">2.7.</span> Test</h3>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2025-04-02 Wed 13:00</p>
|
||||
<p class="date">Created: 2025-04-29 Tue 08:44</p>
|
||||
<p class="validation"><a href="https://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>
|
||||
<!-- 2025-04-02 Wed 13:00 -->
|
||||
<!-- 2025-04-29 Tue 08:44 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Nucleus</title>
|
||||
@ -258,28 +258,28 @@ org_html_manager.setup(); // activate after the parameters are set
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents" role="doc-toc">
|
||||
<ul>
|
||||
<li><a href="#org9d3c510">1. Context</a>
|
||||
<li><a href="#org37e5502">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#orgf7b1be6">1.1. Data structure</a></li>
|
||||
<li><a href="#orgca00f1a">1.2. Access functions</a></li>
|
||||
<li><a href="#org72d7a83">1.3. Initialization functions</a></li>
|
||||
<li><a href="#orgb145888">1.4. Test</a></li>
|
||||
<li><a href="#org3400472">1.1. Data structure</a></li>
|
||||
<li><a href="#orgef1abb1">1.2. Access functions</a></li>
|
||||
<li><a href="#org6eec8cd">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org6166312">1.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgcf541f7">2. Computation</a>
|
||||
<li><a href="#org509f18c">2. Computation</a>
|
||||
<ul>
|
||||
<li><a href="#org8e57426">2.1. Nucleus-nucleus distances</a>
|
||||
<li><a href="#orgd97e378">2.1. Nucleus-nucleus distances</a>
|
||||
<ul>
|
||||
<li><a href="#orgf79e940">2.1.1. Get</a></li>
|
||||
<li><a href="#org4179aa3">2.1.2. Compute</a></li>
|
||||
<li><a href="#org56559f0">2.1.3. Test</a></li>
|
||||
<li><a href="#org1f9d1a1">2.1.1. Get</a></li>
|
||||
<li><a href="#orgc867df3">2.1.2. Compute</a></li>
|
||||
<li><a href="#orgff437d1">2.1.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org2da2728">2.2. Nuclear repulsion energy</a>
|
||||
<li><a href="#org9776d05">2.2. Nuclear repulsion energy</a>
|
||||
<ul>
|
||||
<li><a href="#org2452c65">2.2.1. Get</a></li>
|
||||
<li><a href="#orgee55d0a">2.2.2. Compute</a></li>
|
||||
<li><a href="#org15932fb">2.2.3. Test</a></li>
|
||||
<li><a href="#orgca8c6db">2.2.1. Get</a></li>
|
||||
<li><a href="#orgce1fae6">2.2.2. Compute</a></li>
|
||||
<li><a href="#org70c8094">2.2.3. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@ -288,8 +288,8 @@ org_html_manager.setup(); // activate after the parameters are set
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9d3c510" class="outline-2">
|
||||
<h2 id="org9d3c510"><span class="section-number-2">1.</span> Context</h2>
|
||||
<div id="outline-container-org37e5502" class="outline-2">
|
||||
<h2 id="org37e5502"><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:
|
||||
@ -386,8 +386,8 @@ Computed data:
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf7b1be6" class="outline-3">
|
||||
<h3 id="orgf7b1be6"><span class="section-number-3">1.1.</span> Data structure</h3>
|
||||
<div id="outline-container-org3400472" class="outline-3">
|
||||
<h3 id="org3400472"><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> {
|
||||
@ -441,8 +441,8 @@ this mechanism.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgca00f1a" class="outline-3">
|
||||
<h3 id="orgca00f1a"><span class="section-number-3">1.2.</span> Access functions</h3>
|
||||
<div id="outline-container-orgef1abb1" class="outline-3">
|
||||
<h3 id="orgef1abb1"><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
|
||||
@ -456,8 +456,8 @@ function returns <code>true</code>.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org72d7a83" class="outline-3">
|
||||
<h3 id="org72d7a83"><span class="section-number-3">1.3.</span> Initialization functions</h3>
|
||||
<div id="outline-container-org6eec8cd" class="outline-3">
|
||||
<h3 id="org6eec8cd"><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
|
||||
@ -503,8 +503,8 @@ are be given in atomic units.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb145888" class="outline-3">
|
||||
<h3 id="orgb145888"><span class="section-number-3">1.4.</span> Test</h3>
|
||||
<div id="outline-container-org6166312" class="outline-3">
|
||||
<h3 id="org6166312"><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;">double</span>* <span style="color: #a0522d;">nucl_charge</span> = chbrclf_charge;
|
||||
@ -573,8 +573,8 @@ rc = qmckl_get_nucleus_charge(context, nucl_charge2, chbrclf_nucl_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgcf541f7" class="outline-2">
|
||||
<h2 id="orgcf541f7"><span class="section-number-2">2.</span> Computation</h2>
|
||||
<div id="outline-container-org509f18c" class="outline-2">
|
||||
<h2 id="org509f18c"><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
|
||||
@ -587,12 +587,12 @@ current date is stored.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8e57426" class="outline-3">
|
||||
<h3 id="org8e57426"><span class="section-number-3">2.1.</span> Nucleus-nucleus distances</h3>
|
||||
<div id="outline-container-orgd97e378" class="outline-3">
|
||||
<h3 id="orgd97e378"><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-orgf79e940" class="outline-4">
|
||||
<h4 id="orgf79e940"><span class="section-number-4">2.1.1.</span> Get</h4>
|
||||
<div id="outline-container-org1f9d1a1" class="outline-4">
|
||||
<h4 id="org1f9d1a1"><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>
|
||||
@ -604,10 +604,10 @@ current date is stored.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4179aa3" class="outline-4">
|
||||
<h4 id="org4179aa3"><span class="section-number-4">2.1.2.</span> Compute</h4>
|
||||
<div id="outline-container-orgc867df3" class="outline-4">
|
||||
<h4 id="orgc867df3"><span class="section-number-4">2.1.2.</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-1-2">
|
||||
<table id="org9720f45" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org3c325b8" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -685,8 +685,8 @@ current date is stored.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org56559f0" class="outline-4">
|
||||
<h4 id="org56559f0"><span class="section-number-4">2.1.3.</span> Test</h4>
|
||||
<div id="outline-container-orgff437d1" class="outline-4">
|
||||
<h4 id="orgff437d1"><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> */
|
||||
@ -705,8 +705,8 @@ rc = qmckl_get_nucleus_nn_distance(context, distance, chbrclf_nucl_num*chbrclf_n
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2da2728" class="outline-3">
|
||||
<h3 id="org2da2728"><span class="section-number-3">2.2.</span> Nuclear repulsion energy</h3>
|
||||
<div id="outline-container-org9776d05" class="outline-3">
|
||||
<h3 id="org9776d05"><span class="section-number-3">2.2.</span> Nuclear repulsion energy</h3>
|
||||
<div class="outline-text-3" id="text-2-2">
|
||||
<p>
|
||||
\[
|
||||
@ -715,8 +715,8 @@ rc = qmckl_get_nucleus_nn_distance(context, distance, chbrclf_nucl_num*chbrclf_n
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2452c65" class="outline-4">
|
||||
<h4 id="org2452c65"><span class="section-number-4">2.2.1.</span> Get</h4>
|
||||
<div id="outline-container-orgca8c6db" class="outline-4">
|
||||
<h4 id="orgca8c6db"><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_repulsion</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">energy</span>);
|
||||
@ -725,10 +725,10 @@ rc = qmckl_get_nucleus_nn_distance(context, distance, chbrclf_nucl_num*chbrclf_n
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgee55d0a" class="outline-4">
|
||||
<h4 id="orgee55d0a"><span class="section-number-4">2.2.2.</span> Compute</h4>
|
||||
<div id="outline-container-orgce1fae6" class="outline-4">
|
||||
<h4 id="orgce1fae6"><span class="section-number-4">2.2.2.</span> Compute</h4>
|
||||
<div class="outline-text-4" id="text-2-2-2">
|
||||
<table id="orgbfd5ca1" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org51e421b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -818,8 +818,8 @@ rc = qmckl_get_nucleus_nn_distance(context, distance, chbrclf_nucl_num*chbrclf_n
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org15932fb" class="outline-4">
|
||||
<h4 id="org15932fb"><span class="section-number-4">2.2.3.</span> Test</h4>
|
||||
<div id="outline-container-org70c8094" class="outline-4">
|
||||
<h4 id="org70c8094"><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> */
|
||||
@ -839,7 +839,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: 2025-04-02 Wed 13:00</p>
|
||||
<p class="date">Created: 2025-04-29 Tue 08:44</p>
|
||||
<p class="validation"><a href="https://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>
|
||||
<!-- 2025-04-02 Wed 13:00 -->
|
||||
<!-- 2025-04-29 Tue 08:44 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>‎</title>
|
||||
@ -257,18 +257,18 @@ org_html_manager.setup(); // activate after the parameters are set
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents" role="doc-toc">
|
||||
<ul>
|
||||
<li><a href="#orgda2fc50">1. Control of the numerical precision</a></li>
|
||||
<li><a href="#orgcc31963">2. Precision</a></li>
|
||||
<li><a href="#orgb72d677">3. Range</a></li>
|
||||
<li><a href="#org7cdeadd">4. Helper functions</a>
|
||||
<li><a href="#org0a8f303">1. Control of the numerical precision</a></li>
|
||||
<li><a href="#orgcca2cda">2. Precision</a></li>
|
||||
<li><a href="#orgd9371f4">3. Range</a></li>
|
||||
<li><a href="#orgb83d2e9">4. Helper functions</a>
|
||||
<ul>
|
||||
<li><a href="#orgc44e589">4.1. Epsilon</a></li>
|
||||
<li><a href="#orga87eb55">4.2. Testing the number of unchanged bits</a></li>
|
||||
<li><a href="#org0b60c7f">4.1. Epsilon</a></li>
|
||||
<li><a href="#org2fa0448">4.2. Testing the number of unchanged bits</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org4c1e54f">5. Approximate functions</a>
|
||||
<li><a href="#org9d641e5">5. Approximate functions</a>
|
||||
<ul>
|
||||
<li><a href="#org437fa71">5.1. Exponential</a></li>
|
||||
<li><a href="#org164708d">5.1. Exponential</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@ -278,8 +278,8 @@ org_html_manager.setup(); // activate after the parameters are set
|
||||
3+TITLE: Numerical precision
|
||||
</p>
|
||||
|
||||
<div id="outline-container-orgda2fc50" class="outline-2">
|
||||
<h2 id="orgda2fc50"><span class="section-number-2">1.</span> Control of the numerical precision</h2>
|
||||
<div id="outline-container-org0a8f303" class="outline-2">
|
||||
<h2 id="org0a8f303"><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
|
||||
@ -290,7 +290,7 @@ Arithmetic (IEEE 754),
|
||||
sign bit) and <i>range</i> refers to the number of exponent bits.
|
||||
</p>
|
||||
|
||||
<table id="org28191f5" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orga3efb32" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -334,8 +334,8 @@ integer. The update functions return <code>QMCKL_SUCCESS</code> or
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgcc31963" class="outline-2">
|
||||
<h2 id="orgcc31963"><span class="section-number-2">2.</span> Precision</h2>
|
||||
<div id="outline-container-orgcca2cda" class="outline-2">
|
||||
<h2 id="orgcca2cda"><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
|
||||
@ -422,8 +422,8 @@ numerical precision in the context.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb72d677" class="outline-2">
|
||||
<h2 id="orgb72d677"><span class="section-number-2">3.</span> Range</h2>
|
||||
<div id="outline-container-orgd9371f4" class="outline-2">
|
||||
<h2 id="orgd9371f4"><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
|
||||
@ -498,12 +498,12 @@ range in a given context.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org7cdeadd" class="outline-2">
|
||||
<h2 id="org7cdeadd"><span class="section-number-2">4.</span> Helper functions</h2>
|
||||
<div id="outline-container-orgb83d2e9" class="outline-2">
|
||||
<h2 id="orgb83d2e9"><span class="section-number-2">4.</span> Helper functions</h2>
|
||||
<div class="outline-text-2" id="text-4">
|
||||
</div>
|
||||
<div id="outline-container-orgc44e589" class="outline-3">
|
||||
<h3 id="orgc44e589"><span class="section-number-3">4.1.</span> Epsilon</h3>
|
||||
<div id="outline-container-org0b60c7f" class="outline-3">
|
||||
<h3 id="org0b60c7f"><span class="section-number-3">4.1.</span> Epsilon</h3>
|
||||
<div class="outline-text-3" id="text-4-1">
|
||||
<p>
|
||||
<code>qmckl_get_numprec_epsilon</code> returns \(\epsilon = 2^{1-n}\) where <code>n</code> is the precision.
|
||||
@ -522,8 +522,8 @@ We need to remove the sign bit from the precision.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orga87eb55" class="outline-3">
|
||||
<h3 id="orga87eb55"><span class="section-number-3">4.2.</span> Testing the number of unchanged bits</h3>
|
||||
<div id="outline-container-org2fa0448" class="outline-3">
|
||||
<h3 id="org2fa0448"><span class="section-number-3">4.2.</span> Testing the number of unchanged bits</h3>
|
||||
<div class="outline-text-3" id="text-4-2">
|
||||
<p>
|
||||
To test that a given approximation keeps a given number of bits
|
||||
@ -593,12 +593,12 @@ numbers differ.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4c1e54f" class="outline-2">
|
||||
<h2 id="org4c1e54f"><span class="section-number-2">5.</span> Approximate functions</h2>
|
||||
<div id="outline-container-org9d641e5" class="outline-2">
|
||||
<h2 id="org9d641e5"><span class="section-number-2">5.</span> Approximate functions</h2>
|
||||
<div class="outline-text-2" id="text-5">
|
||||
</div>
|
||||
<div id="outline-container-org437fa71" class="outline-3">
|
||||
<h3 id="org437fa71"><span class="section-number-3">5.1.</span> Exponential</h3>
|
||||
<div id="outline-container-org164708d" class="outline-3">
|
||||
<h3 id="org164708d"><span class="section-number-3">5.1.</span> Exponential</h3>
|
||||
<div class="outline-text-3" id="text-5-1">
|
||||
<p>
|
||||
Fast exponential function, adapted from Johan Rade's implementation
|
||||
@ -653,7 +653,7 @@ N. Schraudolph, "A Fast, Compact Approximation of the Exponential Function",
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2025-04-02 Wed 13:00</p>
|
||||
<p class="date">Created: 2025-04-29 Tue 08:44</p>
|
||||
<p class="validation"><a href="https://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>
|
||||
<!-- 2025-04-02 Wed 13:00 -->
|
||||
<!-- 2025-04-29 Tue 08:44 -->
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>Point</title>
|
||||
@ -258,25 +258,25 @@ org_html_manager.setup(); // activate after the parameters are set
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents" role="doc-toc">
|
||||
<ul>
|
||||
<li><a href="#org43c16e8">1. Context</a>
|
||||
<li><a href="#org9e30ad9">1. Context</a>
|
||||
<ul>
|
||||
<li><a href="#orgafbc629">1.1. Data structure</a></li>
|
||||
<li><a href="#orge1add45">1.2. Access functions</a>
|
||||
<li><a href="#org5e13397">1.1. Data structure</a></li>
|
||||
<li><a href="#org081d107">1.2. Access functions</a>
|
||||
<ul>
|
||||
<li><a href="#org5c59b90">1.2.1. Number of points</a></li>
|
||||
<li><a href="#org2345291">1.2.2. Point coordinates</a></li>
|
||||
<li><a href="#orgad5f22f">1.2.1. Number of points</a></li>
|
||||
<li><a href="#orgb80f0f3">1.2.2. Point coordinates</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orga82458a">1.3. Initialization functions</a></li>
|
||||
<li><a href="#orgdac41b2">1.4. Test</a></li>
|
||||
<li><a href="#org0f7710f">1.3. Initialization functions</a></li>
|
||||
<li><a href="#org9ebef91">1.4. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org43c16e8" class="outline-2">
|
||||
<h2 id="org43c16e8"><span class="section-number-2">1.</span> Context</h2>
|
||||
<div id="outline-container-org9e30ad9" class="outline-2">
|
||||
<h2 id="org9e30ad9"><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:
|
||||
@ -326,8 +326,8 @@ corresponds to the 3 × <code>num</code> matrix.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgafbc629" class="outline-3">
|
||||
<h3 id="orgafbc629"><span class="section-number-3">1.1.</span> Data structure</h3>
|
||||
<div id="outline-container-org5e13397" class="outline-3">
|
||||
<h3 id="org5e13397"><span class="section-number-3">1.1.</span> Data structure</h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #a020f0;">typedef</span> <span style="color: #a020f0;">struct</span> <span style="color: #228b22;">qmckl_point_struct</span> {
|
||||
@ -363,8 +363,8 @@ corresponds to the 3 × <code>num</code> matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge1add45" class="outline-3">
|
||||
<h3 id="orge1add45"><span class="section-number-3">1.2.</span> Access functions</h3>
|
||||
<div id="outline-container-org081d107" class="outline-3">
|
||||
<h3 id="org081d107"><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
|
||||
@ -375,8 +375,8 @@ contains the requested data. Otherwise, this variable is untouched.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5c59b90" class="outline-4">
|
||||
<h4 id="org5c59b90"><span class="section-number-4">1.2.1.</span> Number of points</h4>
|
||||
<div id="outline-container-orgad5f22f" class="outline-4">
|
||||
<h4 id="orgad5f22f"><span class="section-number-4">1.2.1.</span> Number of points</h4>
|
||||
<div class="outline-text-4" id="text-1-2-1">
|
||||
<p>
|
||||
Returns the number of points stored in the context.
|
||||
@ -398,8 +398,8 @@ Returns the number of points stored in the context.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2345291" class="outline-4">
|
||||
<h4 id="org2345291"><span class="section-number-4">1.2.2.</span> Point coordinates</h4>
|
||||
<div id="outline-container-orgb80f0f3" class="outline-4">
|
||||
<h4 id="orgb80f0f3"><span class="section-number-4">1.2.2.</span> Point coordinates</h4>
|
||||
<div class="outline-text-4" id="text-1-2-2">
|
||||
<p>
|
||||
Returns the point coordinates as sequences of (x,y,z).
|
||||
@ -427,8 +427,8 @@ The pointer is assumed to point on a memory block of size
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orga82458a" class="outline-3">
|
||||
<h3 id="orga82458a"><span class="section-number-3">1.3.</span> Initialization functions</h3>
|
||||
<div id="outline-container-org0f7710f" class="outline-3">
|
||||
<h3 id="org0f7710f"><span class="section-number-3">1.3.</span> Initialization functions</h3>
|
||||
<div class="outline-text-3" id="text-1-3">
|
||||
<p>
|
||||
When the data is set in the context, if the arrays are large
|
||||
@ -567,8 +567,8 @@ Copy a sequence of <code>num</code> points \((x,y,z)\) into the context.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgdac41b2" class="outline-3">
|
||||
<h3 id="orgdac41b2"><span class="section-number-3">1.4.</span> Test</h3>
|
||||
<div id="outline-container-org9ebef91" class="outline-3">
|
||||
<h3 id="org9ebef91"><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> */
|
||||
@ -627,7 +627,7 @@ rc = qmckl_get_point (context, <span style="color: #8b2252;">'N'</span>, coord3,
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2025-04-02 Wed 13:00</p>
|
||||
<p class="date">Created: 2025-04-29 Tue 08:44</p>
|
||||
<p class="validation"><a href="https://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>
|
||||
<!-- 2025-04-02 Wed 13:00 -->
|
||||
<!-- 2025-04-29 Tue 08:44 -->
|
||||
<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>
|
||||
@ -258,118 +258,118 @@ org_html_manager.setup(); // activate after the parameters are set
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents" role="doc-toc">
|
||||
<ul>
|
||||
<li><a href="#orgb72b3cd">1. Headers</a></li>
|
||||
<li><a href="#org74649eb">2. Naïve Sherman-Morrison</a>
|
||||
<li><a href="#org2263c5d">1. Headers</a></li>
|
||||
<li><a href="#org46a3026">2. Naïve Sherman-Morrison</a>
|
||||
<ul>
|
||||
<li><a href="#org0543282">2.1. <code>qmckl_sm_naive</code></a>
|
||||
<li><a href="#orgc522a71">2.1. <code>qmckl_sm_naive</code></a>
|
||||
<ul>
|
||||
<li><a href="#org47eabba">2.1.1. Introduction</a></li>
|
||||
<li><a href="#orgd454f5a">2.1.2. API</a></li>
|
||||
<li><a href="#org95f8255">2.1.3. Requirements</a></li>
|
||||
<li><a href="#org45f4c1a">2.1.4. Pedagogical kernel source (in Fortran)</a>
|
||||
<li><a href="#org5b4a9ec">2.1.1. Introduction</a></li>
|
||||
<li><a href="#org78de028">2.1.2. API</a></li>
|
||||
<li><a href="#org3f965c0">2.1.3. Requirements</a></li>
|
||||
<li><a href="#orgb937f7a">2.1.4. Pedagogical kernel source (in Fortran)</a>
|
||||
<ul>
|
||||
<li><a href="#org6852399">2.1.4.1. C interface (not directly exposed)</a></li>
|
||||
<li><a href="#org501a026">2.1.4.1. C interface (not directly exposed)</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgbbd7daf">2.1.5. C headers (exposed in qmckl.h)</a></li>
|
||||
<li><a href="#orgafb5a15">2.1.6. C sources</a></li>
|
||||
<li><a href="#org3597ca7">2.1.7. Fortran interfaces (exposed in qmckl<sub>f.F90</sub>)</a></li>
|
||||
<li><a href="#org9b6491e">2.1.8. Performance</a></li>
|
||||
<li><a href="#org799f583">2.1.9. Tests</a></li>
|
||||
<li><a href="#org65dccc9">2.1.5. C headers (exposed in qmckl.h)</a></li>
|
||||
<li><a href="#orga25d8d5">2.1.6. C sources</a></li>
|
||||
<li><a href="#org2714ce1">2.1.7. Fortran interfaces (exposed in qmckl<sub>f.F90</sub>)</a></li>
|
||||
<li><a href="#org1b67f87">2.1.8. Performance</a></li>
|
||||
<li><a href="#orgc75fb0c">2.1.9. Tests</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgc08e3b1">3. Sherman-Morrison with Slagel Splitting (core)</a>
|
||||
<li><a href="#org2c1fd8d">3. Sherman-Morrison with Slagel Splitting (core)</a>
|
||||
<ul>
|
||||
<li><a href="#org981f110">3.1. <code>qmckl_sm_splitting_core</code></a>
|
||||
<li><a href="#org37ffeb1">3.1. <code>qmckl_sm_splitting_core</code></a>
|
||||
<ul>
|
||||
<li><a href="#org3955362">3.1.1. Introduction</a></li>
|
||||
<li><a href="#orge60aa75">3.1.2. API</a></li>
|
||||
<li><a href="#org890fa63">3.1.3. Requirements</a></li>
|
||||
<li><a href="#org938b0cd">3.1.4. Pedagogical kernel source (in Fortran)</a>
|
||||
<li><a href="#org9b60adc">3.1.1. Introduction</a></li>
|
||||
<li><a href="#org165c033">3.1.2. API</a></li>
|
||||
<li><a href="#org5a111d2">3.1.3. Requirements</a></li>
|
||||
<li><a href="#orga2ff933">3.1.4. Pedagogical kernel source (in Fortran)</a>
|
||||
<ul>
|
||||
<li><a href="#orged01025">3.1.4.1. C interface to the pedagogical kernel (not directly exposed)</a></li>
|
||||
<li><a href="#org9152258">3.1.4.1. C interface to the pedagogical kernel (not directly exposed)</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgb3c425c">3.1.5. C headers (exposed in qmckl.h)</a></li>
|
||||
<li><a href="#org05e8f81">3.1.6. C sources</a></li>
|
||||
<li><a href="#orgd6b0718">3.1.7. Fortran interfaces (exposed in qmckl<sub>f.F90</sub>)</a></li>
|
||||
<li><a href="#org4fe34f9">3.1.8. Performance</a></li>
|
||||
<li><a href="#orge0ca741">3.1.5. C headers (exposed in qmckl.h)</a></li>
|
||||
<li><a href="#org8264f68">3.1.6. C sources</a></li>
|
||||
<li><a href="#org9595529">3.1.7. Fortran interfaces (exposed in qmckl<sub>f.F90</sub>)</a></li>
|
||||
<li><a href="#org90eaea1">3.1.8. Performance</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgc473b5a">4. Woodbury 2x2</a>
|
||||
<li><a href="#orgf8334eb">4. Woodbury 2x2</a>
|
||||
<ul>
|
||||
<li><a href="#org59798f1">4.1. <code>qmckl_woodbury_2x2</code></a>
|
||||
<li><a href="#orge8e6d41">4.1. <code>qmckl_woodbury_2x2</code></a>
|
||||
<ul>
|
||||
<li><a href="#org7f243c2">4.1.1. Introduction</a></li>
|
||||
<li><a href="#org84424a1">4.1.2. API</a></li>
|
||||
<li><a href="#org30c3ccf">4.1.3. Requirements</a></li>
|
||||
<li><a href="#org1149c2a">4.1.4. Pedagogical kernel source (in Fortran)</a>
|
||||
<li><a href="#org87a097f">4.1.1. Introduction</a></li>
|
||||
<li><a href="#org10e158b">4.1.2. API</a></li>
|
||||
<li><a href="#org7cd0a93">4.1.3. Requirements</a></li>
|
||||
<li><a href="#org388fe3a">4.1.4. Pedagogical kernel source (in Fortran)</a>
|
||||
<ul>
|
||||
<li><a href="#org33c391e">4.1.4.1. C interface (not directly exposed)</a></li>
|
||||
<li><a href="#org06e8125">4.1.4.1. C interface (not directly exposed)</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org630c72a">4.1.5. C headers (exposed in qmckl.h)</a></li>
|
||||
<li><a href="#org5eb0bc3">4.1.6. C sources</a></li>
|
||||
<li><a href="#org229a9b1">4.1.7. Fortran interfaces (exposed in qmckl<sub>f.F90</sub>)</a></li>
|
||||
<li><a href="#org2fd5539">4.1.8. Performance</a></li>
|
||||
<li><a href="#org9cee39c">4.1.9. Tests</a></li>
|
||||
<li><a href="#org40ee60d">4.1.5. C headers (exposed in qmckl.h)</a></li>
|
||||
<li><a href="#org0ce3f25">4.1.6. C sources</a></li>
|
||||
<li><a href="#org7a01135">4.1.7. Fortran interfaces (exposed in qmckl<sub>f.F90</sub>)</a></li>
|
||||
<li><a href="#org78e24d2">4.1.8. Performance</a></li>
|
||||
<li><a href="#org592bbcb">4.1.9. Tests</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org6bc5db7">5. Woodbury 3x3</a>
|
||||
<li><a href="#org5f9be59">5. Woodbury 3x3</a>
|
||||
<ul>
|
||||
<li><a href="#org328b9ec">5.1. <code>qmckl_woodbury_3x3</code></a>
|
||||
<li><a href="#org1ce0c56">5.1. <code>qmckl_woodbury_3x3</code></a>
|
||||
<ul>
|
||||
<li><a href="#org1fd1a52">5.1.1. Introduction</a></li>
|
||||
<li><a href="#org17dfa9c">5.1.2. API</a></li>
|
||||
<li><a href="#org468dac5">5.1.3. Requirements</a></li>
|
||||
<li><a href="#org8b6afb8">5.1.4. Pedagogical kernel source (in Fortran)</a>
|
||||
<li><a href="#orgb63374a">5.1.1. Introduction</a></li>
|
||||
<li><a href="#orgdc9cb5b">5.1.2. API</a></li>
|
||||
<li><a href="#org46fcf3d">5.1.3. Requirements</a></li>
|
||||
<li><a href="#org48c9ba6">5.1.4. Pedagogical kernel source (in Fortran)</a>
|
||||
<ul>
|
||||
<li><a href="#org17018ed">5.1.4.1. C interface (not directly exposed)</a></li>
|
||||
<li><a href="#org890a531">5.1.4.1. C interface (not directly exposed)</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org73749ca">5.1.5. C headers (exposed in qmckl.h)</a></li>
|
||||
<li><a href="#org3d2221f">5.1.6. C sources</a></li>
|
||||
<li><a href="#org7e179eb">5.1.7. Fortran interfaces (exposed in qmckl<sub>f.F90</sub>)</a></li>
|
||||
<li><a href="#orgcd5c56a">5.1.8. Performance</a></li>
|
||||
<li><a href="#orga88ce58">5.1.9. Tests</a></li>
|
||||
<li><a href="#orgcdecb9c">5.1.5. C headers (exposed in qmckl.h)</a></li>
|
||||
<li><a href="#org148609e">5.1.6. C sources</a></li>
|
||||
<li><a href="#org0e70e3f">5.1.7. Fortran interfaces (exposed in qmckl<sub>f.F90</sub>)</a></li>
|
||||
<li><a href="#orgdc8c8f8">5.1.8. Performance</a></li>
|
||||
<li><a href="#org1325660">5.1.9. Tests</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org1769ffe">6. Sherman-Morrison with Slagel Splitting</a>
|
||||
<li><a href="#org81b10f0">6. Sherman-Morrison with Slagel Splitting</a>
|
||||
<ul>
|
||||
<li><a href="#org36d6f2a">6.1. <code>qmckl_sm_splitting</code></a>
|
||||
<li><a href="#org0f829d1">6.1. <code>qmckl_sm_splitting</code></a>
|
||||
<ul>
|
||||
<li><a href="#org46839a1">6.1.1. Introduction</a></li>
|
||||
<li><a href="#org7d81d6f">6.1.2. API</a></li>
|
||||
<li><a href="#org2a49069">6.1.3. Requirements</a></li>
|
||||
<li><a href="#org989bb45">6.1.4. Pedagogical kernel source (in Fortran)</a>
|
||||
<li><a href="#orgcd61405">6.1.1. Introduction</a></li>
|
||||
<li><a href="#org869aa2e">6.1.2. API</a></li>
|
||||
<li><a href="#orgf8c39e1">6.1.3. Requirements</a></li>
|
||||
<li><a href="#org420d37a">6.1.4. Pedagogical kernel source (in Fortran)</a>
|
||||
<ul>
|
||||
<li><a href="#org83129a0">6.1.4.1. C interface to the pedagogical kernel (not directly exposed)</a></li>
|
||||
<li><a href="#org836921e">6.1.4.1. C interface to the pedagogical kernel (not directly exposed)</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org3749853">6.1.5. C headers (exposed in qmckl.h)</a></li>
|
||||
<li><a href="#org9f789d7">6.1.6. C source</a></li>
|
||||
<li><a href="#org1d2e35e">6.1.7. Fortran interfaces (exposed in qmckl<sub>f.F90</sub>)</a></li>
|
||||
<li><a href="#orgf295b3e">6.1.8. Performance…</a></li>
|
||||
<li><a href="#orgb80bec0">6.1.9. Test</a></li>
|
||||
<li><a href="#orga77d506">6.1.5. C headers (exposed in qmckl.h)</a></li>
|
||||
<li><a href="#org27aa135">6.1.6. C source</a></li>
|
||||
<li><a href="#org27eb55b">6.1.7. Fortran interfaces (exposed in qmckl<sub>f.F90</sub>)</a></li>
|
||||
<li><a href="#org7287323">6.1.8. Performance…</a></li>
|
||||
<li><a href="#org078cc6c">6.1.9. Test</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org62fa7eb">7. End of files</a></li>
|
||||
<li><a href="#org364a960">7. End of files</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb72b3cd" class="outline-2">
|
||||
<h2 id="orgb72b3cd"><span class="section-number-2">1.</span> Headers</h2>
|
||||
<div id="outline-container-org2263c5d" class="outline-2">
|
||||
<h2 id="org2263c5d"><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>
|
||||
@ -391,17 +391,17 @@ This is the range that determines the how many high performance kernel instantce
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org74649eb" class="outline-2">
|
||||
<h2 id="org74649eb"><span class="section-number-2">2.</span> Naïve Sherman-Morrison</h2>
|
||||
<div id="outline-container-org46a3026" class="outline-2">
|
||||
<h2 id="org46a3026"><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-org0543282" class="outline-3">
|
||||
<h3 id="org0543282"><span class="section-number-3">2.1.</span> <code>qmckl_sm_naive</code></h3>
|
||||
<div id="outline-container-orgc522a71" class="outline-3">
|
||||
<h3 id="orgc522a71"><span class="section-number-3">2.1.</span> <code>qmckl_sm_naive</code></h3>
|
||||
<div class="outline-text-3" id="text-2-1">
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org47eabba" class="outline-4">
|
||||
<h4 id="org47eabba"><span class="section-number-4">2.1.1.</span> Introduction</h4>
|
||||
<div id="outline-container-org5b4a9ec" class="outline-4">
|
||||
<h4 id="org5b4a9ec"><span class="section-number-4">2.1.1.</span> Introduction</h4>
|
||||
<div class="outline-text-4" id="text-2-1-1">
|
||||
<p>
|
||||
This is the simplest of the available Sherman-Morrison-Woodbury kernels. It applies rank-1 updates one by one in
|
||||
@ -451,10 +451,10 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd454f5a" class="outline-4">
|
||||
<h4 id="orgd454f5a"><span class="section-number-4">2.1.2.</span> API</h4>
|
||||
<div id="outline-container-org78de028" class="outline-4">
|
||||
<h4 id="org78de028"><span class="section-number-4">2.1.2.</span> API</h4>
|
||||
<div class="outline-text-4" id="text-2-1-2">
|
||||
<table id="org7301c41" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgf5c5827" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -542,8 +542,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org95f8255" class="outline-4">
|
||||
<h4 id="org95f8255"><span class="section-number-4">2.1.3.</span> Requirements</h4>
|
||||
<div id="outline-container-org3f965c0" class="outline-4">
|
||||
<h4 id="org3f965c0"><span class="section-number-4">2.1.3.</span> Requirements</h4>
|
||||
<div class="outline-text-4" id="text-2-1-3">
|
||||
<ul class="org-ul">
|
||||
<li><code>context</code> is not <code>QMCKL_NULL_CONTEXT</code></li>
|
||||
@ -559,8 +559,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org45f4c1a" class="outline-4">
|
||||
<h4 id="org45f4c1a"><span class="section-number-4">2.1.4.</span> Pedagogical kernel source (in Fortran)</h4>
|
||||
<div id="outline-container-orgb937f7a" class="outline-4">
|
||||
<h4 id="orgb937f7a"><span class="section-number-4">2.1.4.</span> Pedagogical kernel source (in Fortran)</h4>
|
||||
<div class="outline-text-4" id="text-2-1-4">
|
||||
<p>
|
||||
The following source code written in Fortran is inteded to illustrate how the kernel works. Even though the kernel is
|
||||
@ -654,8 +654,8 @@ not be used in real workloads.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6852399" class="outline-5">
|
||||
<h5 id="org6852399"><span class="section-number-5">2.1.4.1.</span> C interface (not directly exposed)</h5>
|
||||
<div id="outline-container-org501a026" class="outline-5">
|
||||
<h5 id="org501a026"><span class="section-number-5">2.1.4.1.</span> C interface (not directly exposed)</h5>
|
||||
<div class="outline-text-5" id="text-2-1-4-1">
|
||||
<p>
|
||||
The following Fortran function <code>qmckl_sm_naive_doc</code> makes sure
|
||||
@ -667,8 +667,8 @@ for C users and in the module file 'qmckl<sub>f.F90</sub>' for Fortran users.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgbbd7daf" class="outline-4">
|
||||
<h4 id="orgbbd7daf"><span class="section-number-4">2.1.5.</span> C headers (exposed in qmckl.h)</h4>
|
||||
<div id="outline-container-org65dccc9" class="outline-4">
|
||||
<h4 id="org65dccc9"><span class="section-number-4">2.1.5.</span> C headers (exposed in qmckl.h)</h4>
|
||||
<div class="outline-text-4" id="text-2-1-5">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_sm_naive</span> (
|
||||
@ -714,8 +714,8 @@ for C users and in the module file 'qmckl<sub>f.F90</sub>' for Fortran users.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgafb5a15" class="outline-4">
|
||||
<h4 id="orgafb5a15"><span class="section-number-4">2.1.6.</span> C sources</h4>
|
||||
<div id="outline-container-orga25d8d5" class="outline-4">
|
||||
<h4 id="orga25d8d5"><span class="section-number-4">2.1.6.</span> C sources</h4>
|
||||
<div class="outline-text-4" id="text-2-1-6">
|
||||
<p>
|
||||
Common includes and macros used by all the Sherman-Morrison-Woodbury kernels.
|
||||
@ -817,7 +817,7 @@ multiple of <code>SIMD_LENGTH</code>.
|
||||
<code>qmckl_exit_code qmckl_sm_naive_{Dim}</code> is a C function-template that is used to genereate instances of C fucntions based on the range given above. The advantage of this method is that for each of these instances all the dimensions and loop-bounds are known at compile time, allowing the compiler to optimize more aggressively.
|
||||
</p>
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c" id="org0ba1dd2"><span style="color: #a020f0;">static</span> <span style="color: #a020f0;">inline</span> <span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #a0522d;">qmckl_sm_naive_</span>{Dim}(
|
||||
<pre class="src src-c" id="orgffe3620"><span style="color: #a020f0;">static</span> <span style="color: #a020f0;">inline</span> <span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #a0522d;">qmckl_sm_naive_</span>{Dim}(
|
||||
<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;">N_updates</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">restrict</span> <span style="color: #a0522d;">Updates</span>,
|
||||
@ -893,7 +893,7 @@ multiple of <code>SIMD_LENGTH</code>.
|
||||
This is the kernel generator written in Python. It uses the kernel generator range and templates defined above to generate the C kernel instances.
|
||||
</p>
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-python" id="org360a535"><span style="color: #a0522d;">text</span>=<span style="color: #8b2252;">"""</span>
|
||||
<pre class="src src-python" id="orgbfbd750"><span style="color: #a0522d;">text</span>=<span style="color: #8b2252;">"""</span>
|
||||
<span style="color: #8b2252;">static inline qmckl_exit_code qmckl_sm_naive_{Dim}(</span>
|
||||
<span style="color: #8b2252;"> const qmckl_context context,</span>
|
||||
<span style="color: #8b2252;"> const uint64_t N_updates,</span>
|
||||
@ -977,7 +977,7 @@ This is the kernel generator written in Python. It uses the kernel generator ran
|
||||
Python script that generated C switch cases that call individual kernel instances.
|
||||
</p>
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-python" id="org2a32d1b"><span style="color: #a0522d;">text</span>=<span style="color: #8b2252;">"""</span>
|
||||
<pre class="src src-python" id="org962c8e7"><span style="color: #a0522d;">text</span>=<span style="color: #8b2252;">"""</span>
|
||||
<span style="color: #8b2252;">case {Dim}: </span>
|
||||
<span style="color: #8b2252;"> return qmckl_sm_naive_{Dim}(context,</span>
|
||||
<span style="color: #8b2252;"> N_updates,</span>
|
||||
@ -2618,14 +2618,14 @@ Python script that generated C switch cases that call individual kernel instance
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3597ca7" class="outline-4">
|
||||
<h4 id="org3597ca7"><span class="section-number-4">2.1.7.</span> Fortran interfaces (exposed in qmckl<sub>f.F90</sub>)</h4>
|
||||
<div id="outline-container-org2714ce1" class="outline-4">
|
||||
<h4 id="org2714ce1"><span class="section-number-4">2.1.7.</span> Fortran interfaces (exposed in qmckl<sub>f.F90</sub>)</h4>
|
||||
<div class="outline-text-4" id="text-2-1-7">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9b6491e" class="outline-4">
|
||||
<h4 id="org9b6491e"><span class="section-number-4">2.1.8.</span> Performance</h4>
|
||||
<div id="outline-container-org1b67f87" class="outline-4">
|
||||
<h4 id="org1b67f87"><span class="section-number-4">2.1.8.</span> Performance</h4>
|
||||
<div class="outline-text-4" id="text-2-1-8">
|
||||
<p>
|
||||
This function performs best when there is only 1 rank-1 update in the update cycle. It is
|
||||
@ -2634,8 +2634,8 @@ can never resolve a situation where applying the update causes singular behaviou
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org799f583" class="outline-4">
|
||||
<h4 id="org799f583"><span class="section-number-4">2.1.9.</span> Tests</h4>
|
||||
<div id="outline-container-orgc75fb0c" class="outline-4">
|
||||
<h4 id="orgc75fb0c"><span class="section-number-4">2.1.9.</span> Tests</h4>
|
||||
<div class="outline-text-4" id="text-2-1-9">
|
||||
<p>
|
||||
The tests for the kernels are executed on datasets that are extracted from a run of
|
||||
@ -2703,17 +2703,17 @@ rc = QMCKL_SUCCESS;
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgc08e3b1" class="outline-2">
|
||||
<h2 id="orgc08e3b1"><span class="section-number-2">3.</span> Sherman-Morrison with Slagel Splitting (core)</h2>
|
||||
<div id="outline-container-org2c1fd8d" class="outline-2">
|
||||
<h2 id="org2c1fd8d"><span class="section-number-2">3.</span> Sherman-Morrison with Slagel Splitting (core)</h2>
|
||||
<div class="outline-text-2" id="text-3">
|
||||
</div>
|
||||
<div id="outline-container-org981f110" class="outline-3">
|
||||
<h3 id="org981f110"><span class="section-number-3">3.1.</span> <code>qmckl_sm_splitting_core</code></h3>
|
||||
<div id="outline-container-org37ffeb1" class="outline-3">
|
||||
<h3 id="org37ffeb1"><span class="section-number-3">3.1.</span> <code>qmckl_sm_splitting_core</code></h3>
|
||||
<div class="outline-text-3" id="text-3-1">
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3955362" class="outline-4">
|
||||
<h4 id="org3955362"><span class="section-number-4">3.1.1.</span> Introduction</h4>
|
||||
<div id="outline-container-org9b60adc" class="outline-4">
|
||||
<h4 id="org9b60adc"><span class="section-number-4">3.1.1.</span> Introduction</h4>
|
||||
<div class="outline-text-4" id="text-3-1-1">
|
||||
<p>
|
||||
<code>qmckl_sm_splitting_core</code> is the inner core part of 'Sherman-Morrison with update splitting' in the next section.
|
||||
@ -2741,10 +2741,10 @@ If the determinant is passed it will only be partially updated if there were any
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orge60aa75" class="outline-4">
|
||||
<h4 id="orge60aa75"><span class="section-number-4">3.1.2.</span> API</h4>
|
||||
<div id="outline-container-org165c033" class="outline-4">
|
||||
<h4 id="org165c033"><span class="section-number-4">3.1.2.</span> API</h4>
|
||||
<div class="outline-text-4" id="text-3-1-2">
|
||||
<table id="orge33ae02" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org6e2778c" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -2853,8 +2853,8 @@ If the determinant is passed it will only be partially updated if there were any
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org890fa63" class="outline-4">
|
||||
<h4 id="org890fa63"><span class="section-number-4">3.1.3.</span> Requirements</h4>
|
||||
<div id="outline-container-org5a111d2" class="outline-4">
|
||||
<h4 id="org5a111d2"><span class="section-number-4">3.1.3.</span> Requirements</h4>
|
||||
<div class="outline-text-4" id="text-3-1-3">
|
||||
<ul class="org-ul">
|
||||
<li><code>LDS >= 2</code></li>
|
||||
@ -2871,8 +2871,8 @@ If the determinant is passed it will only be partially updated if there were any
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org938b0cd" class="outline-4">
|
||||
<h4 id="org938b0cd"><span class="section-number-4">3.1.4.</span> Pedagogical kernel source (in Fortran)</h4>
|
||||
<div id="outline-container-orga2ff933" class="outline-4">
|
||||
<h4 id="orga2ff933"><span class="section-number-4">3.1.4.</span> Pedagogical kernel source (in Fortran)</h4>
|
||||
<div class="outline-text-4" id="text-3-1-4">
|
||||
<p>
|
||||
The following source code written in Fortran is inteded to illustrate how the kernel works. Even though the kernel is
|
||||
@ -2988,8 +2988,8 @@ not be used in real workloads.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orged01025" class="outline-5">
|
||||
<h5 id="orged01025"><span class="section-number-5">3.1.4.1.</span> C interface to the pedagogical kernel (not directly exposed)</h5>
|
||||
<div id="outline-container-org9152258" class="outline-5">
|
||||
<h5 id="org9152258"><span class="section-number-5">3.1.4.1.</span> C interface to the pedagogical kernel (not directly exposed)</h5>
|
||||
<div class="outline-text-5" id="text-3-1-4-1">
|
||||
<p>
|
||||
The function <code>qmckl_sm_splitting_core_doc</code> makes sure that
|
||||
@ -3002,8 +3002,8 @@ exposed in <code>qmckl.h</code> and <code>qmckl_f.F90</code>, but
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb3c425c" class="outline-4">
|
||||
<h4 id="orgb3c425c"><span class="section-number-4">3.1.5.</span> C headers (exposed in qmckl.h)</h4>
|
||||
<div id="outline-container-orge0ca741" class="outline-4">
|
||||
<h4 id="orge0ca741"><span class="section-number-4">3.1.5.</span> C headers (exposed in qmckl.h)</h4>
|
||||
<div class="outline-text-4" id="text-3-1-5">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_sm_splitting_core</span> (
|
||||
@ -3058,8 +3058,8 @@ exposed in <code>qmckl.h</code> and <code>qmckl_f.F90</code>, but
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org05e8f81" class="outline-4">
|
||||
<h4 id="org05e8f81"><span class="section-number-4">3.1.6.</span> C sources</h4>
|
||||
<div id="outline-container-org8264f68" class="outline-4">
|
||||
<h4 id="org8264f68"><span class="section-number-4">3.1.6.</span> C sources</h4>
|
||||
<div class="outline-text-4" id="text-3-1-6">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_sm_splitting_core_hpc</span>(
|
||||
@ -3148,7 +3148,7 @@ exposed in <code>qmckl.h</code> and <code>qmckl_f.F90</code>, but
|
||||
</div>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c" id="org549d4a0"><span style="color: #a020f0;">static</span> <span style="color: #a020f0;">inline</span> <span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #a0522d;">qmckl_sm_splitting_core_</span>{Dim}(
|
||||
<pre class="src src-c" id="org7d1793b"><span style="color: #a020f0;">static</span> <span style="color: #a020f0;">inline</span> <span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #a0522d;">qmckl_sm_splitting_core_</span>{Dim}(
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</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: #a020f0;">restrict</span> <span style="color: #a0522d;">Updates</span>,
|
||||
@ -3232,7 +3232,7 @@ exposed in <code>qmckl.h</code> and <code>qmckl_f.F90</code>, but
|
||||
</div>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-python" id="org654ad1c"><span style="color: #a0522d;">text</span>=<span style="color: #8b2252;">"""</span>
|
||||
<pre class="src src-python" id="orge02a369"><span style="color: #a0522d;">text</span>=<span style="color: #8b2252;">"""</span>
|
||||
<span style="color: #8b2252;">static inline qmckl_exit_code qmckl_sm_splitting_core_{Dim}(</span>
|
||||
<span style="color: #8b2252;"> const qmckl_context context,</span>
|
||||
<span style="color: #8b2252;"> uint64_t N_updates,</span>
|
||||
@ -3324,7 +3324,7 @@ exposed in <code>qmckl.h</code> and <code>qmckl_f.F90</code>, but
|
||||
</div>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-python" id="org0b1e12b"><span style="color: #a0522d;">text</span>=<span style="color: #8b2252;">"""</span>
|
||||
<pre class="src src-python" id="org611ca57"><span style="color: #a0522d;">text</span>=<span style="color: #8b2252;">"""</span>
|
||||
<span style="color: #8b2252;">case {Dim}: {</span>
|
||||
<span style="color: #8b2252;"> return qmckl_sm_splitting_core_{Dim}(</span>
|
||||
<span style="color: #8b2252;"> context,</span>
|
||||
@ -5292,14 +5292,14 @@ exposed in <code>qmckl.h</code> and <code>qmckl_f.F90</code>, but
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd6b0718" class="outline-4">
|
||||
<h4 id="orgd6b0718"><span class="section-number-4">3.1.7.</span> Fortran interfaces (exposed in qmckl<sub>f.F90</sub>)</h4>
|
||||
<div id="outline-container-org9595529" class="outline-4">
|
||||
<h4 id="org9595529"><span class="section-number-4">3.1.7.</span> Fortran interfaces (exposed in qmckl<sub>f.F90</sub>)</h4>
|
||||
<div class="outline-text-4" id="text-3-1-7">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4fe34f9" class="outline-4">
|
||||
<h4 id="org4fe34f9"><span class="section-number-4">3.1.8.</span> Performance</h4>
|
||||
<div id="outline-container-org90eaea1" class="outline-4">
|
||||
<h4 id="org90eaea1"><span class="section-number-4">3.1.8.</span> Performance</h4>
|
||||
<div class="outline-text-4" id="text-3-1-8">
|
||||
<p>
|
||||
This function cannot be used by itself and is used in Sherman-Morrison with update splitting and Woodbury 3x3 and 2x2
|
||||
@ -5311,17 +5311,17 @@ with Sherman-Morrison and update splitting. Please look at the performance recco
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgc473b5a" class="outline-2">
|
||||
<h2 id="orgc473b5a"><span class="section-number-2">4.</span> Woodbury 2x2</h2>
|
||||
<div id="outline-container-orgf8334eb" class="outline-2">
|
||||
<h2 id="orgf8334eb"><span class="section-number-2">4.</span> Woodbury 2x2</h2>
|
||||
<div class="outline-text-2" id="text-4">
|
||||
</div>
|
||||
<div id="outline-container-org59798f1" class="outline-3">
|
||||
<h3 id="org59798f1"><span class="section-number-3">4.1.</span> <code>qmckl_woodbury_2x2</code></h3>
|
||||
<div id="outline-container-orge8e6d41" class="outline-3">
|
||||
<h3 id="orge8e6d41"><span class="section-number-3">4.1.</span> <code>qmckl_woodbury_2x2</code></h3>
|
||||
<div class="outline-text-3" id="text-4-1">
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7f243c2" class="outline-4">
|
||||
<h4 id="org7f243c2"><span class="section-number-4">4.1.1.</span> Introduction</h4>
|
||||
<div id="outline-container-org87a097f" class="outline-4">
|
||||
<h4 id="org87a097f"><span class="section-number-4">4.1.1.</span> Introduction</h4>
|
||||
<div class="outline-text-4" id="text-4-1-1">
|
||||
<p>
|
||||
The Woodbury 2x2 kernel. It is used to apply two rank-1 updates at once. The formula used in
|
||||
@ -5345,10 +5345,10 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org84424a1" class="outline-4">
|
||||
<h4 id="org84424a1"><span class="section-number-4">4.1.2.</span> API</h4>
|
||||
<div id="outline-container-org10e158b" class="outline-4">
|
||||
<h4 id="org10e158b"><span class="section-number-4">4.1.2.</span> API</h4>
|
||||
<div class="outline-text-4" id="text-4-1-2">
|
||||
<table id="org3f62445" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="orgeb257ef" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -5429,8 +5429,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org30c3ccf" class="outline-4">
|
||||
<h4 id="org30c3ccf"><span class="section-number-4">4.1.3.</span> Requirements</h4>
|
||||
<div id="outline-container-org7cd0a93" class="outline-4">
|
||||
<h4 id="org7cd0a93"><span class="section-number-4">4.1.3.</span> Requirements</h4>
|
||||
<div class="outline-text-4" id="text-4-1-3">
|
||||
<ul class="org-ul">
|
||||
<li><code>context</code> is not <code>qmckl_null_context</code></li>
|
||||
@ -5444,8 +5444,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1149c2a" class="outline-4">
|
||||
<h4 id="org1149c2a"><span class="section-number-4">4.1.4.</span> Pedagogical kernel source (in Fortran)</h4>
|
||||
<div id="outline-container-org388fe3a" class="outline-4">
|
||||
<h4 id="org388fe3a"><span class="section-number-4">4.1.4.</span> Pedagogical kernel source (in Fortran)</h4>
|
||||
<div class="outline-text-4" id="text-4-1-4">
|
||||
<p>
|
||||
The following source code written in Fortran is inteded to illustrate how the kernel works. Even though the kernel is
|
||||
@ -5581,8 +5581,8 @@ not be used in real workloads.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org33c391e" class="outline-5">
|
||||
<h5 id="org33c391e"><span class="section-number-5">4.1.4.1.</span> C interface (not directly exposed)</h5>
|
||||
<div id="outline-container-org06e8125" class="outline-5">
|
||||
<h5 id="org06e8125"><span class="section-number-5">4.1.4.1.</span> C interface (not directly exposed)</h5>
|
||||
<div class="outline-text-5" id="text-4-1-4-1">
|
||||
<p>
|
||||
The function <code>qmckl_sm_splitting_core_doc</code> makes sure that
|
||||
@ -5595,8 +5595,8 @@ exposed in <code>qmckl.h</code> and <code>qmckl_f.F90</code>, but
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org630c72a" class="outline-4">
|
||||
<h4 id="org630c72a"><span class="section-number-4">4.1.5.</span> C headers (exposed in qmckl.h)</h4>
|
||||
<div id="outline-container-org40ee60d" class="outline-4">
|
||||
<h4 id="org40ee60d"><span class="section-number-4">4.1.5.</span> C headers (exposed in qmckl.h)</h4>
|
||||
<div class="outline-text-4" id="text-4-1-5">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_woodbury_2x2</span> (
|
||||
@ -5639,8 +5639,8 @@ exposed in <code>qmckl.h</code> and <code>qmckl_f.F90</code>, but
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5eb0bc3" class="outline-4">
|
||||
<h4 id="org5eb0bc3"><span class="section-number-4">4.1.6.</span> C sources</h4>
|
||||
<div id="outline-container-org0ce3f25" class="outline-4">
|
||||
<h4 id="org0ce3f25"><span class="section-number-4">4.1.6.</span> C sources</h4>
|
||||
<div class="outline-text-4" id="text-4-1-6">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_woodbury_2x2_hpc</span>(<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
@ -5724,7 +5724,7 @@ exposed in <code>qmckl.h</code> and <code>qmckl_f.F90</code>, but
|
||||
</div>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c" id="org7192212"><span style="color: #a020f0;">static</span> <span style="color: #a020f0;">inline</span> <span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #a0522d;">qmckl_woodbury_2x2_</span>{Dim}(
|
||||
<pre class="src src-c" id="org4e1bddc"><span style="color: #a020f0;">static</span> <span style="color: #a020f0;">inline</span> <span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #a0522d;">qmckl_woodbury_2x2_</span>{Dim}(
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">restrict</span> <span style="color: #a0522d;">Updates</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span>* <span style="color: #a020f0;">restrict</span> <span style="color: #a0522d;">Updates_index</span>,
|
||||
@ -7674,14 +7674,14 @@ exposed in <code>qmckl.h</code> and <code>qmckl_f.F90</code>, but
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org229a9b1" class="outline-4">
|
||||
<h4 id="org229a9b1"><span class="section-number-4">4.1.7.</span> Fortran interfaces (exposed in qmckl<sub>f.F90</sub>)</h4>
|
||||
<div id="outline-container-org7a01135" class="outline-4">
|
||||
<h4 id="org7a01135"><span class="section-number-4">4.1.7.</span> Fortran interfaces (exposed in qmckl<sub>f.F90</sub>)</h4>
|
||||
<div class="outline-text-4" id="text-4-1-7">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2fd5539" class="outline-4">
|
||||
<h4 id="org2fd5539"><span class="section-number-4">4.1.8.</span> Performance</h4>
|
||||
<div id="outline-container-org78e24d2" class="outline-4">
|
||||
<h4 id="org78e24d2"><span class="section-number-4">4.1.8.</span> Performance</h4>
|
||||
<div class="outline-text-4" id="text-4-1-8">
|
||||
<p>
|
||||
This function is most efficient when used in cases where there are only 2 rank-1 updates and
|
||||
@ -7690,8 +7690,8 @@ it is sure they will not result in a singular matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9cee39c" class="outline-4">
|
||||
<h4 id="org9cee39c"><span class="section-number-4">4.1.9.</span> Tests</h4>
|
||||
<div id="outline-container-org592bbcb" class="outline-4">
|
||||
<h4 id="org592bbcb"><span class="section-number-4">4.1.9.</span> Tests</h4>
|
||||
<div class="outline-text-4" id="text-4-1-9">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #0000ff;">assert</span>(Updates2 != <span style="color: #008b8b;">NULL</span>);
|
||||
@ -7728,17 +7728,17 @@ rc = QMCKL_SUCCESS;
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org6bc5db7" class="outline-2">
|
||||
<h2 id="org6bc5db7"><span class="section-number-2">5.</span> Woodbury 3x3</h2>
|
||||
<div id="outline-container-org5f9be59" class="outline-2">
|
||||
<h2 id="org5f9be59"><span class="section-number-2">5.</span> Woodbury 3x3</h2>
|
||||
<div class="outline-text-2" id="text-5">
|
||||
</div>
|
||||
<div id="outline-container-org328b9ec" class="outline-3">
|
||||
<h3 id="org328b9ec"><span class="section-number-3">5.1.</span> <code>qmckl_woodbury_3x3</code></h3>
|
||||
<div id="outline-container-org1ce0c56" class="outline-3">
|
||||
<h3 id="org1ce0c56"><span class="section-number-3">5.1.</span> <code>qmckl_woodbury_3x3</code></h3>
|
||||
<div class="outline-text-3" id="text-5-1">
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1fd1a52" class="outline-4">
|
||||
<h4 id="org1fd1a52"><span class="section-number-4">5.1.1.</span> Introduction</h4>
|
||||
<div id="outline-container-orgb63374a" class="outline-4">
|
||||
<h4 id="orgb63374a"><span class="section-number-4">5.1.1.</span> Introduction</h4>
|
||||
<div class="outline-text-4" id="text-5-1-1">
|
||||
<p>
|
||||
The Woodbury 3x3 kernel. It is used to apply two rank-1 updates at once. The formula used in
|
||||
@ -7762,10 +7762,10 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org17dfa9c" class="outline-4">
|
||||
<h4 id="org17dfa9c"><span class="section-number-4">5.1.2.</span> API</h4>
|
||||
<div id="outline-container-orgdc9cb5b" class="outline-4">
|
||||
<h4 id="orgdc9cb5b"><span class="section-number-4">5.1.2.</span> API</h4>
|
||||
<div class="outline-text-4" id="text-5-1-2">
|
||||
<table id="org6afb254" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org0448157" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -7846,8 +7846,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org468dac5" class="outline-4">
|
||||
<h4 id="org468dac5"><span class="section-number-4">5.1.3.</span> Requirements</h4>
|
||||
<div id="outline-container-org46fcf3d" class="outline-4">
|
||||
<h4 id="org46fcf3d"><span class="section-number-4">5.1.3.</span> Requirements</h4>
|
||||
<div class="outline-text-4" id="text-5-1-3">
|
||||
<ul class="org-ul">
|
||||
<li><code>context</code> is not <code>qmckl_null_context</code></li>
|
||||
@ -7861,8 +7861,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8b6afb8" class="outline-4">
|
||||
<h4 id="org8b6afb8"><span class="section-number-4">5.1.4.</span> Pedagogical kernel source (in Fortran)</h4>
|
||||
<div id="outline-container-org48c9ba6" class="outline-4">
|
||||
<h4 id="org48c9ba6"><span class="section-number-4">5.1.4.</span> Pedagogical kernel source (in Fortran)</h4>
|
||||
<div class="outline-text-4" id="text-5-1-4">
|
||||
<p>
|
||||
The following source code written in Fortran is inteded to illustrate how the kernel works. Even though the kernel is
|
||||
@ -8007,8 +8007,8 @@ not be used in real workloads.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org17018ed" class="outline-5">
|
||||
<h5 id="org17018ed"><span class="section-number-5">5.1.4.1.</span> C interface (not directly exposed)</h5>
|
||||
<div id="outline-container-org890a531" class="outline-5">
|
||||
<h5 id="org890a531"><span class="section-number-5">5.1.4.1.</span> C interface (not directly exposed)</h5>
|
||||
<div class="outline-text-5" id="text-5-1-4-1">
|
||||
<p>
|
||||
The function <code>qmckl_sm_splitting_core_doc</code> makes sure that
|
||||
@ -8021,8 +8021,8 @@ exposed in <code>qmckl.h</code> and <code>qmckl_f.F90</code>, but
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org73749ca" class="outline-4">
|
||||
<h4 id="org73749ca"><span class="section-number-4">5.1.5.</span> C headers (exposed in qmckl.h)</h4>
|
||||
<div id="outline-container-orgcdecb9c" class="outline-4">
|
||||
<h4 id="orgcdecb9c"><span class="section-number-4">5.1.5.</span> C headers (exposed in qmckl.h)</h4>
|
||||
<div class="outline-text-4" id="text-5-1-5">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_woodbury_3x3</span> (
|
||||
@ -8065,8 +8065,8 @@ exposed in <code>qmckl.h</code> and <code>qmckl_f.F90</code>, but
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3d2221f" class="outline-4">
|
||||
<h4 id="org3d2221f"><span class="section-number-4">5.1.6.</span> C sources</h4>
|
||||
<div id="outline-container-org148609e" class="outline-4">
|
||||
<h4 id="org148609e"><span class="section-number-4">5.1.6.</span> C sources</h4>
|
||||
<div class="outline-text-4" id="text-5-1-6">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_woodbury_3x3_hpc</span>(<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
@ -8176,7 +8176,7 @@ exposed in <code>qmckl.h</code> and <code>qmckl_f.F90</code>, but
|
||||
</div>
|
||||
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c" id="org1d47b11"><span style="color: #a020f0;">static</span> <span style="color: #a020f0;">inline</span> <span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #a0522d;">qmckl_woodbury_3x3_</span>{Dim}(
|
||||
<pre class="src src-c" id="org7806575"><span style="color: #a020f0;">static</span> <span style="color: #a020f0;">inline</span> <span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #a0522d;">qmckl_woodbury_3x3_</span>{Dim}(
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">restrict</span> <span style="color: #a0522d;">Updates</span>,
|
||||
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">uint64_t</span>* <span style="color: #a020f0;">restrict</span> <span style="color: #a0522d;">Updates_index</span>,
|
||||
@ -10546,14 +10546,14 @@ exposed in <code>qmckl.h</code> and <code>qmckl_f.F90</code>, but
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7e179eb" class="outline-4">
|
||||
<h4 id="org7e179eb"><span class="section-number-4">5.1.7.</span> Fortran interfaces (exposed in qmckl<sub>f.F90</sub>)</h4>
|
||||
<div id="outline-container-org0e70e3f" class="outline-4">
|
||||
<h4 id="org0e70e3f"><span class="section-number-4">5.1.7.</span> Fortran interfaces (exposed in qmckl<sub>f.F90</sub>)</h4>
|
||||
<div class="outline-text-4" id="text-5-1-7">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgcd5c56a" class="outline-4">
|
||||
<h4 id="orgcd5c56a"><span class="section-number-4">5.1.8.</span> Performance</h4>
|
||||
<div id="outline-container-orgdc8c8f8" class="outline-4">
|
||||
<h4 id="orgdc8c8f8"><span class="section-number-4">5.1.8.</span> Performance</h4>
|
||||
<div class="outline-text-4" id="text-5-1-8">
|
||||
<p>
|
||||
This function is most efficient when used in cases where there are only 3 rank-1 updates and
|
||||
@ -10562,8 +10562,8 @@ it is sure they will not result in a singular matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga88ce58" class="outline-4">
|
||||
<h4 id="orga88ce58"><span class="section-number-4">5.1.9.</span> Tests</h4>
|
||||
<div id="outline-container-org1325660" class="outline-4">
|
||||
<h4 id="org1325660"><span class="section-number-4">5.1.9.</span> Tests</h4>
|
||||
<div class="outline-text-4" id="text-5-1-9">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #0000ff;">assert</span>(Updates3 != <span style="color: #008b8b;">NULL</span>);
|
||||
@ -10600,17 +10600,17 @@ rc = QMCKL_SUCCESS;
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org1769ffe" class="outline-2">
|
||||
<h2 id="org1769ffe"><span class="section-number-2">6.</span> Sherman-Morrison with Slagel Splitting</h2>
|
||||
<div id="outline-container-org81b10f0" class="outline-2">
|
||||
<h2 id="org81b10f0"><span class="section-number-2">6.</span> Sherman-Morrison with Slagel Splitting</h2>
|
||||
<div class="outline-text-2" id="text-6">
|
||||
</div>
|
||||
<div id="outline-container-org36d6f2a" class="outline-3">
|
||||
<h3 id="org36d6f2a"><span class="section-number-3">6.1.</span> <code>qmckl_sm_splitting</code></h3>
|
||||
<div id="outline-container-org0f829d1" class="outline-3">
|
||||
<h3 id="org0f829d1"><span class="section-number-3">6.1.</span> <code>qmckl_sm_splitting</code></h3>
|
||||
<div class="outline-text-3" id="text-6-1">
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org46839a1" class="outline-4">
|
||||
<h4 id="org46839a1"><span class="section-number-4">6.1.1.</span> Introduction</h4>
|
||||
<div id="outline-container-orgcd61405" class="outline-4">
|
||||
<h4 id="orgcd61405"><span class="section-number-4">6.1.1.</span> Introduction</h4>
|
||||
<div class="outline-text-4" id="text-6-1-1">
|
||||
<p>
|
||||
This is a variation on the 'Naive' Sherman-Morrison kernel. Whenever the denominator \(1+v_j^T S^{-1} u_j\) in
|
||||
@ -10634,10 +10634,10 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7d81d6f" class="outline-4">
|
||||
<h4 id="org7d81d6f"><span class="section-number-4">6.1.2.</span> API</h4>
|
||||
<div id="outline-container-org869aa2e" class="outline-4">
|
||||
<h4 id="org869aa2e"><span class="section-number-4">6.1.2.</span> API</h4>
|
||||
<div class="outline-text-4" id="text-6-1-2">
|
||||
<table id="org1773cd1" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
<table id="org4efb423" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
|
||||
|
||||
|
||||
<colgroup>
|
||||
@ -10725,8 +10725,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2a49069" class="outline-4">
|
||||
<h4 id="org2a49069"><span class="section-number-4">6.1.3.</span> Requirements</h4>
|
||||
<div id="outline-container-orgf8c39e1" class="outline-4">
|
||||
<h4 id="orgf8c39e1"><span class="section-number-4">6.1.3.</span> Requirements</h4>
|
||||
<div class="outline-text-4" id="text-6-1-3">
|
||||
<ul class="org-ul">
|
||||
<li><code>context</code> is not <code>QMCKL_NULL_CONTEXT</code></li>
|
||||
@ -10741,8 +10741,8 @@ from applying the updates to the original matrix.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org989bb45" class="outline-4">
|
||||
<h4 id="org989bb45"><span class="section-number-4">6.1.4.</span> Pedagogical kernel source (in Fortran)</h4>
|
||||
<div id="outline-container-org420d37a" class="outline-4">
|
||||
<h4 id="org420d37a"><span class="section-number-4">6.1.4.</span> Pedagogical kernel source (in Fortran)</h4>
|
||||
<div class="outline-text-4" id="text-6-1-4">
|
||||
<p>
|
||||
The following source code written in Fortran is inteded to illustrate how the kernel works. Even though the kernel is
|
||||
@ -10821,8 +10821,8 @@ not be used in real workloads.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org83129a0" class="outline-5">
|
||||
<h5 id="org83129a0"><span class="section-number-5">6.1.4.1.</span> C interface to the pedagogical kernel (not directly exposed)</h5>
|
||||
<div id="outline-container-org836921e" class="outline-5">
|
||||
<h5 id="org836921e"><span class="section-number-5">6.1.4.1.</span> C interface to the pedagogical kernel (not directly exposed)</h5>
|
||||
<div class="outline-text-5" id="text-6-1-4-1">
|
||||
<p>
|
||||
The following Fortran function <code>qmckl_sm_splitting_core_doc</code> makes sure
|
||||
@ -10835,8 +10835,8 @@ for C users and in the module file 'qmckl<sub>f.F90</sub>' for Fortran users.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3749853" class="outline-4">
|
||||
<h4 id="org3749853"><span class="section-number-4">6.1.5.</span> C headers (exposed in qmckl.h)</h4>
|
||||
<div id="outline-container-orga77d506" class="outline-4">
|
||||
<h4 id="orga77d506"><span class="section-number-4">6.1.5.</span> C headers (exposed in qmckl.h)</h4>
|
||||
<div class="outline-text-4" id="text-6-1-5">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_sm_splitting</span> (
|
||||
@ -10882,11 +10882,11 @@ for C users and in the module file 'qmckl<sub>f.F90</sub>' for Fortran users.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org9f789d7" class="outline-4">
|
||||
<h4 id="org9f789d7"><span class="section-number-4">6.1.6.</span> C source</h4>
|
||||
<div id="outline-container-org27aa135" class="outline-4">
|
||||
<h4 id="org27aa135"><span class="section-number-4">6.1.6.</span> C source</h4>
|
||||
<div class="outline-text-4" id="text-6-1-6">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-python" id="org71af3ab"><span style="color: #a0522d;">text</span>=<span style="color: #8b2252;">"""</span>
|
||||
<pre class="src src-python" id="orgd01048e"><span style="color: #a0522d;">text</span>=<span style="color: #8b2252;">"""</span>
|
||||
<span style="color: #8b2252;">case {Dim}: {</span>
|
||||
<span style="color: #8b2252;"> rc = qmckl_sm_splitting_core_{Dim}(</span>
|
||||
<span style="color: #8b2252;"> context,</span>
|
||||
@ -11289,14 +11289,14 @@ for C users and in the module file 'qmckl<sub>f.F90</sub>' for Fortran users.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org1d2e35e" class="outline-4">
|
||||
<h4 id="org1d2e35e"><span class="section-number-4">6.1.7.</span> Fortran interfaces (exposed in qmckl<sub>f.F90</sub>)</h4>
|
||||
<div id="outline-container-org27eb55b" class="outline-4">
|
||||
<h4 id="org27eb55b"><span class="section-number-4">6.1.7.</span> Fortran interfaces (exposed in qmckl<sub>f.F90</sub>)</h4>
|
||||
<div class="outline-text-4" id="text-6-1-7">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf295b3e" class="outline-4">
|
||||
<h4 id="orgf295b3e"><span class="section-number-4">6.1.8.</span> Performance…</h4>
|
||||
<div id="outline-container-org7287323" class="outline-4">
|
||||
<h4 id="org7287323"><span class="section-number-4">6.1.8.</span> Performance…</h4>
|
||||
<div class="outline-text-4" id="text-6-1-8">
|
||||
<p>
|
||||
This kernel performs best when there are 2 or more rank-1 update cycles and fail-rate is high.
|
||||
@ -11304,8 +11304,8 @@ This kernel performs best when there are 2 or more rank-1 update cycles and fail
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb80bec0" class="outline-4">
|
||||
<h4 id="orgb80bec0"><span class="section-number-4">6.1.9.</span> Test</h4>
|
||||
<div id="outline-container-org078cc6c" class="outline-4">
|
||||
<h4 id="org078cc6c"><span class="section-number-4">6.1.9.</span> Test</h4>
|
||||
<div class="outline-text-4" id="text-6-1-9">
|
||||
<div class="org-src-container">
|
||||
<pre class="src src-c"><span style="color: #0000ff;">assert</span>(Updates3 != <span style="color: #008b8b;">NULL</span>);
|
||||
@ -11343,8 +11343,8 @@ rc = QMCKL_SUCCESS;
|
||||
|
||||
|
||||
|
||||
<div id="outline-container-org62fa7eb" class="outline-2">
|
||||
<h2 id="org62fa7eb"><span class="section-number-2">7.</span> End of files</h2>
|
||||
<div id="outline-container-org364a960" class="outline-2">
|
||||
<h2 id="org364a960"><span class="section-number-2">7.</span> End of files</h2>
|
||||
<div class="outline-text-2" id="text-7">
|
||||
<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);
|
||||
@ -11358,7 +11358,7 @@ rc = QMCKL_SUCCESS;
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2025-04-02 Wed 13:00</p>
|
||||
<p class="date">Created: 2025-04-29 Tue 08:44</p>
|
||||
<p class="validation"><a href="https://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>
|
||||
<!-- 2025-04-02 Wed 13:00 -->
|
||||
<!-- 2025-04-29 Tue 08:44 -->
|
||||
<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>
|
||||
@ -200,27 +200,27 @@
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents" role="doc-toc">
|
||||
<ul>
|
||||
<li><a href="#org5cf2655">1. CHBrClF</a>
|
||||
<li><a href="#org335d1e3">1. CHBrClF</a>
|
||||
<ul>
|
||||
<li><a href="#org8e8c5a5">1.1. XYZ coordinates</a></li>
|
||||
<li><a href="#orgb734bc5">1.2. Atomic basis set</a></li>
|
||||
<li><a href="#org691a84f">1.3. Molecular orbitals</a></li>
|
||||
<li><a href="#orgd6c217c">1.4. Electron coordinates</a></li>
|
||||
<li><a href="#orgbaa654d">1.1. XYZ coordinates</a></li>
|
||||
<li><a href="#org2fae7b0">1.2. Atomic basis set</a></li>
|
||||
<li><a href="#org34d5f68">1.3. Molecular orbitals</a></li>
|
||||
<li><a href="#orga87768e">1.4. Electron coordinates</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org866c6e7">2. N2</a>
|
||||
<li><a href="#orgf72c72c">2. N2</a>
|
||||
<ul>
|
||||
<li><a href="#org0d5c557">2.1. XYZ coordinates</a></li>
|
||||
<li><a href="#orgfbb6b97">2.2. Electron coordinates</a></li>
|
||||
<li><a href="#org29b1308">2.3. Jastrow related data</a></li>
|
||||
<li><a href="#orgf074f35">2.1. XYZ coordinates</a></li>
|
||||
<li><a href="#org0a37e00">2.2. Electron coordinates</a></li>
|
||||
<li><a href="#org965404c">2.3. Jastrow related data</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5cf2655" class="outline-2">
|
||||
<h2 id="org5cf2655"><span class="section-number-2">1.</span> CHBrClF</h2>
|
||||
<div id="outline-container-org335d1e3" class="outline-2">
|
||||
<h2 id="org335d1e3"><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,
|
||||
@ -231,7 +231,7 @@ and with a high maximum angular momentum.
|
||||
</p>
|
||||
|
||||
|
||||
<div id="orgdb113cc" class="figure">
|
||||
<div id="org006e9a2" class="figure">
|
||||
<p><img src="./chbrclf.png" alt="chbrclf.png" />
|
||||
</p>
|
||||
</div>
|
||||
@ -304,10 +304,10 @@ and with a high maximum angular momentum.
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org8e8c5a5" class="outline-3">
|
||||
<h3 id="org8e8c5a5"><span class="section-number-3">1.1.</span> XYZ coordinates</h3>
|
||||
<div id="outline-container-orgbaa654d" class="outline-3">
|
||||
<h3 id="orgbaa654d"><span class="section-number-3">1.1.</span> XYZ coordinates</h3>
|
||||
<div class="outline-text-3" id="text-1-1">
|
||||
<pre class="example" id="org37a47c3">
|
||||
<pre class="example" id="org4b9e137">
|
||||
5
|
||||
CHBrClF
|
||||
C 0.580107 0.471341 0.411546
|
||||
@ -335,10 +335,10 @@ Nuclear coordinates are stored in atomic units in transposed format.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgb734bc5" class="outline-3">
|
||||
<h3 id="orgb734bc5"><span class="section-number-3">1.2.</span> Atomic basis set</h3>
|
||||
<div id="outline-container-org2fae7b0" class="outline-3">
|
||||
<h3 id="org2fae7b0"><span class="section-number-3">1.2.</span> Atomic basis set</h3>
|
||||
<div class="outline-text-3" id="text-1-2">
|
||||
<pre class="example" id="orgcf99af1">
|
||||
<pre class="example" id="org1725ad8">
|
||||
HYDROGEN
|
||||
S 5
|
||||
1 3.387000E+01 6.068000E-03
|
||||
@ -1255,8 +1255,8 @@ F 1
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org691a84f" class="outline-3">
|
||||
<h3 id="org691a84f"><span class="section-number-3">1.3.</span> Molecular orbitals</h3>
|
||||
<div id="outline-container-org34d5f68" class="outline-3">
|
||||
<h3 id="org34d5f68"><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)
|
||||
@ -1270,8 +1270,8 @@ F 1
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-orgd6c217c" class="outline-3">
|
||||
<h3 id="orgd6c217c"><span class="section-number-3">1.4.</span> Electron coordinates</h3>
|
||||
<div id="outline-container-orga87768e" class="outline-3">
|
||||
<h3 id="orga87768e"><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.
|
||||
@ -1430,8 +1430,8 @@ Electron coordinates are stored in atomic units in normal format.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org866c6e7" class="outline-2">
|
||||
<h2 id="org866c6e7"><span class="section-number-2">2.</span> N2</h2>
|
||||
<div id="outline-container-orgf72c72c" class="outline-2">
|
||||
<h2 id="orgf72c72c"><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
|
||||
@ -1472,10 +1472,10 @@ treated by pseudopotentials thus excluded from the actual calculation.
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0d5c557" class="outline-3">
|
||||
<h3 id="org0d5c557"><span class="section-number-3">2.1.</span> XYZ coordinates</h3>
|
||||
<div id="outline-container-orgf074f35" class="outline-3">
|
||||
<h3 id="orgf074f35"><span class="section-number-3">2.1.</span> XYZ coordinates</h3>
|
||||
<div class="outline-text-3" id="text-2-1">
|
||||
<pre class="example" id="org854d187">
|
||||
<pre class="example" id="orgae8a86b">
|
||||
2
|
||||
N2
|
||||
N 0.000000 0.000000 0.00
|
||||
@ -1500,8 +1500,8 @@ Nuclear coordinates are stored in atomic units in transposed format.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgfbb6b97" class="outline-3">
|
||||
<h3 id="orgfbb6b97"><span class="section-number-3">2.2.</span> Electron coordinates</h3>
|
||||
<div id="outline-container-org0a37e00" class="outline-3">
|
||||
<h3 id="org0a37e00"><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.
|
||||
@ -1540,8 +1540,8 @@ Electron coordinates are stored in atomic units in normal format.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org29b1308" class="outline-3">
|
||||
<h3 id="org29b1308"><span class="section-number-3">2.3.</span> Jastrow related data</h3>
|
||||
<div id="outline-container-org965404c" class="outline-3">
|
||||
<h3 id="org965404c"><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
|
||||
@ -1640,7 +1640,7 @@ Ramon Panades Baruetta.
|
||||
</div>
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="date">Created: 2025-04-02 Wed 13:00</p>
|
||||
<p class="date">Created: 2025-04-29 Tue 08:44</p>
|
||||
<p class="validation"><a href="https://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>
|
||||
<!-- 2025-04-02 Wed 13:00 -->
|
||||
<!-- 2025-04-29 Tue 08:44 -->
|
||||
<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>
|
||||
@ -226,53 +226,53 @@ org_html_manager.setup(); // activate after the parameters are set
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents" role="doc-toc">
|
||||
<ul>
|
||||
<li><a href="#org6934c76">1. Local functions</a>
|
||||
<li><a href="#orgc59df1b">1. Local functions</a>
|
||||
<ul>
|
||||
<li><a href="#orgd9a5dda">1.1. Open file</a></li>
|
||||
<li><a href="#org6fd2484">1.2. Electron</a></li>
|
||||
<li><a href="#org3774c0c">1.3. Nucleus</a>
|
||||
<li><a href="#org3d0a226">1.1. Open file</a></li>
|
||||
<li><a href="#orgb986fa6">1.2. Electron</a></li>
|
||||
<li><a href="#org023f869">1.3. Nucleus</a>
|
||||
<ul>
|
||||
<li><a href="#orgac8baa9">1.3.1. Number of nuclei</a></li>
|
||||
<li><a href="#org8fe363e">1.3.2. Nuclear charges</a></li>
|
||||
<li><a href="#org56eac30">1.3.3. Nuclear coordinates</a></li>
|
||||
<li><a href="#orgfaec1dc">1.3.1. Number of nuclei</a></li>
|
||||
<li><a href="#org6e230fc">1.3.2. Nuclear charges</a></li>
|
||||
<li><a href="#org8f4c41f">1.3.3. Nuclear coordinates</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgfd06cb4">1.4. Basis set and AOs</a>
|
||||
<li><a href="#org9c96f39">1.4. Basis set and AOs</a>
|
||||
<ul>
|
||||
<li><a href="#org12568f0">1.4.1. Basis set type</a></li>
|
||||
<li><a href="#orgc2926ad">1.4.2. Number of shells</a></li>
|
||||
<li><a href="#org88c76e3">1.4.3. Number of primitives</a></li>
|
||||
<li><a href="#org5ce0bbe">1.4.4. Number of atomic orbitals</a></li>
|
||||
<li><a href="#org4246a05">1.4.5. Nucleus<sub>index</sub> array</a></li>
|
||||
<li><a href="#orga96666f">1.4.6. Number of shells per nucleus</a></li>
|
||||
<li><a href="#orgbbaa6b4">1.4.7. Angular momentum</a></li>
|
||||
<li><a href="#org2884330">1.4.8. Number of primitives per shell</a></li>
|
||||
<li><a href="#org2ed189f">1.4.9. Indices of the primitives</a></li>
|
||||
<li><a href="#orgf8edc14">1.4.10. Normalization of the shells</a></li>
|
||||
<li><a href="#orgf57d3e4">1.4.11. Exponents</a></li>
|
||||
<li><a href="#org89a7594">1.4.12. Coefficients</a></li>
|
||||
<li><a href="#org0f9d2a7">1.4.13. Normalization of the primitivies</a></li>
|
||||
<li><a href="#org76ca241">1.4.14. AO Normalization</a></li>
|
||||
<li><a href="#org8c4dc3d">1.4.1. Basis set type</a></li>
|
||||
<li><a href="#orgc05fc12">1.4.2. Number of shells</a></li>
|
||||
<li><a href="#orgc188692">1.4.3. Number of primitives</a></li>
|
||||
<li><a href="#org5fd154c">1.4.4. Number of atomic orbitals</a></li>
|
||||
<li><a href="#org682a38a">1.4.5. Nucleus<sub>index</sub> array</a></li>
|
||||
<li><a href="#org6d41761">1.4.6. Number of shells per nucleus</a></li>
|
||||
<li><a href="#orga79f2a2">1.4.7. Angular momentum</a></li>
|
||||
<li><a href="#org72859ac">1.4.8. Number of primitives per shell</a></li>
|
||||
<li><a href="#org37ce5a9">1.4.9. Indices of the primitives</a></li>
|
||||
<li><a href="#org7848c6e">1.4.10. Normalization of the shells</a></li>
|
||||
<li><a href="#org0b3941e">1.4.11. Exponents</a></li>
|
||||
<li><a href="#org2a03610">1.4.12. Coefficients</a></li>
|
||||
<li><a href="#org71364ee">1.4.13. Normalization of the primitivies</a></li>
|
||||
<li><a href="#orgc709c1e">1.4.14. AO Normalization</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org5933665">1.5. Molecular orbitals</a>
|
||||
<li><a href="#org3fe10bc">1.5. Molecular orbitals</a>
|
||||
<ul>
|
||||
<li><a href="#org2b0fd97">1.5.1. Number of MOs</a></li>
|
||||
<li><a href="#org75d4e70">1.5.2. MO coefficients</a></li>
|
||||
<li><a href="#org98d6fbe">1.5.1. Number of MOs</a></li>
|
||||
<li><a href="#orgec84973">1.5.2. MO coefficients</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#org7331ccb">1.6. <span class="todo TODO">TODO</span> ECP</a></li>
|
||||
<li><a href="#org9ccbc24">1.6. <span class="todo TODO">TODO</span> ECP</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#orgac40273">2. Read everything</a></li>
|
||||
<li><a href="#orgd03e457">3. Test</a>
|
||||
<li><a href="#org3c3be93">2. Read everything</a></li>
|
||||
<li><a href="#org4103ade">3. Test</a>
|
||||
<ul>
|
||||
<li>
|
||||
<ul>
|
||||
<li><a href="#org0374bc4">3.0.1. Electrons</a></li>
|
||||
<li><a href="#orgf2e1fab">3.0.2. Nuclei</a></li>
|
||||
<li><a href="#org786f375">3.0.3. Atomic basis</a></li>
|
||||
<li><a href="#org66552f2">3.0.4. MO Basis</a></li>
|
||||
<li><a href="#org318b326">3.0.1. Electrons</a></li>
|
||||
<li><a href="#org4611305">3.0.2. Nuclei</a></li>
|
||||
<li><a href="#org5f487ee">3.0.3. Atomic basis</a></li>
|
||||
<li><a href="#org8c6bd05">3.0.4. MO Basis</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@ -281,8 +281,8 @@ org_html_manager.setup(); // activate after the parameters are set
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6934c76" class="outline-2">
|
||||
<h2 id="org6934c76"><span class="section-number-2">1.</span> Local functions</h2>
|
||||
<div id="outline-container-orgc59df1b" class="outline-2">
|
||||
<h2 id="orgc59df1b"><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
|
||||
@ -305,8 +305,8 @@ In the functions defined in this section, we use as local variables
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd9a5dda" class="outline-3">
|
||||
<h3 id="orgd9a5dda"><span class="section-number-3">1.1.</span> Open file</h3>
|
||||
<div id="outline-container-org3d0a226" class="outline-3">
|
||||
<h3 id="org3d0a226"><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
|
||||
@ -344,8 +344,8 @@ groups of data by passing the <code>trexio_t</code> handle.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org6fd2484" class="outline-3">
|
||||
<h3 id="org6fd2484"><span class="section-number-3">1.2.</span> Electron</h3>
|
||||
<div id="outline-container-orgb986fa6" class="outline-3">
|
||||
<h3 id="orgb986fa6"><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.
|
||||
@ -396,8 +396,8 @@ We read the number of up-spin and down-spin electrons.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org3774c0c" class="outline-3">
|
||||
<h3 id="org3774c0c"><span class="section-number-3">1.3.</span> Nucleus</h3>
|
||||
<div id="outline-container-org023f869" class="outline-3">
|
||||
<h3 id="org023f869"><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.
|
||||
@ -417,8 +417,8 @@ In this section we read the number of nuclei, the molecular geometry and nuclear
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgac8baa9" class="outline-4">
|
||||
<h4 id="orgac8baa9"><span class="section-number-4">1.3.1.</span> Number of nuclei</h4>
|
||||
<div id="outline-container-orgfaec1dc" class="outline-4">
|
||||
<h4 id="orgfaec1dc"><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;
|
||||
@ -441,8 +441,8 @@ rc = qmckl_set_nucleus_num(context, nucleus_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org8fe363e" class="outline-4">
|
||||
<h4 id="org8fe363e"><span class="section-number-4">1.3.2.</span> Nuclear charges</h4>
|
||||
<div id="outline-container-org6e230fc" class="outline-4">
|
||||
<h4 id="org6e230fc"><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">{
|
||||
@ -482,8 +482,8 @@ rc = qmckl_set_nucleus_num(context, nucleus_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org56eac30" class="outline-4">
|
||||
<h4 id="org56eac30"><span class="section-number-4">1.3.3.</span> Nuclear coordinates</h4>
|
||||
<div id="outline-container-org8f4c41f" class="outline-4">
|
||||
<h4 id="org8f4c41f"><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
|
||||
@ -538,8 +538,8 @@ in the TREXIO file (<code>'N'</code>), so it will be automatically transposed in
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgfd06cb4" class="outline-3">
|
||||
<h3 id="orgfd06cb4"><span class="section-number-3">1.4.</span> Basis set and AOs</h3>
|
||||
<div id="outline-container-org9c96f39" class="outline-3">
|
||||
<h3 id="org9c96f39"><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.
|
||||
@ -565,8 +565,8 @@ In this section we read the atomic basis set and atomic orbitals.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org12568f0" class="outline-4">
|
||||
<h4 id="org12568f0"><span class="section-number-4">1.4.1.</span> Basis set type</h4>
|
||||
<div id="outline-container-org8c4dc3d" class="outline-4">
|
||||
<h4 id="org8c4dc3d"><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
|
||||
@ -597,8 +597,8 @@ In this section we read the atomic basis set and atomic orbitals.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgc2926ad" class="outline-4">
|
||||
<h4 id="orgc2926ad"><span class="section-number-4">1.4.2.</span> Number of shells</h4>
|
||||
<div id="outline-container-orgc05fc12" class="outline-4">
|
||||
<h4 id="orgc05fc12"><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;
|
||||
@ -622,8 +622,8 @@ rc = qmckl_set_ao_basis_shell_num(context, shell_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org88c76e3" class="outline-4">
|
||||
<h4 id="org88c76e3"><span class="section-number-4">1.4.3.</span> Number of primitives</h4>
|
||||
<div id="outline-container-orgc188692" class="outline-4">
|
||||
<h4 id="orgc188692"><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;
|
||||
@ -647,8 +647,8 @@ rc = qmckl_set_ao_basis_prim_num(context, prim_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org5ce0bbe" class="outline-4">
|
||||
<h4 id="org5ce0bbe"><span class="section-number-4">1.4.4.</span> Number of atomic orbitals</h4>
|
||||
<div id="outline-container-org5fd154c" class="outline-4">
|
||||
<h4 id="org5fd154c"><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> = 0;
|
||||
@ -672,8 +672,8 @@ rc = qmckl_set_ao_basis_ao_num(context, ao_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org4246a05" class="outline-4">
|
||||
<h4 id="org4246a05"><span class="section-number-4">1.4.5.</span> Nucleus<sub>index</sub> array</h4>
|
||||
<div id="outline-container-org682a38a" class="outline-4">
|
||||
<h4 id="org682a38a"><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">{
|
||||
@ -753,8 +753,8 @@ rc = qmckl_set_ao_basis_ao_num(context, ao_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orga96666f" class="outline-4">
|
||||
<h4 id="orga96666f"><span class="section-number-4">1.4.6.</span> Number of shells per nucleus</h4>
|
||||
<div id="outline-container-org6d41761" class="outline-4">
|
||||
<h4 id="org6d41761"><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">{
|
||||
@ -839,8 +839,8 @@ rc = qmckl_set_ao_basis_ao_num(context, ao_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgbbaa6b4" class="outline-4">
|
||||
<h4 id="orgbbaa6b4"><span class="section-number-4">1.4.7.</span> Angular momentum</h4>
|
||||
<div id="outline-container-orga79f2a2" class="outline-4">
|
||||
<h4 id="orga79f2a2"><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">{
|
||||
@ -885,8 +885,8 @@ rc = qmckl_set_ao_basis_ao_num(context, ao_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2884330" class="outline-4">
|
||||
<h4 id="org2884330"><span class="section-number-4">1.4.8.</span> Number of primitives per shell</h4>
|
||||
<div id="outline-container-org72859ac" class="outline-4">
|
||||
<h4 id="org72859ac"><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">{
|
||||
@ -972,8 +972,8 @@ rc = qmckl_set_ao_basis_ao_num(context, ao_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2ed189f" class="outline-4">
|
||||
<h4 id="org2ed189f"><span class="section-number-4">1.4.9.</span> Indices of the primitives</h4>
|
||||
<div id="outline-container-org37ce5a9" class="outline-4">
|
||||
<h4 id="org37ce5a9"><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">{
|
||||
@ -1053,8 +1053,8 @@ rc = qmckl_set_ao_basis_ao_num(context, ao_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf8edc14" class="outline-4">
|
||||
<h4 id="orgf8edc14"><span class="section-number-4">1.4.10.</span> Normalization of the shells</h4>
|
||||
<div id="outline-container-org7848c6e" class="outline-4">
|
||||
<h4 id="org7848c6e"><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">{
|
||||
@ -1099,8 +1099,8 @@ rc = qmckl_set_ao_basis_ao_num(context, ao_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf57d3e4" class="outline-4">
|
||||
<h4 id="orgf57d3e4"><span class="section-number-4">1.4.11.</span> Exponents</h4>
|
||||
<div id="outline-container-org0b3941e" class="outline-4">
|
||||
<h4 id="org0b3941e"><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">{
|
||||
@ -1145,8 +1145,8 @@ rc = qmckl_set_ao_basis_ao_num(context, ao_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org89a7594" class="outline-4">
|
||||
<h4 id="org89a7594"><span class="section-number-4">1.4.12.</span> Coefficients</h4>
|
||||
<div id="outline-container-org2a03610" class="outline-4">
|
||||
<h4 id="org2a03610"><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">{
|
||||
@ -1191,8 +1191,8 @@ rc = qmckl_set_ao_basis_ao_num(context, ao_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0f9d2a7" class="outline-4">
|
||||
<h4 id="org0f9d2a7"><span class="section-number-4">1.4.13.</span> Normalization of the primitivies</h4>
|
||||
<div id="outline-container-org71364ee" class="outline-4">
|
||||
<h4 id="org71364ee"><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">{
|
||||
@ -1237,8 +1237,8 @@ rc = qmckl_set_ao_basis_ao_num(context, ao_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org76ca241" class="outline-4">
|
||||
<h4 id="org76ca241"><span class="section-number-4">1.4.14.</span> AO Normalization</h4>
|
||||
<div id="outline-container-orgc709c1e" class="outline-4">
|
||||
<h4 id="orgc709c1e"><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">{
|
||||
@ -1293,8 +1293,8 @@ rc = qmckl_set_ao_basis_ao_num(context, ao_num);
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-org5933665" class="outline-3">
|
||||
<h3 id="org5933665"><span class="section-number-3">1.5.</span> Molecular orbitals</h3>
|
||||
<div id="outline-container-org3fe10bc" class="outline-3">
|
||||
<h3 id="org3fe10bc"><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.
|
||||
@ -1320,8 +1320,8 @@ In this section we read the MO coefficients.
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org2b0fd97" class="outline-4">
|
||||
<h4 id="org2b0fd97"><span class="section-number-4">1.5.1.</span> Number of MOs</h4>
|
||||
<div id="outline-container-org98d6fbe" class="outline-4">
|
||||
<h4 id="org98d6fbe"><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;
|
||||
@ -1344,8 +1344,8 @@ rc = qmckl_set_mo_basis_mo_num(context, mo_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org75d4e70" class="outline-4">
|
||||
<h4 id="org75d4e70"><span class="section-number-4">1.5.2.</span> MO coefficients</h4>
|
||||
<div id="outline-container-orgec84973" class="outline-4">
|
||||
<h4 id="orgec84973"><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">{
|
||||
@ -1394,12 +1394,12 @@ rc = qmckl_set_mo_basis_mo_num(context, mo_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7331ccb" class="outline-3">
|
||||
<h3 id="org7331ccb"><span class="section-number-3">1.6.</span> <span class="todo TODO">TODO</span> ECP</h3>
|
||||
<div id="outline-container-org9ccbc24" class="outline-3">
|
||||
<h3 id="org9ccbc24"><span class="section-number-3">1.6.</span> <span class="todo TODO">TODO</span> ECP</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div id="outline-container-orgac40273" class="outline-2">
|
||||
<h2 id="orgac40273"><span class="section-number-2">2.</span> Read everything</h2>
|
||||
<div id="outline-container-org3c3be93" class="outline-2">
|
||||
<h2 id="org3c3be93"><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>
|
||||
@ -1474,8 +1474,8 @@ rc = qmckl_set_mo_basis_mo_num(context, mo_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgd03e457" class="outline-2">
|
||||
<h2 id="orgd03e457"><span class="section-number-2">3.</span> Test</h2>
|
||||
<div id="outline-container-org4103ade" class="outline-2">
|
||||
<h2 id="org4103ade"><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
|
||||
@ -1499,8 +1499,8 @@ rc = qmckl_trexio_read(context, filename, 255);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org0374bc4" class="outline-4">
|
||||
<h4 id="org0374bc4"><span class="section-number-4">3.0.1.</span> Electrons</h4>
|
||||
<div id="outline-container-org318b326" class="outline-4">
|
||||
<h4 id="org318b326"><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>);
|
||||
@ -1518,8 +1518,8 @@ rc = qmckl_get_electron_down_num(context, &dn_num);
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgf2e1fab" class="outline-4">
|
||||
<h4 id="orgf2e1fab"><span class="section-number-4">3.0.2.</span> Nuclei</h4>
|
||||
<div id="outline-container-org4611305" class="outline-4">
|
||||
<h4 id="org4611305"><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>);
|
||||
@ -1559,8 +1559,8 @@ coord = <span style="color: #008b8b;">NULL</span>;
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org786f375" class="outline-4">
|
||||
<h4 id="org786f375"><span class="section-number-4">3.0.3.</span> Atomic basis</h4>
|
||||
<div id="outline-container-org5f487ee" class="outline-4">
|
||||
<h4 id="org5f487ee"><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>);
|
||||
@ -1668,8 +1668,8 @@ prim_factor = <span style="color: #008b8b;">NULL</span>;
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org66552f2" class="outline-4">
|
||||
<h4 id="org66552f2"><span class="section-number-4">3.0.4.</span> MO Basis</h4>
|
||||
<div id="outline-container-org8c6bd05" class="outline-4">
|
||||
<h4 id="org8c6bd05"><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>);
|
||||
@ -1700,7 +1700,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: 2025-04-02 Wed 13:00</p>
|
||||
<p class="date">Created: 2025-04-29 Tue 08:44</p>
|
||||
<p class="validation"><a href="https://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>
|
||||
<!-- 2025-04-02 Wed 13:00 -->
|
||||
<!-- 2025-04-29 Tue 08:44 -->
|
||||
<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>
|
||||
@ -226,22 +226,22 @@ org_html_manager.setup(); // activate after the parameters are set
|
||||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents" role="doc-toc">
|
||||
<ul>
|
||||
<li><a href="#orgce92ba0">1. Verificarlo probes</a>
|
||||
<li><a href="#org47285a4">1. Verificarlo probes</a>
|
||||
<ul>
|
||||
<li><a href="#org185e080">1.1. Automatically initialize the <code>vfc_probe</code> object if <code>VFC_CI</code> is defined</a></li>
|
||||
<li><a href="#orgfbf40e3">1.2. Standard probe, without check</a></li>
|
||||
<li><a href="#org83acfd4">1.3. Probe with absolute check</a></li>
|
||||
<li><a href="#org262b742">1.4. Probe with relative check</a></li>
|
||||
<li><a href="#org7b61270">1.5. Automatically delete and dump the vfc<sub>probe</sub> object if <code>VFC_CI</code> is defined</a></li>
|
||||
<li><a href="#org472592e">1.1. Automatically initialize the <code>vfc_probe</code> object if <code>VFC_CI</code> is defined</a></li>
|
||||
<li><a href="#org9e9c604">1.2. Standard probe, without check</a></li>
|
||||
<li><a href="#org0e811ab">1.3. Probe with absolute check</a></li>
|
||||
<li><a href="#org6bfa355">1.4. Probe with relative check</a></li>
|
||||
<li><a href="#org24cfbf5">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="#org900a611">2. Fortran wrappers</a></li>
|
||||
<li><a href="#org46cbab5">2. Fortran wrappers</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgce92ba0" class="outline-2">
|
||||
<h2 id="orgce92ba0"><span class="section-number-2">1.</span> Verificarlo probes</h2>
|
||||
<div id="outline-container-org47285a4" class="outline-2">
|
||||
<h2 id="org47285a4"><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
|
||||
@ -292,8 +292,8 @@ To learn more about Verificarlo CI :
|
||||
</div>
|
||||
|
||||
|
||||
<div id="outline-container-org185e080" class="outline-3">
|
||||
<h3 id="org185e080"><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-org472592e" class="outline-3">
|
||||
<h3 id="org472592e"><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: #228b22;">void</span> <span style="color: #0000ff;">qmckl_init_probes</span>();
|
||||
@ -311,8 +311,8 @@ To learn more about Verificarlo CI :
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-orgfbf40e3" class="outline-3">
|
||||
<h3 id="orgfbf40e3"><span class="section-number-3">1.2.</span> Standard probe, without check</h3>
|
||||
<div id="outline-container-org9e9c604" class="outline-3">
|
||||
<h3 id="org9e9c604"><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>
|
||||
@ -347,8 +347,8 @@ if <code>VFC_CI</code> is undefined, return <code>false</code> (no error)
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org83acfd4" class="outline-3">
|
||||
<h3 id="org83acfd4"><span class="section-number-3">1.3.</span> Probe with absolute check</h3>
|
||||
<div id="outline-container-org0e811ab" class="outline-3">
|
||||
<h3 id="org0e811ab"><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>
|
||||
@ -388,8 +388,8 @@ and accuracy
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org262b742" class="outline-3">
|
||||
<h3 id="org262b742"><span class="section-number-3">1.4.</span> Probe with relative check</h3>
|
||||
<div id="outline-container-org6bfa355" class="outline-3">
|
||||
<h3 id="org6bfa355"><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>
|
||||
@ -429,8 +429,8 @@ and accuracy
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org7b61270" class="outline-3">
|
||||
<h3 id="org7b61270"><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-org24cfbf5" class="outline-3">
|
||||
<h3 id="org24cfbf5"><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: #228b22;">void</span> <span style="color: #0000ff;">qmckl_dump_probes</span>();
|
||||
@ -449,8 +449,8 @@ and accuracy
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="outline-container-org900a611" class="outline-2">
|
||||
<h2 id="org900a611"><span class="section-number-2">2.</span> Fortran wrappers</h2>
|
||||
<div id="outline-container-org46cbab5" class="outline-2">
|
||||
<h2 id="org46cbab5"><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>(
|
||||
@ -574,7 +574,7 @@ and accuracy
|
||||
</div>
|
||||
<div id="postamble" class="status">
|
||||
<p class="author">Author: TREX CoE</p>
|
||||
<p class="date">Created: 2025-04-02 Wed 13:00</p>
|
||||
<p class="date">Created: 2025-04-29 Tue 08:44</p>
|
||||
<p class="validation"><a href="https://validator.w3.org/check?uri=referer">Validate</a></p>
|
||||
</div>
|
||||
</body>
|
||||
|
Loading…
x
Reference in New Issue
Block a user