1
0
mirror of https://github.com/TREX-CoE/qmckl.git synced 2024-06-01 02:45:43 +02:00

Deploying to gh-pages from @ TREX-CoE/qmckl@8c5ec872ed 🚀

This commit is contained in:
scemama 2024-04-10 14:39:26 +00:00
parent 3b6a2f144e
commit 3fc7a7a2a5
21 changed files with 1500 additions and 1500 deletions

View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head> <head>
<!-- 2024-03-29 Fri 08:29 --> <!-- 2024-04-10 Wed 14:39 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="viewport" content="width=device-width, initial-scale=1" />
<title>QMCkl source code documentation</title> <title>QMCkl source code documentation</title>
@ -375,7 +375,7 @@ and bug reports should be submitted at
</div> </div>
<div id="postamble" class="status"> <div id="postamble" class="status">
<p class="author">Author: TREX CoE</p> <p class="author">Author: TREX CoE</p>
<p class="date">Created: 2024-03-29 Fri 08:29</p> <p class="date">Created: 2024-04-10 Wed 14:39</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p> <p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div> </div>
</body> </body>

View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head> <head>
<!-- 2024-03-29 Fri 08:29 --> <!-- 2024-04-10 Wed 14:39 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Introduction</title> <title>Introduction</title>
@ -346,36 +346,36 @@ for the JavaScript code in this tag.
<h2>Table of Contents</h2> <h2>Table of Contents</h2>
<div id="text-table-of-contents"> <div id="text-table-of-contents">
<ul> <ul>
<li><a href="#org3d3ada7">1. Installing QMCkl</a> <li><a href="#org2669a3a">1. Installing QMCkl</a>
<ul> <ul>
<li><a href="#orge3c9e06">1.1. Installing from the released tarball (for end users)</a></li> <li><a href="#org7e2da21">1.1. Installing from the released tarball (for end users)</a></li>
<li><a href="#orge64de4c">1.2. Installing from the source repository (for developers)</a></li> <li><a href="#orgb24c2aa">1.2. Installing from the source repository (for developers)</a></li>
</ul> </ul>
</li> </li>
<li><a href="#orgfa98e1d">2. Using QMCkl</a></li> <li><a href="#orga2755d4">2. Using QMCkl</a></li>
<li><a href="#org693e128">3. Developing in QMCkl</a> <li><a href="#orgb8db61b">3. Developing in QMCkl</a>
<ul> <ul>
<li><a href="#org2bf59b7">3.1. Literate programming</a></li> <li><a href="#org93e72bb">3.1. Literate programming</a></li>
<li><a href="#orgd900315">3.2. Source code editing</a></li> <li><a href="#org9f917e4">3.2. Source code editing</a></li>
<li><a href="#org0cb62e4">3.3. Choice of the programming language</a></li> <li><a href="#orgcd25246">3.3. Choice of the programming language</a></li>
<li><a href="#org995f523">3.4. Coding rules</a></li> <li><a href="#orgc06a7bd">3.4. Coding rules</a></li>
<li><a href="#orgfbca67e">3.5. Design of the library</a></li> <li><a href="#org8c0be75">3.5. Design of the library</a></li>
<li><a href="#org91f1db2">3.6. Naming conventions</a></li> <li><a href="#org4b68844">3.6. Naming conventions</a></li>
<li><a href="#orgad9cf34">3.7. Application programming interface</a></li> <li><a href="#orga74d9e3">3.7. Application programming interface</a></li>
<li><a href="#orge066028">3.8. Global state</a></li> <li><a href="#org4ceb89e">3.8. Global state</a></li>
<li><a href="#org4e923fc">3.9. Headers</a></li> <li><a href="#org26eafe6">3.9. Headers</a></li>
<li><a href="#org449faa0">3.10. Low-level functions</a></li> <li><a href="#org5905bed">3.10. Low-level functions</a></li>
<li><a href="#orgbe076a8">3.11. High-level functions</a></li> <li><a href="#orgd58eee1">3.11. High-level functions</a></li>
<li><a href="#org39c5b5c">3.12. Numerical precision</a></li> <li><a href="#orgbc57560">3.12. Numerical precision</a></li>
<li><a href="#org15e1bb7">3.13. Algorithms</a></li> <li><a href="#org28ea824">3.13. Algorithms</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
</div> </div>
</div> </div>
<div id="outline-container-org3d3ada7" class="outline-2"> <div id="outline-container-org2669a3a" class="outline-2">
<h2 id="org3d3ada7"><span class="section-number-2">1</span> Installing QMCkl</h2> <h2 id="org2669a3a"><span class="section-number-2">1</span> Installing QMCkl</h2>
<div class="outline-text-2" id="text-1"> <div class="outline-text-2" id="text-1">
<p> <p>
The latest version fo QMCkl can be downloaded The latest version fo QMCkl can be downloaded
@ -384,8 +384,8 @@ The latest version fo QMCkl can be downloaded
</p> </p>
</div> </div>
<div id="outline-container-orge3c9e06" class="outline-3"> <div id="outline-container-org7e2da21" class="outline-3">
<h3 id="orge3c9e06"><span class="section-number-3">1.1</span> Installing from the released tarball (for end users)</h3> <h3 id="org7e2da21"><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"> <div class="outline-text-3" id="text-1-1">
<p> <p>
QMCkl is built with GNU Autotools, so the usual QMCkl is built with GNU Autotools, so the usual
@ -400,8 +400,8 @@ options are defined using <code>CFLAGS</code> and <code>FCFLAGS</code>.
</div> </div>
</div> </div>
<div id="outline-container-orge64de4c" class="outline-3"> <div id="outline-container-orgb24c2aa" class="outline-3">
<h3 id="orge64de4c"><span class="section-number-3">1.2</span> Installing from the source repository (for developers)</h3> <h3 id="orgb24c2aa"><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"> <div class="outline-text-3" id="text-1-2">
<p> <p>
To compile from the source repository, additional dependencies are To compile from the source repository, additional dependencies are
@ -422,8 +422,8 @@ to be executed first.
</div> </div>
</div> </div>
<div id="outline-container-orgfa98e1d" class="outline-2"> <div id="outline-container-orga2755d4" class="outline-2">
<h2 id="orgfa98e1d"><span class="section-number-2">2</span> Using QMCkl</h2> <h2 id="orga2755d4"><span class="section-number-2">2</span> Using QMCkl</h2>
<div class="outline-text-2" id="text-2"> <div class="outline-text-2" id="text-2">
<p> <p>
The <code>qmckl.h</code> header file installed in the <code>${prefix}/include</code> directory The <code>qmckl.h</code> header file installed in the <code>${prefix}/include</code> directory
@ -452,12 +452,12 @@ Both files are located in the <code>include/</code> directory.
</div> </div>
</div> </div>
<div id="outline-container-org693e128" class="outline-2"> <div id="outline-container-orgb8db61b" class="outline-2">
<h2 id="org693e128"><span class="section-number-2">3</span> Developing in QMCkl</h2> <h2 id="orgb8db61b"><span class="section-number-2">3</span> Developing in QMCkl</h2>
<div class="outline-text-2" id="text-3"> <div class="outline-text-2" id="text-3">
</div> </div>
<div id="outline-container-org2bf59b7" class="outline-3"> <div id="outline-container-org93e72bb" class="outline-3">
<h3 id="org2bf59b7"><span class="section-number-3">3.1</span> Literate programming</h3> <h3 id="org93e72bb"><span class="section-number-3">3.1</span> Literate programming</h3>
<div class="outline-text-3" id="text-3-1"> <div class="outline-text-3" id="text-3-1">
<p> <p>
In a traditional source code, most of the lines of source files of a program In a traditional source code, most of the lines of source files of a program
@ -507,8 +507,8 @@ tarball contains the generated source code.
</div> </div>
</div> </div>
<div id="outline-container-orgd900315" class="outline-3"> <div id="outline-container-org9f917e4" class="outline-3">
<h3 id="orgd900315"><span class="section-number-3">3.2</span> Source code editing</h3> <h3 id="org9f917e4"><span class="section-number-3">3.2</span> Source code editing</h3>
<div class="outline-text-3" id="text-3-2"> <div class="outline-text-3" id="text-3-2">
<p> <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>. 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>.
@ -539,8 +539,8 @@ org-mode.
</div> </div>
</div> </div>
<div id="outline-container-org0cb62e4" class="outline-3"> <div id="outline-container-orgcd25246" class="outline-3">
<h3 id="org0cb62e4"><span class="section-number-3">3.3</span> Choice of the programming language</h3> <h3 id="orgcd25246"><span class="section-number-3">3.3</span> Choice of the programming language</h3>
<div class="outline-text-3" id="text-3-3"> <div class="outline-text-3" id="text-3-3">
<p> <p>
Most of the codes of the <a href="https://trex-coe.eu">TREX CoE</a> are written in Fortran with some Most of the codes of the <a href="https://trex-coe.eu">TREX CoE</a> are written in Fortran with some
@ -604,8 +604,8 @@ For more guidelines on using Fortran to generate a C interface, see
</div> </div>
</div> </div>
<div id="outline-container-org995f523" class="outline-3"> <div id="outline-container-orgc06a7bd" class="outline-3">
<h3 id="org995f523"><span class="section-number-3">3.4</span> Coding rules</h3> <h3 id="orgc06a7bd"><span class="section-number-3">3.4</span> Coding rules</h3>
<div class="outline-text-3" id="text-3-4"> <div class="outline-text-3" id="text-3-4">
<p> <p>
The authors should follow the recommendations of the C99 The authors should follow the recommendations of the C99
@ -625,8 +625,8 @@ make cppcheck ; cat cppcheck.out
</div> </div>
</div> </div>
<div id="outline-container-orgfbca67e" class="outline-3"> <div id="outline-container-org8c0be75" class="outline-3">
<h3 id="orgfbca67e"><span class="section-number-3">3.5</span> Design of the library</h3> <h3 id="org8c0be75"><span class="section-number-3">3.5</span> Design of the library</h3>
<div class="outline-text-3" id="text-3-5"> <div class="outline-text-3" id="text-3-5">
<p> <p>
The proposed API should allow the library to: deal with memory transfers The proposed API should allow the library to: deal with memory transfers
@ -637,8 +637,8 @@ functions (see below).
</div> </div>
</div> </div>
<div id="outline-container-org91f1db2" class="outline-3"> <div id="outline-container-org4b68844" class="outline-3">
<h3 id="org91f1db2"><span class="section-number-3">3.6</span> Naming conventions</h3> <h3 id="org4b68844"><span class="section-number-3">3.6</span> Naming conventions</h3>
<div class="outline-text-3" id="text-3-6"> <div class="outline-text-3" id="text-3-6">
<p> <p>
To avoid namespace collisions, we use <code>qmckl_</code> as a prefix for all exported To avoid namespace collisions, we use <code>qmckl_</code> as a prefix for all exported
@ -659,8 +659,8 @@ form is allowed.
</div> </div>
</div> </div>
<div id="outline-container-orgad9cf34" class="outline-3"> <div id="outline-container-orga74d9e3" class="outline-3">
<h3 id="orgad9cf34"><span class="section-number-3">3.7</span> Application programming interface</h3> <h3 id="orga74d9e3"><span class="section-number-3">3.7</span> Application programming interface</h3>
<div class="outline-text-3" id="text-3-7"> <div class="outline-text-3" id="text-3-7">
<p> <p>
In the C language, the number of bits used by the integer types can change In the C language, the number of bits used by the integer types can change
@ -692,15 +692,15 @@ bindings in other languages in other repositories.
</div> </div>
</div> </div>
<div id="outline-container-orge066028" class="outline-3"> <div id="outline-container-org4ceb89e" class="outline-3">
<h3 id="orge066028"><span class="section-number-3">3.8</span> Global state</h3> <h3 id="org4ceb89e"><span class="section-number-3">3.8</span> Global state</h3>
<div class="outline-text-3" id="text-3-8"> <div class="outline-text-3" id="text-3-8">
<p> <p>
Global variables should be avoided in the library, because it is Global variables should be avoided in the library, because it is
possible that one single program needs to use multiple instances possible that one single program needs to use multiple instances
of the library. To solve this problem we propose to use a pointer 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 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="org9729b07">=context=</a> contains the global <code>qmckl_context_create</code> function. The <a id="orgb13b95f">=context=</a> contains the global
state of the library, and is used as the first argument of many state of the library, and is used as the first argument of many
QMCkl functions. QMCkl functions.
</p> </p>
@ -714,8 +714,8 @@ the state is done by setters and getters, prefixed by
</div> </div>
</div> </div>
<div id="outline-container-org4e923fc" class="outline-3"> <div id="outline-container-org26eafe6" class="outline-3">
<h3 id="org4e923fc"><span class="section-number-3">3.9</span> Headers</h3> <h3 id="org26eafe6"><span class="section-number-3">3.9</span> Headers</h3>
<div class="outline-text-3" id="text-3-9"> <div class="outline-text-3" id="text-3-9">
<p> <p>
A single <code>qmckl.h</code> header to be distributed by the library A single <code>qmckl.h</code> header to be distributed by the library
@ -803,8 +803,8 @@ and the types definitions should be written in the <code>*fh_type.f90</code> fil
</div> </div>
</div> </div>
<div id="outline-container-org449faa0" class="outline-3"> <div id="outline-container-org5905bed" class="outline-3">
<h3 id="org449faa0"><span class="section-number-3">3.10</span> Low-level functions</h3> <h3 id="org5905bed"><span class="section-number-3">3.10</span> Low-level functions</h3>
<div class="outline-text-3" id="text-3-10"> <div class="outline-text-3" id="text-3-10">
<p> <p>
Low-level functions are very simple functions which are leaves of Low-level functions are very simple functions which are leaves of
@ -813,14 +813,14 @@ the function call tree (they don't call any other QMCkl function).
<p> <p>
These functions are <i>pure</i>, and unaware of the QMCkl These functions are <i>pure</i>, and unaware of the QMCkl
<a href="#org9729b07"><code>context</code></a>. They are not allowed to allocate/deallocate memory, and <a href="#orgb13b95f"><code>context</code></a>. They are not allowed to allocate/deallocate memory, and
if they need temporary memory it should be provided in input. if they need temporary memory it should be provided in input.
</p> </p>
</div> </div>
</div> </div>
<div id="outline-container-orgbe076a8" class="outline-3"> <div id="outline-container-orgd58eee1" class="outline-3">
<h3 id="orgbe076a8"><span class="section-number-3">3.11</span> High-level functions</h3> <h3 id="orgd58eee1"><span class="section-number-3">3.11</span> High-level functions</h3>
<div class="outline-text-3" id="text-3-11"> <div class="outline-text-3" id="text-3-11">
<p> <p>
High-level functions are at the top of the function call tree. High-level functions are at the top of the function call tree.
@ -832,8 +832,8 @@ temporary storage, to simplify the use of accelerators.
</div> </div>
</div> </div>
<div id="outline-container-org39c5b5c" class="outline-3"> <div id="outline-container-orgbc57560" class="outline-3">
<h3 id="org39c5b5c"><span class="section-number-3">3.12</span> Numerical precision</h3> <h3 id="orgbc57560"><span class="section-number-3">3.12</span> Numerical precision</h3>
<div class="outline-text-3" id="text-3-12"> <div class="outline-text-3" id="text-3-12">
<p> <p>
The minimal number of bits of precision required for a function The minimal number of bits of precision required for a function
@ -841,7 +841,7 @@ should be given as an input of low-level computational
functions. This input will be used to define the values of the functions. This input will be used to define the values of the
different thresholds that might be used to avoid computing different thresholds that might be used to avoid computing
unnecessary noise. High-level functions will use the precision unnecessary noise. High-level functions will use the precision
specified in the <a href="#org9729b07"><code>context</code></a> variable. specified in the <a href="#orgb13b95f"><code>context</code></a> variable.
</p> </p>
<p> <p>
@ -909,8 +909,8 @@ following points :
</div> </div>
</div> </div>
<div id="outline-container-org15e1bb7" class="outline-3"> <div id="outline-container-org28ea824" class="outline-3">
<h3 id="org15e1bb7"><span class="section-number-3">3.13</span> Algorithms</h3> <h3 id="org28ea824"><span class="section-number-3">3.13</span> Algorithms</h3>
<div class="outline-text-3" id="text-3-13"> <div class="outline-text-3" id="text-3-13">
<p> <p>
Reducing the scaling of an algorithm usually implies also reducing Reducing the scaling of an algorithm usually implies also reducing
@ -926,7 +926,7 @@ implemented adapted to different problem sizes.
</div> </div>
<div id="postamble" class="status"> <div id="postamble" class="status">
<p class="author">Author: TREX CoE</p> <p class="author">Author: TREX CoE</p>
<p class="date">Created: 2024-03-29 Fri 08:29</p> <p class="date">Created: 2024-04-10 Wed 14:39</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p> <p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div> </div>
</body> </body>

View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head> <head>
<!-- 2024-03-29 Fri 08:29 --> <!-- 2024-04-10 Wed 14:39 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Atomic Orbitals</title> <title>Atomic Orbitals</title>
@ -346,62 +346,62 @@ for the JavaScript code in this tag.
<h2>Table of Contents</h2> <h2>Table of Contents</h2>
<div id="text-table-of-contents"> <div id="text-table-of-contents">
<ul> <ul>
<li><a href="#org7c41ccb">1. Introduction</a></li> <li><a href="#orga8994ba">1. Introduction</a></li>
<li><a href="#org66f2b99">2. Context</a> <li><a href="#org610ac7b">2. Context</a>
<ul> <ul>
<li><a href="#org410c932">2.1. Constant data</a> <li><a href="#org3676445">2.1. Constant data</a>
<ul> <ul>
<li><a href="#org25955ec">2.1.1. Initialization functions</a> <li><a href="#orgb495ae0">2.1.1. Initialization functions</a>
<ul> <ul>
<li><a href="#org2d1cb05">2.1.1.1. C interface</a></li> <li><a href="#org8db659d">2.1.1.1. C interface</a></li>
<li><a href="#orgb6cb2d6">2.1.1.2. Fortran interface</a></li> <li><a href="#org4d8b889">2.1.1.2. Fortran interface</a></li>
</ul> </ul>
</li> </li>
<li><a href="#orga9f6551">2.1.2. Access functions</a> <li><a href="#orgc9f6af0">2.1.2. Access functions</a>
<ul> <ul>
<li><a href="#orgce0aacb">2.1.2.1. C interface</a></li> <li><a href="#org8d3be2b">2.1.2.1. C interface</a></li>
<li><a href="#orge891558">2.1.2.2. Fortran interface</a></li> <li><a href="#org55c17da">2.1.2.2. Fortran interface</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
</li> </li>
<li><a href="#org0796900">2.2. Computed data</a> <li><a href="#org6030a4f">2.2. Computed data</a>
<ul> <ul>
<li><a href="#org5a9fa39">2.2.1. After initialization</a></li> <li><a href="#org54209a8">2.2.1. After initialization</a></li>
<li><a href="#orgf3eb4c4">2.2.2. <span class="todo TODO">TODO</span> HPC-specific data structures</a></li> <li><a href="#org0e52313">2.2.2. <span class="todo TODO">TODO</span> HPC-specific data structures</a></li>
<li><a href="#org5f8c9c7">2.2.3. Access functions</a></li> <li><a href="#orgd2d9c9c">2.2.3. Access functions</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
</li> </li>
<li><a href="#orgd5e2694">3. Radial part</a> <li><a href="#org4c53bfe">3. Radial part</a>
<ul> <ul>
<li><a href="#orga6c8405">3.1. General functions for Gaussian basis functions</a></li> <li><a href="#org8ddd4be">3.1. General functions for Gaussian basis functions</a></li>
<li><a href="#org392e14d">3.2. Computation of primitives</a></li> <li><a href="#orgf74157f">3.2. Computation of primitives</a></li>
<li><a href="#org945cca5">3.3. Computation of shells</a></li> <li><a href="#org1b8497b">3.3. Computation of shells</a></li>
</ul> </ul>
</li> </li>
<li><a href="#org27da11b">4. Polynomial part</a> <li><a href="#org52d6956">4. Polynomial part</a>
<ul> <ul>
<li><a href="#org9b8b808">4.1. General functions for Powers of \(x-X_i\)</a></li> <li><a href="#org344c65e">4.1. General functions for Powers of \(x-X_i\)</a></li>
<li><a href="#org6d33d56">4.2. General functions for Value, Gradient and Laplacian of a polynomial</a></li> <li><a href="#orgecdc73c">4.2. General functions for Value, Gradient and Laplacian of a polynomial</a></li>
</ul> </ul>
</li> </li>
<li><a href="#orgd6efc3d">5. Combining radial and polynomial parts</a> <li><a href="#org77dd8f1">5. Combining radial and polynomial parts</a>
<ul> <ul>
<li><a href="#orgffd133a">5.1. Determination of nucleus ranges</a></li> <li><a href="#org94e8a03">5.1. Determination of nucleus ranges</a></li>
<li><a href="#org1c2cc61">5.2. Values only</a> <li><a href="#org00f7c45">5.2. Values only</a>
<ul> <ul>
<li><a href="#org8ac7a82">5.2.1. Unoptimized version</a></li> <li><a href="#org964c286">5.2.1. Unoptimized version</a></li>
<li><a href="#org0946ac9">5.2.2. HPC version</a></li> <li><a href="#org1ffb198">5.2.2. HPC version</a></li>
<li><a href="#org30c6a36">5.2.3. Interfaces</a></li> <li><a href="#orgb1193a7">5.2.3. Interfaces</a></li>
</ul> </ul>
</li> </li>
<li><a href="#orgb413cac">5.3. Value, gradients, Laplacian</a> <li><a href="#orgf7fafac">5.3. Value, gradients, Laplacian</a>
<ul> <ul>
<li><a href="#org11f7df7">5.3.1. Reference version</a></li> <li><a href="#org172a807">5.3.1. Reference version</a></li>
<li><a href="#org47b8bf2">5.3.2. HPC version</a></li> <li><a href="#org1420e50">5.3.2. HPC version</a></li>
<li><a href="#org2b98700">5.3.3. Interfaces</a></li> <li><a href="#org1cb6086">5.3.3. Interfaces</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@ -410,8 +410,8 @@ for the JavaScript code in this tag.
</div> </div>
</div> </div>
<div id="outline-container-org7c41ccb" class="outline-2"> <div id="outline-container-orga8994ba" class="outline-2">
<h2 id="org7c41ccb"><span class="section-number-2">1</span> Introduction</h2> <h2 id="orga8994ba"><span class="section-number-2">1</span> Introduction</h2>
<div class="outline-text-2" id="text-1"> <div class="outline-text-2" id="text-1">
<p> <p>
The atomic basis set is defined as a list of shells. Each shell \(s\) is The atomic basis set is defined as a list of shells. Each shell \(s\) is
@ -464,19 +464,19 @@ gradients and Laplacian of the atomic basis functions.
</div> </div>
</div> </div>
<div id="outline-container-org66f2b99" class="outline-2"> <div id="outline-container-org610ac7b" class="outline-2">
<h2 id="org66f2b99"><span class="section-number-2">2</span> Context</h2> <h2 id="org610ac7b"><span class="section-number-2">2</span> Context</h2>
<div class="outline-text-2" id="text-2"> <div class="outline-text-2" id="text-2">
</div> </div>
<div id="outline-container-org410c932" class="outline-3"> <div id="outline-container-org3676445" class="outline-3">
<h3 id="org410c932"><span class="section-number-3">2.1</span> Constant data</h3> <h3 id="org3676445"><span class="section-number-3">2.1</span> Constant data</h3>
<div class="outline-text-3" id="text-2-1"> <div class="outline-text-3" id="text-2-1">
<p> <p>
The following arrays are stored in the context, and need to be set The following arrays are stored in the context, and need to be set
when initializing the library: when initializing the library:
</p> </p>
<table id="orgb0b2eaf" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> <table id="orgcc5bf59" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup> <colgroup>
@ -710,7 +710,7 @@ calling the functions:
</p> </p>
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-C" id="org21c09f7"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_set_ao_basis_$V$</span> ( <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <pre class="src src-C" id="orgd648b5d"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_set_ao_basis_$V$</span> ( <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
<span style="color: #a020f0;">const</span> $type_of_V$ $V$); <span style="color: #a020f0;">const</span> $type_of_V$ $V$);
<span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_ao_basis_$V$</span> ( <span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_ao_basis_$V$</span> ( <span style="color: #a020f0;">const</span> <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
@ -747,7 +747,7 @@ For array variables, use the rule:
</p> </p>
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-C" id="org10a92b8"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_set_ao_basis_$V$</span> ( <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <pre class="src src-C" id="org4c67ab9"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_set_ao_basis_$V$</span> ( <span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>,
<span style="color: #a020f0;">const</span> $type_of_V$ $V$, <span style="color: #a020f0;">const</span> $type_of_V$ $V$,
<span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">size_max</span>); <span style="color: #a020f0;">const</span> <span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">size_max</span>);
@ -785,17 +785,17 @@ For array variables, use the rule:
</div> </div>
</div> </div>
<div id="outline-container-org25955ec" class="outline-4"> <div id="outline-container-orgb495ae0" class="outline-4">
<h4 id="org25955ec"><span class="section-number-4">2.1.1</span> Initialization functions</h4> <h4 id="orgb495ae0"><span class="section-number-4">2.1.1</span> Initialization functions</h4>
<div class="outline-text-4" id="text-2-1-1"> <div class="outline-text-4" id="text-2-1-1">
<p> <p>
<code>size_max</code> is the dimension of the input array, which should be <code>size_max</code> is the dimension of the input array, which should be
equal of larger than the value given in the table of section <a href="#org66f2b99">2</a>. equal of larger than the value given in the table of section <a href="#org610ac7b">2</a>.
</p> </p>
</div> </div>
<div id="outline-container-org2d1cb05" class="outline-5"> <div id="outline-container-org8db659d" class="outline-5">
<h5 id="org2d1cb05"><span class="section-number-5">2.1.1.1</span> C interface</h5> <h5 id="org8db659d"><span class="section-number-5">2.1.1.1</span> C interface</h5>
<div class="outline-text-5" id="text-2-1-1-1"> <div class="outline-text-5" id="text-2-1-1-1">
<p> <p>
To set the basis set, all the following functions need to be To set the basis set, all the following functions need to be
@ -919,8 +919,8 @@ called.
</div> </div>
</div> </div>
<div id="outline-container-orgb6cb2d6" class="outline-5"> <div id="outline-container-org4d8b889" class="outline-5">
<h5 id="orgb6cb2d6"><span class="section-number-5">2.1.1.2</span> Fortran interface</h5> <h5 id="org4d8b889"><span class="section-number-5">2.1.1.2</span> Fortran interface</h5>
<div class="outline-text-5" id="text-2-1-1-2"> <div class="outline-text-5" id="text-2-1-1-2">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-f90"><span style="color: #a020f0;">interface</span> <pre class="src src-f90"><span style="color: #a020f0;">interface</span>
@ -1103,17 +1103,17 @@ called.
</div> </div>
</div> </div>
<div id="outline-container-orga9f6551" class="outline-4"> <div id="outline-container-orgc9f6af0" class="outline-4">
<h4 id="orga9f6551"><span class="section-number-4">2.1.2</span> Access functions</h4> <h4 id="orgc9f6af0"><span class="section-number-4">2.1.2</span> Access functions</h4>
<div class="outline-text-4" id="text-2-1-2"> <div class="outline-text-4" id="text-2-1-2">
<p> <p>
<code>size_max</code> is the dimension of the input array, which should be <code>size_max</code> is the dimension of the input array, which should be
equal of larger than the value given in the table of section <a href="#org66f2b99">2</a>. equal of larger than the value given in the table of section <a href="#org610ac7b">2</a>.
</p> </p>
</div> </div>
<div id="outline-container-orgce0aacb" class="outline-5"> <div id="outline-container-org8d3be2b" class="outline-5">
<h5 id="orgce0aacb"><span class="section-number-5">2.1.2.1</span> C interface</h5> <h5 id="org8d3be2b"><span class="section-number-5">2.1.2.1</span> C interface</h5>
<div class="outline-text-5" id="text-2-1-2-1"> <div class="outline-text-5" id="text-2-1-2-1">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span>
@ -1235,8 +1235,8 @@ function returns <code>true</code>.
</div> </div>
</div> </div>
<div id="outline-container-orge891558" class="outline-5"> <div id="outline-container-org55c17da" class="outline-5">
<h5 id="orge891558"><span class="section-number-5">2.1.2.2</span> Fortran interface</h5> <h5 id="org55c17da"><span class="section-number-5">2.1.2.2</span> Fortran interface</h5>
<div class="outline-text-5" id="text-2-1-2-2"> <div class="outline-text-5" id="text-2-1-2-2">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-f90"><span style="color: #a020f0;">interface</span> <pre class="src src-f90"><span style="color: #a020f0;">interface</span>
@ -1420,8 +1420,8 @@ function returns <code>true</code>.
</div> </div>
</div> </div>
<div id="outline-container-org0796900" class="outline-3"> <div id="outline-container-org6030a4f" class="outline-3">
<h3 id="org0796900"><span class="section-number-3">2.2</span> Computed data</h3> <h3 id="org6030a4f"><span class="section-number-3">2.2</span> Computed data</h3>
<div class="outline-text-3" id="text-2-2"> <div class="outline-text-3" id="text-2-2">
<p> <p>
The following data is computed as described in the next sections: The following data is computed as described in the next sections:
@ -1496,8 +1496,8 @@ The following data is computed as described in the next sections:
</table> </table>
</div> </div>
<div id="outline-container-org5a9fa39" class="outline-4"> <div id="outline-container-org54209a8" class="outline-4">
<h4 id="org5a9fa39"><span class="section-number-4">2.2.1</span> After initialization</h4> <h4 id="org54209a8"><span class="section-number-4">2.2.1</span> After initialization</h4>
<div class="outline-text-4" id="text-2-2-1"> <div class="outline-text-4" id="text-2-2-1">
<p> <p>
When the basis set is completely entered, extra data structures may be When the basis set is completely entered, extra data structures may be
@ -1511,8 +1511,8 @@ the context.
</div> </div>
</div> </div>
<div id="outline-container-orgf3eb4c4" class="outline-4"> <div id="outline-container-org0e52313" class="outline-4">
<h4 id="orgf3eb4c4"><span class="section-number-4">2.2.2</span> <span class="todo TODO">TODO</span> HPC-specific data structures</h4> <h4 id="org0e52313"><span class="section-number-4">2.2.2</span> <span class="todo TODO">TODO</span> HPC-specific data structures</h4>
<div class="outline-text-4" id="text-2-2-2"> <div class="outline-text-4" id="text-2-2-2">
<p> <p>
For faster access, we provide extra arrays for the shell information as: For faster access, we provide extra arrays for the shell information as:
@ -1542,8 +1542,8 @@ which is a matrix-vector product.
</div> </div>
</div> </div>
<div id="outline-container-org5f8c9c7" class="outline-4"> <div id="outline-container-orgd2d9c9c" class="outline-4">
<h4 id="org5f8c9c7"><span class="section-number-4">2.2.3</span> Access functions</h4> <h4 id="orgd2d9c9c"><span class="section-number-4">2.2.3</span> Access functions</h4>
<div class="outline-text-4" id="text-2-2-3"> <div class="outline-text-4" id="text-2-2-3">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span>
@ -1556,7 +1556,7 @@ which is a matrix-vector product.
<p> <p>
Returns the array of values, gradients an Laplacian of primitive Returns the array of values, gradients an Laplacian of primitive
basis functions evaluated at the current coordinates. basis functions evaluated at the current coordinates.
See section <a href="#org392e14d">3.2</a>. See section <a href="#orgf74157f">3.2</a>.
</p> </p>
<div class="org-src-container"> <div class="org-src-container">
@ -1569,7 +1569,7 @@ See section <a href="#org392e14d">3.2</a>.
<p> <p>
Returns the array of values, gradients an Laplacian of contracted shells Returns the array of values, gradients an Laplacian of contracted shells
evaluated at the current coordinates. See section <a href="#org945cca5">3.3</a>. evaluated at the current coordinates. See section <a href="#org1b8497b">3.3</a>.
</p> </p>
<div class="org-src-container"> <div class="org-src-container">
@ -1583,7 +1583,7 @@ evaluated at the current coordinates. See section <a href="#org945cca5">3.3</a>.
<p> <p>
Returns the array of values, gradients an Laplacian of the atomic orbitals Returns the array of values, gradients an Laplacian of the atomic orbitals
evaluated at the current coordinates. evaluated at the current coordinates.
See section <a href="#orgd6efc3d">5</a>. See section <a href="#org77dd8f1">5</a>.
</p> </p>
<p> <p>
@ -1608,7 +1608,7 @@ Uses the given array to compute the VGL.
<p> <p>
Returns the array of values of the atomic orbitals evaluated at Returns the array of values of the atomic orbitals evaluated at
the current coordinates. See section <a href="#orgd6efc3d">5</a>. the current coordinates. See section <a href="#org77dd8f1">5</a>.
</p> </p>
<p> <p>
@ -1627,12 +1627,12 @@ Uses the given array to compute the value.
</div> </div>
</div> </div>
<div id="outline-container-orgd5e2694" class="outline-2"> <div id="outline-container-org4c53bfe" class="outline-2">
<h2 id="orgd5e2694"><span class="section-number-2">3</span> Radial part</h2> <h2 id="org4c53bfe"><span class="section-number-2">3</span> Radial part</h2>
<div class="outline-text-2" id="text-3"> <div class="outline-text-2" id="text-3">
</div> </div>
<div id="outline-container-orga6c8405" class="outline-3"> <div id="outline-container-org8ddd4be" class="outline-3">
<h3 id="orga6c8405"><span class="section-number-3">3.1</span> General functions for Gaussian basis functions</h3> <h3 id="org8ddd4be"><span class="section-number-3">3.1</span> General functions for Gaussian basis functions</h3>
<div class="outline-text-3" id="text-3-1"> <div class="outline-text-3" id="text-3-1">
<p> <p>
<code>qmckl_ao_gaussian_vgl</code> computes the values, gradients and <code>qmckl_ao_gaussian_vgl</code> computes the values, gradients and
@ -1805,10 +1805,10 @@ Requirements:
</div> </div>
</div> </div>
<div id="outline-container-org392e14d" class="outline-3"> <div id="outline-container-orgf74157f" class="outline-3">
<h3 id="org392e14d"><span class="section-number-3">3.2</span> Computation of primitives</h3> <h3 id="orgf74157f"><span class="section-number-3">3.2</span> Computation of primitives</h3>
<div class="outline-text-3" id="text-3-2"> <div class="outline-text-3" id="text-3-2">
<table id="orge060967" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> <table id="org99e1627" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup> <colgroup>
@ -1969,10 +1969,10 @@ Requirements:
</div> </div>
</div> </div>
<div id="outline-container-org945cca5" class="outline-3"> <div id="outline-container-org1b8497b" class="outline-3">
<h3 id="org945cca5"><span class="section-number-3">3.3</span> Computation of shells</h3> <h3 id="org1b8497b"><span class="section-number-3">3.3</span> Computation of shells</h3>
<div class="outline-text-3" id="text-3-3"> <div class="outline-text-3" id="text-3-3">
<table id="org6a75092" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> <table id="org2649af1" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup> <colgroup>
@ -2228,8 +2228,8 @@ Requirements:
</div> </div>
</div> </div>
<div id="outline-container-org27da11b" class="outline-2"> <div id="outline-container-org52d6956" class="outline-2">
<h2 id="org27da11b"><span class="section-number-2">4</span> Polynomial part</h2> <h2 id="org52d6956"><span class="section-number-2">4</span> Polynomial part</h2>
<div class="outline-text-2" id="text-4"> <div class="outline-text-2" id="text-4">
<p> <p>
Going from the atomic basis set to AOs implies a systematic Going from the atomic basis set to AOs implies a systematic
@ -2249,8 +2249,8 @@ f & : & f_{xxx}, f_{xxy}, f_{xxz}, f_{xyy}, f_{xyz}, f_{xzz}, f_{yyy}, f_{yyz},
\end{eqnarray} \end{eqnarray}
</div> </div>
<div id="outline-container-org9b8b808" class="outline-3"> <div id="outline-container-org344c65e" class="outline-3">
<h3 id="org9b8b808"><span class="section-number-3">4.1</span> General functions for Powers of \(x-X_i\)</h3> <h3 id="org344c65e"><span class="section-number-3">4.1</span> General functions for Powers of \(x-X_i\)</h3>
<div class="outline-text-3" id="text-4-1"> <div class="outline-text-3" id="text-4-1">
<p> <p>
The <code>qmckl_ao_power</code> function computes all the powers of the <code>n</code> The <code>qmckl_ao_power</code> function computes all the powers of the <code>n</code>
@ -2262,7 +2262,7 @@ the \(n\) points:
\[ P_{ik} = X_i^k \] \[ P_{ik} = X_i^k \]
</p> </p>
<table id="orgef627ef" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> <table id="org2e8a662" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup> <colgroup>
@ -2403,8 +2403,8 @@ Requirements:
</div> </div>
</div> </div>
<div id="outline-container-org6d33d56" class="outline-3"> <div id="outline-container-orgecdc73c" class="outline-3">
<h3 id="org6d33d56"><span class="section-number-3">4.2</span> General functions for Value, Gradient and Laplacian of a polynomial</h3> <h3 id="orgecdc73c"><span class="section-number-3">4.2</span> General functions for Value, Gradient and Laplacian of a polynomial</h3>
<div class="outline-text-3" id="text-4-2"> <div class="outline-text-3" id="text-4-2">
<p> <p>
A polynomial is centered on a nucleus \(\mathbf{R}_i\) A polynomial is centered on a nucleus \(\mathbf{R}_i\)
@ -2449,7 +2449,7 @@ Laplacians at a given point in space, of all polynomials with an
angular momentum up to <code>lmax</code>. angular momentum up to <code>lmax</code>.
</p> </p>
<table id="org22deb82" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> <table id="org56c9101" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup> <colgroup>
@ -3242,12 +3242,12 @@ For example, with a=0, b=2 and c=1 the string is "yyz"</li>
</div> </div>
</div> </div>
<div id="outline-container-orgd6efc3d" class="outline-2"> <div id="outline-container-org77dd8f1" class="outline-2">
<h2 id="orgd6efc3d"><span class="section-number-2">5</span> Combining radial and polynomial parts</h2> <h2 id="org77dd8f1"><span class="section-number-2">5</span> Combining radial and polynomial parts</h2>
<div class="outline-text-2" id="text-5"> <div class="outline-text-2" id="text-5">
</div> </div>
<div id="outline-container-orgffd133a" class="outline-3"> <div id="outline-container-org94e8a03" class="outline-3">
<h3 id="orgffd133a"><span class="section-number-3">5.1</span> Determination of nucleus ranges</h3> <h3 id="org94e8a03"><span class="section-number-3">5.1</span> Determination of nucleus ranges</h3>
<div class="outline-text-3" id="text-5-1"> <div class="outline-text-3" id="text-5-1">
<p> <p>
The range of a nucleus is defined as the distance beyond which all The range of a nucleus is defined as the distance beyond which all
@ -3413,14 +3413,14 @@ of bits of precision (1-53), a range is given.
</div> </div>
</div> </div>
<div id="outline-container-org1c2cc61" class="outline-3"> <div id="outline-container-org00f7c45" class="outline-3">
<h3 id="org1c2cc61"><span class="section-number-3">5.2</span> Values only</h3> <h3 id="org00f7c45"><span class="section-number-3">5.2</span> Values only</h3>
<div class="outline-text-3" id="text-5-2"> <div class="outline-text-3" id="text-5-2">
</div> </div>
<div id="outline-container-org8ac7a82" class="outline-4"> <div id="outline-container-org964c286" class="outline-4">
<h4 id="org8ac7a82"><span class="section-number-4">5.2.1</span> Unoptimized version</h4> <h4 id="org964c286"><span class="section-number-4">5.2.1</span> Unoptimized version</h4>
<div class="outline-text-4" id="text-5-2-1"> <div class="outline-text-4" id="text-5-2-1">
<table id="org97dbce5" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> <table id="orgb5e8ffc" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup> <colgroup>
@ -3660,10 +3660,10 @@ of bits of precision (1-53), a range is given.
</div> </div>
</div> </div>
<div id="outline-container-org0946ac9" class="outline-4"> <div id="outline-container-org1ffb198" class="outline-4">
<h4 id="org0946ac9"><span class="section-number-4">5.2.2</span> HPC version</h4> <h4 id="org1ffb198"><span class="section-number-4">5.2.2</span> HPC version</h4>
<div class="outline-text-4" id="text-5-2-2"> <div class="outline-text-4" id="text-5-2-2">
<table id="orgff7656d" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> <table id="org22c35c7" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup> <colgroup>
@ -3821,8 +3821,8 @@ of bits of precision (1-53), a range is given.
</div> </div>
</div> </div>
<div id="outline-container-org30c6a36" class="outline-4"> <div id="outline-container-orgb1193a7" class="outline-4">
<h4 id="org30c6a36"><span class="section-number-4">5.2.3</span> Interfaces</h4> <h4 id="orgb1193a7"><span class="section-number-4">5.2.3</span> Interfaces</h4>
<div class="outline-text-4" id="text-5-2-3"> <div class="outline-text-4" id="text-5-2-3">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_compute_ao_value_doc</span> ( <pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_compute_ao_value_doc</span> (
@ -3871,14 +3871,14 @@ of bits of precision (1-53), a range is given.
</div> </div>
</div> </div>
<div id="outline-container-orgb413cac" class="outline-3"> <div id="outline-container-orgf7fafac" class="outline-3">
<h3 id="orgb413cac"><span class="section-number-3">5.3</span> Value, gradients, Laplacian</h3> <h3 id="orgf7fafac"><span class="section-number-3">5.3</span> Value, gradients, Laplacian</h3>
<div class="outline-text-3" id="text-5-3"> <div class="outline-text-3" id="text-5-3">
</div> </div>
<div id="outline-container-org11f7df7" class="outline-4"> <div id="outline-container-org172a807" class="outline-4">
<h4 id="org11f7df7"><span class="section-number-4">5.3.1</span> Reference version</h4> <h4 id="org172a807"><span class="section-number-4">5.3.1</span> Reference version</h4>
<div class="outline-text-4" id="text-5-3-1"> <div class="outline-text-4" id="text-5-3-1">
<table id="org14333f1" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> <table id="org8c2c373" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup> <colgroup>
@ -4146,10 +4146,10 @@ of bits of precision (1-53), a range is given.
</div> </div>
</div> </div>
<div id="outline-container-org47b8bf2" class="outline-4"> <div id="outline-container-org1420e50" class="outline-4">
<h4 id="org47b8bf2"><span class="section-number-4">5.3.2</span> HPC version</h4> <h4 id="org1420e50"><span class="section-number-4">5.3.2</span> HPC version</h4>
<div class="outline-text-4" id="text-5-3-2"> <div class="outline-text-4" id="text-5-3-2">
<table id="org7fec46e" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> <table id="orge4548be" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup> <colgroup>
@ -4308,8 +4308,8 @@ of bits of precision (1-53), a range is given.
</div> </div>
<div id="outline-container-org2b98700" class="outline-4"> <div id="outline-container-org1cb6086" class="outline-4">
<h4 id="org2b98700"><span class="section-number-4">5.3.3</span> Interfaces</h4> <h4 id="org1cb6086"><span class="section-number-4">5.3.3</span> Interfaces</h4>
<div class="outline-text-4" id="text-5-3-3"> <div class="outline-text-4" id="text-5-3-3">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_compute_ao_vgl_doc</span> ( <pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_compute_ao_vgl_doc</span> (
@ -4361,7 +4361,7 @@ of bits of precision (1-53), a range is given.
</div> </div>
<div id="postamble" class="status"> <div id="postamble" class="status">
<p class="author">Author: TREX CoE</p> <p class="author">Author: TREX CoE</p>
<p class="date">Created: 2024-03-29 Fri 08:29</p> <p class="date">Created: 2024-04-10 Wed 14:39</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p> <p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div> </div>
</body> </body>

View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head> <head>
<!-- 2024-03-29 Fri 08:29 --> <!-- 2024-04-10 Wed 14:39 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="viewport" content="width=device-width, initial-scale=1" />
<title>BLAS functions</title> <title>BLAS functions</title>
@ -346,56 +346,56 @@ for the JavaScript code in this tag.
<h2>Table of Contents</h2> <h2>Table of Contents</h2>
<div id="text-table-of-contents"> <div id="text-table-of-contents">
<ul> <ul>
<li><a href="#orgb2b7f96">-</a></li> <li><a href="#orgb916bb8">-</a></li>
<li><a href="#orgc14f780">1. Data types</a> <li><a href="#org5fb3c06">1. Data types</a>
<ul> <ul>
<li><a href="#org8488ce0">1.1. Vector</a></li> <li><a href="#org7f2594c">1.1. Vector</a></li>
<li><a href="#org405ab54">1.2. Matrix</a></li> <li><a href="#org61f5c2c">1.2. Matrix</a></li>
<li><a href="#org12ce79f">1.3. Tensor</a></li> <li><a href="#org045e2c4">1.3. Tensor</a></li>
<li><a href="#orgcff1837">1.4. Reshaping</a> <li><a href="#orgfa8f38d">1.4. Reshaping</a>
<ul> <ul>
<li><a href="#orgf27e2b0">1.4.1. Vector -&gt; Matrix</a></li> <li><a href="#org285ba5d">1.4.1. Vector -&gt; Matrix</a></li>
<li><a href="#orgef68c77">1.4.2. Vector -&gt; Tensor</a></li> <li><a href="#org881f985">1.4.2. Vector -&gt; Tensor</a></li>
<li><a href="#org8ffa7b7">1.4.3. Matrix -&gt; Vector</a></li> <li><a href="#org6187e7f">1.4.3. Matrix -&gt; Vector</a></li>
<li><a href="#org2951a58">1.4.4. Matrix -&gt; Tensor</a></li> <li><a href="#orgcd27bd1">1.4.4. Matrix -&gt; Tensor</a></li>
<li><a href="#orge41b556">1.4.5. Tensor -&gt; Vector</a></li> <li><a href="#orgb2d73eb">1.4.5. Tensor -&gt; Vector</a></li>
<li><a href="#orgddbe391">1.4.6. Tensor -&gt; Matrix</a></li> <li><a href="#org8f40974">1.4.6. Tensor -&gt; Matrix</a></li>
</ul> </ul>
</li> </li>
<li><a href="#org8381c16">1.5. Access macros</a></li> <li><a href="#orgd41f0f7">1.5. Access macros</a></li>
<li><a href="#org152398a">1.6. Set all elements</a> <li><a href="#org4c03f4a">1.6. Set all elements</a>
<ul> <ul>
<li><a href="#org22b35b1">1.6.1. Vector</a></li> <li><a href="#org127c81c">1.6.1. Vector</a></li>
<li><a href="#org4b877d0">1.6.2. Matrix</a></li> <li><a href="#org6c17609">1.6.2. Matrix</a></li>
<li><a href="#orgea860bb">1.6.3. Tensor</a></li> <li><a href="#org9a74061">1.6.3. Tensor</a></li>
</ul> </ul>
</li> </li>
<li><a href="#orgea9db6d">1.7. Copy to/from to <code>double*</code></a></li> <li><a href="#org38bb765">1.7. Copy to/from to <code>double*</code></a></li>
<li><a href="#org657265e">1.8. Allocate and copy to <code>double*</code></a></li> <li><a href="#org666bcb1">1.8. Allocate and copy to <code>double*</code></a></li>
</ul> </ul>
</li> </li>
<li><a href="#org837d608">2. Matrix operations</a> <li><a href="#org418ff74">2. Matrix operations</a>
<ul> <ul>
<li><a href="#orgc524875">2.1. <code>qmckl_dgemm</code></a></li> <li><a href="#orge5dece8">2.1. <code>qmckl_dgemm</code></a></li>
<li><a href="#orgd2f348d">2.2. <code>qmckl_dgemm_safe</code></a></li> <li><a href="#orgebb8319">2.2. <code>qmckl_dgemm_safe</code></a></li>
<li><a href="#org59329da">2.3. <code>qmckl_matmul</code></a></li> <li><a href="#orge227cef">2.3. <code>qmckl_matmul</code></a></li>
<li><a href="#orgd188d67">2.4. <code>qmckl_adjugate</code></a></li> <li><a href="#org77a7ab3">2.4. <code>qmckl_adjugate</code></a></li>
<li><a href="#org006fa19">2.5. <code>qmckl_adjugate_safe</code></a> <li><a href="#orgd85fd7a">2.5. <code>qmckl_adjugate_safe</code></a>
<ul> <ul>
<li><a href="#org23f4e28">2.5.1. C interface</a></li> <li><a href="#orgd77ed00">2.5.1. C interface</a></li>
</ul> </ul>
</li> </li>
<li><a href="#orgb431f36">2.6. <code>qmckl_transpose</code></a></li> <li><a href="#orgdf26275">2.6. <code>qmckl_transpose</code></a></li>
</ul> </ul>
</li> </li>
<li><a href="#orgaea0906">3. Utilities</a></li> <li><a href="#org092c1c1">3. Utilities</a></li>
</ul> </ul>
</div> </div>
</div> </div>
<div id="outline-container-orgb2b7f96" class="outline-2"> <div id="outline-container-orgb916bb8" class="outline-2">
<h2 id="orgb2b7f96">-</h2> <h2 id="orgb916bb8">-</h2>
<div class="outline-text-2" id="text-orgb2b7f96"> <div class="outline-text-2" id="text-orgb916bb8">
<p> <p>
Basic linear algebra data types and operations are described in this file. Basic linear algebra data types and operations are described in this file.
The data types are private, so that HPC implementations can use The data types are private, so that HPC implementations can use
@ -409,12 +409,12 @@ are not intended to be passed to external codes.
</div> </div>
</div> </div>
<div id="outline-container-orgc14f780" class="outline-2"> <div id="outline-container-org5fb3c06" class="outline-2">
<h2 id="orgc14f780"><span class="section-number-2">1</span> Data types</h2> <h2 id="org5fb3c06"><span class="section-number-2">1</span> Data types</h2>
<div class="outline-text-2" id="text-1"> <div class="outline-text-2" id="text-1">
</div> </div>
<div id="outline-container-org8488ce0" class="outline-3"> <div id="outline-container-org7f2594c" class="outline-3">
<h3 id="org8488ce0"><span class="section-number-3">1.1</span> Vector</h3> <h3 id="org7f2594c"><span class="section-number-3">1.1</span> Vector</h3>
<div class="outline-text-3" id="text-1-1"> <div class="outline-text-3" id="text-1-1">
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> <table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
@ -468,8 +468,8 @@ Allocates a new vector. If the allocation failed the size is zero.
</div> </div>
</div> </div>
<div id="outline-container-org405ab54" class="outline-3"> <div id="outline-container-org61f5c2c" class="outline-3">
<h3 id="org405ab54"><span class="section-number-3">1.2</span> Matrix</h3> <h3 id="org61f5c2c"><span class="section-number-3">1.2</span> Matrix</h3>
<div class="outline-text-3" id="text-1-2"> <div class="outline-text-3" id="text-1-2">
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> <table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
@ -529,8 +529,8 @@ Allocates a new matrix. If the allocation failed the sizes are zero.
</div> </div>
</div> </div>
<div id="outline-container-org12ce79f" class="outline-3"> <div id="outline-container-org045e2c4" class="outline-3">
<h3 id="org12ce79f"><span class="section-number-3">1.3</span> Tensor</h3> <h3 id="org045e2c4"><span class="section-number-3">1.3</span> Tensor</h3>
<div class="outline-text-3" id="text-1-3"> <div class="outline-text-3" id="text-1-3">
<table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> <table border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
@ -597,16 +597,16 @@ is zero.
</div> </div>
</div> </div>
<div id="outline-container-orgcff1837" class="outline-3"> <div id="outline-container-orgfa8f38d" class="outline-3">
<h3 id="orgcff1837"><span class="section-number-3">1.4</span> Reshaping</h3> <h3 id="orgfa8f38d"><span class="section-number-3">1.4</span> Reshaping</h3>
<div class="outline-text-3" id="text-1-4"> <div class="outline-text-3" id="text-1-4">
<p> <p>
Reshaping occurs in-place and the pointer to the data is copied. Reshaping occurs in-place and the pointer to the data is copied.
</p> </p>
</div> </div>
<div id="outline-container-orgf27e2b0" class="outline-4"> <div id="outline-container-org285ba5d" class="outline-4">
<h4 id="orgf27e2b0"><span class="section-number-4">1.4.1</span> Vector -&gt; Matrix</h4> <h4 id="org285ba5d"><span class="section-number-4">1.4.1</span> Vector -&gt; Matrix</h4>
<div class="outline-text-4" id="text-1-4-1"> <div class="outline-text-4" id="text-1-4-1">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-c"><span style="color: #228b22;">qmckl_matrix</span> <pre class="src src-c"><span style="color: #228b22;">qmckl_matrix</span>
@ -622,8 +622,8 @@ Reshapes a vector into a matrix.
</div> </div>
</div> </div>
<div id="outline-container-orgef68c77" class="outline-4"> <div id="outline-container-org881f985" class="outline-4">
<h4 id="orgef68c77"><span class="section-number-4">1.4.2</span> Vector -&gt; Tensor</h4> <h4 id="org881f985"><span class="section-number-4">1.4.2</span> Vector -&gt; Tensor</h4>
<div class="outline-text-4" id="text-1-4-2"> <div class="outline-text-4" id="text-1-4-2">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-c"><span style="color: #228b22;">qmckl_tensor</span> <pre class="src src-c"><span style="color: #228b22;">qmckl_tensor</span>
@ -639,8 +639,8 @@ Reshapes a vector into a tensor.
</div> </div>
</div> </div>
<div id="outline-container-org8ffa7b7" class="outline-4"> <div id="outline-container-org6187e7f" class="outline-4">
<h4 id="org8ffa7b7"><span class="section-number-4">1.4.3</span> Matrix -&gt; Vector</h4> <h4 id="org6187e7f"><span class="section-number-4">1.4.3</span> Matrix -&gt; Vector</h4>
<div class="outline-text-4" id="text-1-4-3"> <div class="outline-text-4" id="text-1-4-3">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-c"><span style="color: #228b22;">qmckl_vector</span> <pre class="src src-c"><span style="color: #228b22;">qmckl_vector</span>
@ -654,8 +654,8 @@ Reshapes a matrix into a vector.
</div> </div>
</div> </div>
<div id="outline-container-org2951a58" class="outline-4"> <div id="outline-container-orgcd27bd1" class="outline-4">
<h4 id="org2951a58"><span class="section-number-4">1.4.4</span> Matrix -&gt; Tensor</h4> <h4 id="orgcd27bd1"><span class="section-number-4">1.4.4</span> Matrix -&gt; Tensor</h4>
<div class="outline-text-4" id="text-1-4-4"> <div class="outline-text-4" id="text-1-4-4">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-c"><span style="color: #228b22;">qmckl_tensor</span> <pre class="src src-c"><span style="color: #228b22;">qmckl_tensor</span>
@ -671,8 +671,8 @@ Reshapes a matrix into a tensor.
</div> </div>
</div> </div>
<div id="outline-container-orge41b556" class="outline-4"> <div id="outline-container-orgb2d73eb" class="outline-4">
<h4 id="orge41b556"><span class="section-number-4">1.4.5</span> Tensor -&gt; Vector</h4> <h4 id="orgb2d73eb"><span class="section-number-4">1.4.5</span> Tensor -&gt; Vector</h4>
<div class="outline-text-4" id="text-1-4-5"> <div class="outline-text-4" id="text-1-4-5">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-c"><span style="color: #228b22;">qmckl_vector</span> <pre class="src src-c"><span style="color: #228b22;">qmckl_vector</span>
@ -686,8 +686,8 @@ Reshapes a tensor into a vector.
</div> </div>
</div> </div>
<div id="outline-container-orgddbe391" class="outline-4"> <div id="outline-container-org8f40974" class="outline-4">
<h4 id="orgddbe391"><span class="section-number-4">1.4.6</span> Tensor -&gt; Matrix</h4> <h4 id="org8f40974"><span class="section-number-4">1.4.6</span> Tensor -&gt; Matrix</h4>
<div class="outline-text-4" id="text-1-4-6"> <div class="outline-text-4" id="text-1-4-6">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-c"><span style="color: #228b22;">qmckl_matrix</span> <pre class="src src-c"><span style="color: #228b22;">qmckl_matrix</span>
@ -704,8 +704,8 @@ Reshapes a tensor into a vector.
</div> </div>
</div> </div>
<div id="outline-container-org8381c16" class="outline-3"> <div id="outline-container-orgd41f0f7" class="outline-3">
<h3 id="org8381c16"><span class="section-number-3">1.5</span> Access macros</h3> <h3 id="orgd41f0f7"><span class="section-number-3">1.5</span> Access macros</h3>
<div class="outline-text-3" id="text-1-5"> <div class="outline-text-3" id="text-1-5">
<p> <p>
Macros are provided to ease the access to vectors, matrices and Macros are provided to ease the access to vectors, matrices and
@ -730,12 +730,12 @@ For example:
</div> </div>
</div> </div>
<div id="outline-container-org152398a" class="outline-3"> <div id="outline-container-org4c03f4a" class="outline-3">
<h3 id="org152398a"><span class="section-number-3">1.6</span> Set all elements</h3> <h3 id="org4c03f4a"><span class="section-number-3">1.6</span> Set all elements</h3>
<div class="outline-text-3" id="text-1-6"> <div class="outline-text-3" id="text-1-6">
</div> </div>
<div id="outline-container-org22b35b1" class="outline-4"> <div id="outline-container-org127c81c" class="outline-4">
<h4 id="org22b35b1"><span class="section-number-4">1.6.1</span> Vector</h4> <h4 id="org127c81c"><span class="section-number-4">1.6.1</span> Vector</h4>
<div class="outline-text-4" id="text-1-6-1"> <div class="outline-text-4" id="text-1-6-1">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-c"><span style="color: #228b22;">qmckl_vector</span> <pre class="src src-c"><span style="color: #228b22;">qmckl_vector</span>
@ -745,8 +745,8 @@ For example:
</div> </div>
</div> </div>
<div id="outline-container-org4b877d0" class="outline-4"> <div id="outline-container-org6c17609" class="outline-4">
<h4 id="org4b877d0"><span class="section-number-4">1.6.2</span> Matrix</h4> <h4 id="org6c17609"><span class="section-number-4">1.6.2</span> Matrix</h4>
<div class="outline-text-4" id="text-1-6-2"> <div class="outline-text-4" id="text-1-6-2">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-c"><span style="color: #228b22;">qmckl_matrix</span> <pre class="src src-c"><span style="color: #228b22;">qmckl_matrix</span>
@ -756,8 +756,8 @@ For example:
</div> </div>
</div> </div>
<div id="outline-container-orgea860bb" class="outline-4"> <div id="outline-container-org9a74061" class="outline-4">
<h4 id="orgea860bb"><span class="section-number-4">1.6.3</span> Tensor</h4> <h4 id="org9a74061"><span class="section-number-4">1.6.3</span> Tensor</h4>
<div class="outline-text-4" id="text-1-6-3"> <div class="outline-text-4" id="text-1-6-3">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-c"><span style="color: #228b22;">qmckl_tensor</span> <pre class="src src-c"><span style="color: #228b22;">qmckl_tensor</span>
@ -768,8 +768,8 @@ For example:
</div> </div>
</div> </div>
<div id="outline-container-orgea9db6d" class="outline-3"> <div id="outline-container-org38bb765" class="outline-3">
<h3 id="orgea9db6d"><span class="section-number-3">1.7</span> Copy to/from to <code>double*</code></h3> <h3 id="org38bb765"><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="outline-text-3" id="text-1-7">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span>
@ -851,8 +851,8 @@ Converts a <code>double*</code> to a tensor.
</div> </div>
</div> </div>
<div id="outline-container-org657265e" class="outline-3"> <div id="outline-container-org666bcb1" class="outline-3">
<h3 id="org657265e"><span class="section-number-3">1.8</span> Allocate and copy to <code>double*</code></h3> <h3 id="org666bcb1"><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="outline-text-3" id="text-1-8">
<div class="org-src-container"> <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>, <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>,
@ -876,12 +876,12 @@ Converts a <code>double*</code> to a tensor.
</div> </div>
</div> </div>
<div id="outline-container-org837d608" class="outline-2"> <div id="outline-container-org418ff74" class="outline-2">
<h2 id="org837d608"><span class="section-number-2">2</span> Matrix operations</h2> <h2 id="org418ff74"><span class="section-number-2">2</span> Matrix operations</h2>
<div class="outline-text-2" id="text-2"> <div class="outline-text-2" id="text-2">
</div> </div>
<div id="outline-container-orgc524875" class="outline-3"> <div id="outline-container-orge5dece8" class="outline-3">
<h3 id="orgc524875"><span class="section-number-3">2.1</span> <code>qmckl_dgemm</code></h3> <h3 id="orge5dece8"><span class="section-number-3">2.1</span> <code>qmckl_dgemm</code></h3>
<div class="outline-text-3" id="text-2-1"> <div class="outline-text-3" id="text-2-1">
<p> <p>
Matrix multiplication with a BLAS interface: Matrix multiplication with a BLAS interface:
@ -893,7 +893,7 @@ Matrix multiplication with a BLAS interface:
\] \]
</p> </p>
<table id="orgc31db22" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> <table id="org7161745" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup> <colgroup>
@ -1052,8 +1052,8 @@ Requirements:
</div> </div>
</div> </div>
<div id="outline-container-orgd2f348d" class="outline-3"> <div id="outline-container-orgebb8319" class="outline-3">
<h3 id="orgd2f348d"><span class="section-number-3">2.2</span> <code>qmckl_dgemm_safe</code></h3> <h3 id="orgebb8319"><span class="section-number-3">2.2</span> <code>qmckl_dgemm_safe</code></h3>
<div class="outline-text-3" id="text-2-2"> <div class="outline-text-3" id="text-2-2">
<p> <p>
"Size-safe" proxy function with the same functionality as <code>qmckl_dgemm</code> "Size-safe" proxy function with the same functionality as <code>qmckl_dgemm</code>
@ -1062,7 +1062,7 @@ are required primarily for the Python API, where compatibility with
NumPy arrays implies that sizes of the input and output arrays are provided. NumPy arrays implies that sizes of the input and output arrays are provided.
</p> </p>
<table id="org5e6eb0b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> <table id="orga367dd3" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup> <colgroup>
@ -1248,8 +1248,8 @@ Requirements:
</div> </div>
</div> </div>
<div id="outline-container-org59329da" class="outline-3"> <div id="outline-container-orge227cef" class="outline-3">
<h3 id="org59329da"><span class="section-number-3">2.3</span> <code>qmckl_matmul</code></h3> <h3 id="orge227cef"><span class="section-number-3">2.3</span> <code>qmckl_matmul</code></h3>
<div class="outline-text-3" id="text-2-3"> <div class="outline-text-3" id="text-2-3">
<p> <p>
Matrix multiplication using the <code>qmckl_matrix</code> data type: Matrix multiplication using the <code>qmckl_matrix</code> data type:
@ -1261,7 +1261,7 @@ Matrix multiplication using the <code>qmckl_matrix</code> data type:
\] \]
</p> </p>
<table id="org4170565" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> <table id="orgb108cc0" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup> <colgroup>
@ -1355,8 +1355,8 @@ Matrix multiplication using the <code>qmckl_matrix</code> data type:
</div> </div>
</div> </div>
<div id="outline-container-orgd188d67" class="outline-3"> <div id="outline-container-org77a7ab3" class="outline-3">
<h3 id="orgd188d67"><span class="section-number-3">2.4</span> <code>qmckl_adjugate</code></h3> <h3 id="org77a7ab3"><span class="section-number-3">2.4</span> <code>qmckl_adjugate</code></h3>
<div class="outline-text-3" id="text-2-4"> <div class="outline-text-3" id="text-2-4">
<p> <p>
Given a matrix \(\mathbf{A}\), the adjugate matrix Given a matrix \(\mathbf{A}\), the adjugate matrix
@ -1374,7 +1374,7 @@ of \(\mathbf{A}\).
See also: <a href="https://en.wikipedia.org/wiki/Adjugate_matrix">https://en.wikipedia.org/wiki/Adjugate_matrix</a> See also: <a href="https://en.wikipedia.org/wiki/Adjugate_matrix">https://en.wikipedia.org/wiki/Adjugate_matrix</a>
</p> </p>
<table id="org1247a2d" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> <table id="org155e407" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup> <colgroup>
@ -1570,8 +1570,8 @@ determinant with the inverse:
</div> </div>
</div> </div>
<div id="outline-container-org006fa19" class="outline-3"> <div id="outline-container-orgd85fd7a" class="outline-3">
<h3 id="org006fa19"><span class="section-number-3">2.5</span> <code>qmckl_adjugate_safe</code></h3> <h3 id="orgd85fd7a"><span class="section-number-3">2.5</span> <code>qmckl_adjugate_safe</code></h3>
<div class="outline-text-3" id="text-2-5"> <div class="outline-text-3" id="text-2-5">
<p> <p>
"Size-safe" proxy function with the same functionality as <code>qmckl_adjugate</code> "Size-safe" proxy function with the same functionality as <code>qmckl_adjugate</code>
@ -1581,7 +1581,7 @@ NumPy arrays implies that sizes of the input and output arrays are provided.
</p> </p>
<table id="orga2d90bb" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> <table id="org8ff2913" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup> <colgroup>
@ -1703,13 +1703,13 @@ LAPACK library.
</p> </p>
</div> </div>
<div id="outline-container-org23f4e28" class="outline-4"> <div id="outline-container-orgd77ed00" class="outline-4">
<h4 id="org23f4e28"><span class="section-number-4">2.5.1</span> C interface</h4> <h4 id="orgd77ed00"><span class="section-number-4">2.5.1</span> C interface</h4>
</div> </div>
</div> </div>
<div id="outline-container-orgb431f36" class="outline-3"> <div id="outline-container-orgdf26275" class="outline-3">
<h3 id="orgb431f36"><span class="section-number-3">2.6</span> <code>qmckl_transpose</code></h3> <h3 id="orgdf26275"><span class="section-number-3">2.6</span> <code>qmckl_transpose</code></h3>
<div class="outline-text-3" id="text-2-6"> <div class="outline-text-3" id="text-2-6">
<p> <p>
Transposes a matrix: \(A^\dagger_{ji} = A_{ij}\). Transposes a matrix: \(A^\dagger_{ji} = A_{ij}\).
@ -1770,8 +1770,8 @@ Transposes a matrix: \(A^\dagger_{ji} = A_{ij}\).
</div> </div>
</div> </div>
<div id="outline-container-orgaea0906" class="outline-2"> <div id="outline-container-org092c1c1" class="outline-2">
<h2 id="orgaea0906"><span class="section-number-2">3</span> Utilities</h2> <h2 id="org092c1c1"><span class="section-number-2">3</span> Utilities</h2>
<div class="outline-text-2" id="text-3"> <div class="outline-text-2" id="text-3">
<p> <p>
Trick to make MKL efficient on AMD Trick to make MKL efficient on AMD
@ -1789,7 +1789,7 @@ Trick to make MKL efficient on AMD
</div> </div>
<div id="postamble" class="status"> <div id="postamble" class="status">
<p class="author">Author: TREX CoE</p> <p class="author">Author: TREX CoE</p>
<p class="date">Created: 2024-03-29 Fri 08:29</p> <p class="date">Created: 2024-04-10 Wed 14:39</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p> <p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div> </div>
</body> </body>

View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head> <head>
<!-- 2024-03-29 Fri 08:29 --> <!-- 2024-04-10 Wed 14:39 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Context</title> <title>Context</title>
@ -324,21 +324,21 @@ for the JavaScript code in this tag.
<h2>Table of Contents</h2> <h2>Table of Contents</h2>
<div id="text-table-of-contents"> <div id="text-table-of-contents">
<ul> <ul>
<li><a href="#orgcf398c0">1. Context handling</a> <li><a href="#org9a496fb">1. Context handling</a>
<ul> <ul>
<li><a href="#org2281e1a">1.1. Data structure</a></li> <li><a href="#org5908aa0">1.1. Data structure</a></li>
<li><a href="#orgc6c8641">1.2. Creation</a></li> <li><a href="#org7b82c01">1.2. Creation</a></li>
<li><a href="#orgf128d61">1.3. Locking</a></li> <li><a href="#org285b592">1.3. Locking</a></li>
<li><a href="#org5b209c4">1.4. <span class="todo TODO">TODO</span> Copy</a></li> <li><a href="#org39da0db">1.4. <span class="todo TODO">TODO</span> Copy</a></li>
<li><a href="#org603cc10">1.5. Destroy</a></li> <li><a href="#org819f4a8">1.5. Destroy</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
</div> </div>
</div> </div>
<div id="outline-container-orgcf398c0" class="outline-2"> <div id="outline-container-org9a496fb" class="outline-2">
<h2 id="orgcf398c0"><span class="section-number-2">1</span> Context handling</h2> <h2 id="org9a496fb"><span class="section-number-2">1</span> Context handling</h2>
<div class="outline-text-2" id="text-1"> <div class="outline-text-2" id="text-1">
<p> <p>
The context variable is a handle for the state of the library, The context variable is a handle for the state of the library,
@ -351,7 +351,7 @@ A value of <code>QMCKL_NULL_CONTEXT</code> for the context is equivalent to a
</p> </p>
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-c" id="orgc389690"><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="orgb630510"><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 <span style="color: #483d8b;">#define</span> <span style="color: #a0522d;">QMCKL_NULL_CONTEXT</span> (qmckl_context) 0
</pre> </pre>
</div> </div>
@ -369,8 +369,8 @@ and <code>ctx</code> is a <code>qmckl_context_struct*</code> pointer.
</p> </p>
</div> </div>
<div id="outline-container-org2281e1a" class="outline-3"> <div id="outline-container-org5908aa0" class="outline-3">
<h3 id="org2281e1a"><span class="section-number-3">1.1</span> Data structure</h3> <h3 id="org5908aa0"><span class="section-number-3">1.1</span> Data structure</h3>
<div class="outline-text-3" id="text-1-1"> <div class="outline-text-3" id="text-1-1">
<p> <p>
The qmckl<sub>extra</sub> pointer lets the other implementation of the library The qmckl<sub>extra</sub> pointer lets the other implementation of the library
@ -406,7 +406,7 @@ to be recomputed. The date is incremented when the context is touched.
<p> <p>
When a new element is added to the context, the functions When a new element is added to the context, the functions
<a href="#orgc6c8641"><code>qmckl_context_create</code></a> <a href="#org603cc10"><code>qmckl_context_destroy</code></a> and <a href="#org5b209c4"><code>qmckl_context_copy</code></a> <a href="#org7b82c01"><code>qmckl_context_create</code></a> <a href="#org819f4a8"><code>qmckl_context_destroy</code></a> and <a href="#org39da0db"><code>qmckl_context_copy</code></a>
should be updated in order to make deep copies. should be updated in order to make deep copies.
</p> </p>
@ -427,8 +427,8 @@ This has the effect to increment the date of the context.
</div> </div>
</div> </div>
<div id="outline-container-orgc6c8641" class="outline-3"> <div id="outline-container-org7b82c01" class="outline-3">
<h3 id="orgc6c8641"><span class="section-number-3">1.2</span> Creation</h3> <h3 id="org7b82c01"><span class="section-number-3">1.2</span> Creation</h3>
<div class="outline-text-3" id="text-1-2"> <div class="outline-text-3" id="text-1-2">
<p> <p>
To create a new context, <code>qmckl_context_create()</code> should be used. To create a new context, <code>qmckl_context_create()</code> should be used.
@ -445,8 +445,8 @@ To create a new context, <code>qmckl_context_create()</code> should be used.
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-orgf128d61" class="outline-3"> <div id="outline-container-org285b592" class="outline-3">
<h3 id="orgf128d61"><span class="section-number-3">1.3</span> Locking</h3> <h3 id="org285b592"><span class="section-number-3">1.3</span> Locking</h3>
<div class="outline-text-3" id="text-1-3"> <div class="outline-text-3" id="text-1-3">
<p> <p>
For thread safety, the context may be locked/unlocked. The lock is For thread safety, the context may be locked/unlocked. The lock is
@ -462,8 +462,8 @@ number of times the thread has locked it is saved in the
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-org5b209c4" class="outline-3"> <div id="outline-container-org39da0db" class="outline-3">
<h3 id="org5b209c4"><span class="section-number-3">1.4</span> <span class="todo TODO">TODO</span> Copy</h3> <h3 id="org39da0db"><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"> <div class="outline-text-3" id="text-1-4">
<p> <p>
<code>qmckl_context_copy</code> makes a deep copy of a context. It returns <code>qmckl_context_copy</code> makes a deep copy of a context. It returns
@ -471,8 +471,8 @@ number of times the thread has locked it is saved in the
</p> </p>
</div> </div>
</div> </div>
<div id="outline-container-org603cc10" class="outline-3"> <div id="outline-container-org819f4a8" class="outline-3">
<h3 id="org603cc10"><span class="section-number-3">1.5</span> Destroy</h3> <h3 id="org819f4a8"><span class="section-number-3">1.5</span> Destroy</h3>
<div class="outline-text-3" id="text-1-5"> <div class="outline-text-3" id="text-1-5">
<p> <p>
The context is destroyed with <code>qmckl_context_destroy</code>, leaving the ancestors untouched. The context is destroyed with <code>qmckl_context_destroy</code>, leaving the ancestors untouched.
@ -490,7 +490,7 @@ It frees the context, and returns the previous context.
</div> </div>
<div id="postamble" class="status"> <div id="postamble" class="status">
<p class="author">Author: TREX CoE</p> <p class="author">Author: TREX CoE</p>
<p class="date">Created: 2024-03-29 Fri 08:29</p> <p class="date">Created: 2024-04-10 Wed 14:39</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p> <p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div> </div>
</body> </body>

View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head> <head>
<!-- 2024-03-29 Fri 08:29 --> <!-- 2024-04-10 Wed 14:39 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Slater Determinant</title> <title>Slater Determinant</title>
@ -324,32 +324,32 @@ for the JavaScript code in this tag.
<h2>Table of Contents</h2> <h2>Table of Contents</h2>
<div id="text-table-of-contents"> <div id="text-table-of-contents">
<ul> <ul>
<li><a href="#orgcac2597">1. Context</a> <li><a href="#orgae2d172">1. Context</a>
<ul> <ul>
<li><a href="#org6eaa88f">1.1. Data structure</a></li> <li><a href="#org0c6158f">1.1. Data structure</a></li>
<li><a href="#orgb30b419">1.2. Access functions</a></li> <li><a href="#org90a5798">1.2. Access functions</a></li>
<li><a href="#org4d1dd99">1.3. Initialization functions</a></li> <li><a href="#org2535c64">1.3. Initialization functions</a></li>
<li><a href="#orgd234879">1.4. Fortran Interfaces</a></li> <li><a href="#org31b34f1">1.4. Fortran Interfaces</a></li>
<li><a href="#orgbc48147">1.5. Test</a></li> <li><a href="#org1c8ccf0">1.5. Test</a></li>
</ul> </ul>
</li> </li>
<li><a href="#org3a3cb28">2. Computation</a> <li><a href="#org6232aad">2. Computation</a>
<ul> <ul>
<li><a href="#orgb86e634">2.1. Determinant matrix</a> <li><a href="#org62749bf">2.1. Determinant matrix</a>
<ul> <ul>
<li><a href="#orgcbae209">2.1.1. Get</a></li> <li><a href="#org3257946">2.1.1. Get</a></li>
<li><a href="#orge1768a2">2.1.2. Provide</a></li> <li><a href="#org8497ecc">2.1.2. Provide</a></li>
<li><a href="#orgbac92ae">2.1.3. Compute alpha</a></li> <li><a href="#org5a183dd">2.1.3. Compute alpha</a></li>
<li><a href="#org62a633e">2.1.4. Compute beta</a></li> <li><a href="#org61aa358">2.1.4. Compute beta</a></li>
<li><a href="#org5086d87">2.1.5. Test</a></li> <li><a href="#org2bb2a43">2.1.5. Test</a></li>
</ul> </ul>
</li> </li>
<li><a href="#orgd2429e8">2.2. Inverse of Determinant matrix</a> <li><a href="#org1a16349">2.2. Inverse of Determinant matrix</a>
<ul> <ul>
<li><a href="#org8d2ab9d">2.2.1. Get</a></li> <li><a href="#org3874830">2.2.1. Get</a></li>
<li><a href="#org68e5f2b">2.2.2. Provide</a></li> <li><a href="#org21be28f">2.2.2. Provide</a></li>
<li><a href="#orgf6f3160">2.2.3. Compute alpha</a></li> <li><a href="#orgd7d561f">2.2.3. Compute alpha</a></li>
<li><a href="#orgead9417">2.2.4. Compute beta</a></li> <li><a href="#orgae61c77">2.2.4. Compute beta</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@ -358,8 +358,8 @@ for the JavaScript code in this tag.
</div> </div>
</div> </div>
<div id="outline-container-orgcac2597" class="outline-2"> <div id="outline-container-orgae2d172" class="outline-2">
<h2 id="orgcac2597"><span class="section-number-2">1</span> Context</h2> <h2 id="orgae2d172"><span class="section-number-2">1</span> Context</h2>
<div class="outline-text-2" id="text-1"> <div class="outline-text-2" id="text-1">
<p> <p>
The following arrays are stored in the context: The following arrays are stored in the context:
@ -535,8 +535,8 @@ Computed data:
</table> </table>
</div> </div>
<div id="outline-container-org6eaa88f" class="outline-3"> <div id="outline-container-org0c6158f" class="outline-3">
<h3 id="org6eaa88f"><span class="section-number-3">1.1</span> Data structure</h3> <h3 id="org0c6158f"><span class="section-number-3">1.1</span> Data structure</h3>
<div class="outline-text-3" id="text-1-1"> <div class="outline-text-3" id="text-1-1">
<div class="org-src-container"> <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> { <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> {
@ -604,8 +604,8 @@ this mechanism.
</div> </div>
</div> </div>
<div id="outline-container-orgb30b419" class="outline-3"> <div id="outline-container-org90a5798" class="outline-3">
<h3 id="orgb30b419"><span class="section-number-3">1.2</span> Access functions</h3> <h3 id="org90a5798"><span class="section-number-3">1.2</span> Access functions</h3>
<div class="outline-text-3" id="text-1-2"> <div class="outline-text-3" id="text-1-2">
<p> <p>
When all the data for the slater determinants have been provided, the following When all the data for the slater determinants have been provided, the following
@ -619,8 +619,8 @@ function returns <code>true</code>.
</div> </div>
</div> </div>
<div id="outline-container-org4d1dd99" class="outline-3"> <div id="outline-container-org2535c64" class="outline-3">
<h3 id="org4d1dd99"><span class="section-number-3">1.3</span> Initialization functions</h3> <h3 id="org2535c64"><span class="section-number-3">1.3</span> Initialization functions</h3>
<div class="outline-text-3" id="text-1-3"> <div class="outline-text-3" id="text-1-3">
<p> <p>
To set the basis set, all the following functions need to be To set the basis set, all the following functions need to be
@ -643,24 +643,24 @@ computed to accelerate the calculations.
</div> </div>
</div> </div>
<div id="outline-container-orgd234879" class="outline-3"> <div id="outline-container-org31b34f1" class="outline-3">
<h3 id="orgd234879"><span class="section-number-3">1.4</span> Fortran Interfaces</h3> <h3 id="org31b34f1"><span class="section-number-3">1.4</span> Fortran Interfaces</h3>
</div> </div>
<div id="outline-container-orgbc48147" class="outline-3"> <div id="outline-container-org1c8ccf0" class="outline-3">
<h3 id="orgbc48147"><span class="section-number-3">1.5</span> Test</h3> <h3 id="org1c8ccf0"><span class="section-number-3">1.5</span> Test</h3>
</div> </div>
</div> </div>
<div id="outline-container-org3a3cb28" class="outline-2"> <div id="outline-container-org6232aad" class="outline-2">
<h2 id="org3a3cb28"><span class="section-number-2">2</span> Computation</h2> <h2 id="org6232aad"><span class="section-number-2">2</span> Computation</h2>
<div class="outline-text-2" id="text-2"> <div class="outline-text-2" id="text-2">
</div> </div>
<div id="outline-container-orgb86e634" class="outline-3"> <div id="outline-container-org62749bf" class="outline-3">
<h3 id="orgb86e634"><span class="section-number-3">2.1</span> Determinant matrix</h3> <h3 id="org62749bf"><span class="section-number-3">2.1</span> Determinant matrix</h3>
<div class="outline-text-3" id="text-2-1"> <div class="outline-text-3" id="text-2-1">
</div> </div>
<div id="outline-container-orgcbae209" class="outline-4"> <div id="outline-container-org3257946" class="outline-4">
<h4 id="orgcbae209"><span class="section-number-4">2.1.1</span> Get</h4> <h4 id="org3257946"><span class="section-number-4">2.1.1</span> Get</h4>
<div class="outline-text-4" id="text-2-1-1"> <div class="outline-text-4" id="text-2-1-1">
<div class="org-src-container"> <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>); <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>);
@ -670,14 +670,14 @@ computed to accelerate the calculations.
</div> </div>
</div> </div>
<div id="outline-container-orge1768a2" class="outline-4"> <div id="outline-container-org8497ecc" class="outline-4">
<h4 id="orge1768a2"><span class="section-number-4">2.1.2</span> Provide</h4> <h4 id="org8497ecc"><span class="section-number-4">2.1.2</span> Provide</h4>
</div> </div>
<div id="outline-container-orgbac92ae" class="outline-4"> <div id="outline-container-org5a183dd" class="outline-4">
<h4 id="orgbac92ae"><span class="section-number-4">2.1.3</span> Compute alpha</h4> <h4 id="org5a183dd"><span class="section-number-4">2.1.3</span> Compute alpha</h4>
<div class="outline-text-4" id="text-2-1-3"> <div class="outline-text-4" id="text-2-1-3">
<table id="org9e265cb" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> <table id="orgb3465c4" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup> <colgroup>
@ -851,10 +851,10 @@ computed to accelerate the calculations.
</div> </div>
</div> </div>
<div id="outline-container-org62a633e" class="outline-4"> <div id="outline-container-org61aa358" class="outline-4">
<h4 id="org62a633e"><span class="section-number-4">2.1.4</span> Compute beta</h4> <h4 id="org61aa358"><span class="section-number-4">2.1.4</span> Compute beta</h4>
<div class="outline-text-4" id="text-2-1-4"> <div class="outline-text-4" id="text-2-1-4">
<table id="orgd1805a2" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> <table id="orgd610968" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup> <colgroup>
@ -1028,18 +1028,18 @@ computed to accelerate the calculations.
</div> </div>
</div> </div>
<div id="outline-container-org5086d87" class="outline-4"> <div id="outline-container-org2bb2a43" class="outline-4">
<h4 id="org5086d87"><span class="section-number-4">2.1.5</span> Test</h4> <h4 id="org2bb2a43"><span class="section-number-4">2.1.5</span> Test</h4>
</div> </div>
</div> </div>
<div id="outline-container-orgd2429e8" class="outline-3"> <div id="outline-container-org1a16349" class="outline-3">
<h3 id="orgd2429e8"><span class="section-number-3">2.2</span> Inverse of Determinant matrix</h3> <h3 id="org1a16349"><span class="section-number-3">2.2</span> Inverse of Determinant matrix</h3>
<div class="outline-text-3" id="text-2-2"> <div class="outline-text-3" id="text-2-2">
</div> </div>
<div id="outline-container-org8d2ab9d" class="outline-4"> <div id="outline-container-org3874830" class="outline-4">
<h4 id="org8d2ab9d"><span class="section-number-4">2.2.1</span> Get</h4> <h4 id="org3874830"><span class="section-number-4">2.2.1</span> Get</h4>
<div class="outline-text-4" id="text-2-2-1"> <div class="outline-text-4" id="text-2-2-1">
<div class="org-src-container"> <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>); <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>);
@ -1053,14 +1053,14 @@ computed to accelerate the calculations.
</div> </div>
</div> </div>
<div id="outline-container-org68e5f2b" class="outline-4"> <div id="outline-container-org21be28f" class="outline-4">
<h4 id="org68e5f2b"><span class="section-number-4">2.2.2</span> Provide</h4> <h4 id="org21be28f"><span class="section-number-4">2.2.2</span> Provide</h4>
</div> </div>
<div id="outline-container-orgf6f3160" class="outline-4"> <div id="outline-container-orgd7d561f" class="outline-4">
<h4 id="orgf6f3160"><span class="section-number-4">2.2.3</span> Compute alpha</h4> <h4 id="orgd7d561f"><span class="section-number-4">2.2.3</span> Compute alpha</h4>
<div class="outline-text-4" id="text-2-2-3"> <div class="outline-text-4" id="text-2-2-3">
<table id="org57fe2ee" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> <table id="org78ac9b1" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup> <colgroup>
@ -1222,10 +1222,10 @@ computed to accelerate the calculations.
</div> </div>
</div> </div>
<div id="outline-container-orgead9417" class="outline-4"> <div id="outline-container-orgae61c77" class="outline-4">
<h4 id="orgead9417"><span class="section-number-4">2.2.4</span> Compute beta</h4> <h4 id="orgae61c77"><span class="section-number-4">2.2.4</span> Compute beta</h4>
<div class="outline-text-4" id="text-2-2-4"> <div class="outline-text-4" id="text-2-2-4">
<table id="orgddca13d" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> <table id="orgafcf117" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup> <colgroup>
@ -1392,7 +1392,7 @@ computed to accelerate the calculations.
</div> </div>
<div id="postamble" class="status"> <div id="postamble" class="status">
<p class="author">Author: TREX CoE</p> <p class="author">Author: TREX CoE</p>
<p class="date">Created: 2024-03-29 Fri 08:29</p> <p class="date">Created: 2024-04-10 Wed 14:39</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p> <p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div> </div>
</body> </body>

View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head> <head>
<!-- 2024-03-29 Fri 08:29 --> <!-- 2024-04-10 Wed 14:39 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Inter-particle distances</title> <title>Inter-particle distances</title>
@ -346,54 +346,54 @@ for the JavaScript code in this tag.
<h2>Table of Contents</h2> <h2>Table of Contents</h2>
<div id="text-table-of-contents"> <div id="text-table-of-contents">
<ul> <ul>
<li><a href="#org2d7d07f">1. Squared distance</a> <li><a href="#org63116cf">1. Squared distance</a>
<ul> <ul>
<li><a href="#org20b2347">1.1. <code>qmckl_distance_sq</code></a> <li><a href="#org7cd29c9">1.1. <code>qmckl_distance_sq</code></a>
<ul> <ul>
<li><a href="#org935d7f8">1.1.1. Performance</a></li> <li><a href="#org665d1a6">1.1.1. Performance</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
</li> </li>
<li><a href="#orgf78c5a9">2. Distance</a> <li><a href="#orge198765">2. Distance</a>
<ul> <ul>
<li><a href="#org85d9d98">2.1. <code>qmckl_distance</code></a> <li><a href="#orgf7cd38f">2.1. <code>qmckl_distance</code></a>
<ul> <ul>
<li><a href="#orga82c820">2.1.1. Requirements</a></li> <li><a href="#org8f5928d">2.1.1. Requirements</a></li>
<li><a href="#org4d4ded6">2.1.2. C header</a></li> <li><a href="#org4257224">2.1.2. C header</a></li>
<li><a href="#orgb227f6a">2.1.3. Source</a></li> <li><a href="#org112d4ab">2.1.3. Source</a></li>
<li><a href="#org2f69cc1">2.1.4. Performance</a></li> <li><a href="#orgea57727">2.1.4. Performance</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
</li> </li>
<li><a href="#org544f280">3. Rescaled Distance</a> <li><a href="#orge94a1bf">3. Rescaled Distance</a>
<ul> <ul>
<li><a href="#org0db8fc6">3.1. <code>qmckl_distance_rescaled</code></a> <li><a href="#orgb4d5524">3.1. <code>qmckl_distance_rescaled</code></a>
<ul> <ul>
<li><a href="#orgb597d0c">3.1.1. Requirements</a></li> <li><a href="#orgc7b194e">3.1.1. Requirements</a></li>
<li><a href="#org7b12be7">3.1.2. C header</a></li> <li><a href="#org9ffab2c">3.1.2. C header</a></li>
<li><a href="#org88439c4">3.1.3. Source</a></li> <li><a href="#org68f39e3">3.1.3. Source</a></li>
<li><a href="#org8ed31dc">3.1.4. Performance</a></li> <li><a href="#orgb5ace11">3.1.4. Performance</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
</li> </li>
<li><a href="#org7e9b531">4. Rescaled Distance Derivatives</a> <li><a href="#org90411a8">4. Rescaled Distance Derivatives</a>
<ul> <ul>
<li><a href="#orgf4d2d5d">4.1. <code>qmckl_distance_rescaled_gl</code></a></li> <li><a href="#org02fbb80">4.1. <code>qmckl_distance_rescaled_gl</code></a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
</div> </div>
</div> </div>
<div id="outline-container-org2d7d07f" class="outline-2"> <div id="outline-container-org63116cf" class="outline-2">
<h2 id="org2d7d07f"><span class="section-number-2">1</span> Squared distance</h2> <h2 id="org63116cf"><span class="section-number-2">1</span> Squared distance</h2>
<div class="outline-text-2" id="text-1"> <div class="outline-text-2" id="text-1">
</div> </div>
<div id="outline-container-org20b2347" class="outline-3"> <div id="outline-container-org7cd29c9" class="outline-3">
<h3 id="org20b2347"><span class="section-number-3">1.1</span> <code>qmckl_distance_sq</code></h3> <h3 id="org7cd29c9"><span class="section-number-3">1.1</span> <code>qmckl_distance_sq</code></h3>
<div class="outline-text-3" id="text-1-1"> <div class="outline-text-3" id="text-1-1">
<p> <p>
<code>qmckl_distance_sq</code> computes the matrix of the squared distances <code>qmckl_distance_sq</code> computes the matrix of the squared distances
@ -406,7 +406,7 @@ between all pairs of points in two sets, one point within each set:
\] \]
</p> </p>
<table id="org94dba9f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> <table id="org7969f20" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup> <colgroup>
@ -678,8 +678,8 @@ Requirements:
</div> </div>
</div> </div>
<div id="outline-container-org935d7f8" class="outline-4"> <div id="outline-container-org665d1a6" class="outline-4">
<h4 id="org935d7f8"><span class="section-number-4">1.1.1</span> Performance</h4> <h4 id="org665d1a6"><span class="section-number-4">1.1.1</span> Performance</h4>
<div class="outline-text-4" id="text-1-1-1"> <div class="outline-text-4" id="text-1-1-1">
<p> <p>
This function is more efficient when <code>A</code> and <code>B</code> are This function is more efficient when <code>A</code> and <code>B</code> are
@ -689,12 +689,12 @@ transposed.
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-orgf78c5a9" class="outline-2"> <div id="outline-container-orge198765" class="outline-2">
<h2 id="orgf78c5a9"><span class="section-number-2">2</span> Distance</h2> <h2 id="orge198765"><span class="section-number-2">2</span> Distance</h2>
<div class="outline-text-2" id="text-2"> <div class="outline-text-2" id="text-2">
</div> </div>
<div id="outline-container-org85d9d98" class="outline-3"> <div id="outline-container-orgf7cd38f" class="outline-3">
<h3 id="org85d9d98"><span class="section-number-3">2.1</span> <code>qmckl_distance</code></h3> <h3 id="orgf7cd38f"><span class="section-number-3">2.1</span> <code>qmckl_distance</code></h3>
<div class="outline-text-3" id="text-2-1"> <div class="outline-text-3" id="text-2-1">
<p> <p>
<code>qmckl_distance</code> computes the matrix of the distances between all <code>qmckl_distance</code> computes the matrix of the distances between all
@ -712,7 +712,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. the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortran.
</p> </p>
<table id="org2b3993d" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> <table id="orgade896d" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup> <colgroup>
@ -813,8 +813,8 @@ the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortra
</table> </table>
</div> </div>
<div id="outline-container-orga82c820" class="outline-4"> <div id="outline-container-org8f5928d" class="outline-4">
<h4 id="orga82c820"><span class="section-number-4">2.1.1</span> Requirements</h4> <h4 id="org8f5928d"><span class="section-number-4">2.1.1</span> Requirements</h4>
<div class="outline-text-4" id="text-2-1-1"> <div class="outline-text-4" id="text-2-1-1">
<ul class="org-ul"> <ul class="org-ul">
<li><code>context</code> is not <code>QMCKL_NULL_CONTEXT</code></li> <li><code>context</code> is not <code>QMCKL_NULL_CONTEXT</code></li>
@ -832,8 +832,8 @@ the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortra
</div> </div>
</div> </div>
<div id="outline-container-org4d4ded6" class="outline-4"> <div id="outline-container-org4257224" class="outline-4">
<h4 id="org4d4ded6"><span class="section-number-4">2.1.2</span> C header</h4> <h4 id="org4257224"><span class="section-number-4">2.1.2</span> C header</h4>
<div class="outline-text-4" id="text-2-1-2"> <div class="outline-text-4" id="text-2-1-2">
<div class="org-src-container"> <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> ( <pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_distance</span> (
@ -853,8 +853,8 @@ the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortra
</div> </div>
</div> </div>
<div id="outline-container-orgb227f6a" class="outline-4"> <div id="outline-container-org112d4ab" class="outline-4">
<h4 id="orgb227f6a"><span class="section-number-4">2.1.3</span> Source</h4> <h4 id="org112d4ab"><span class="section-number-4">2.1.3</span> Source</h4>
<div class="outline-text-4" id="text-2-1-3"> <div class="outline-text-4" id="text-2-1-3">
<div class="org-src-container"> <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;">&amp;</span> <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;">&amp;</span>
@ -1004,8 +1004,8 @@ the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortra
</div> </div>
</div> </div>
<div id="outline-container-org2f69cc1" class="outline-4"> <div id="outline-container-orgea57727" class="outline-4">
<h4 id="org2f69cc1"><span class="section-number-4">2.1.4</span> Performance</h4> <h4 id="orgea57727"><span class="section-number-4">2.1.4</span> Performance</h4>
<div class="outline-text-4" id="text-2-1-4"> <div class="outline-text-4" id="text-2-1-4">
<p> <p>
This function is more efficient when <code>A</code> and <code>B</code> are transposed. This function is more efficient when <code>A</code> and <code>B</code> are transposed.
@ -1015,12 +1015,12 @@ This function is more efficient when <code>A</code> and <code>B</code> are trans
</div> </div>
</div> </div>
<div id="outline-container-org544f280" class="outline-2"> <div id="outline-container-orge94a1bf" class="outline-2">
<h2 id="org544f280"><span class="section-number-2">3</span> Rescaled Distance</h2> <h2 id="orge94a1bf"><span class="section-number-2">3</span> Rescaled Distance</h2>
<div class="outline-text-2" id="text-3"> <div class="outline-text-2" id="text-3">
</div> </div>
<div id="outline-container-org0db8fc6" class="outline-3"> <div id="outline-container-orgb4d5524" class="outline-3">
<h3 id="org0db8fc6"><span class="section-number-3">3.1</span> <code>qmckl_distance_rescaled</code></h3> <h3 id="orgb4d5524"><span class="section-number-3">3.1</span> <code>qmckl_distance_rescaled</code></h3>
<div class="outline-text-3" id="text-3-1"> <div class="outline-text-3" id="text-3-1">
<p> <p>
<code>qmckl_distance_rescaled</code> computes the matrix of the rescaled distances between all <code>qmckl_distance_rescaled</code> computes the matrix of the rescaled distances between all
@ -1038,7 +1038,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. the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortran.
</p> </p>
<table id="orga9c8e46" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> <table id="org16b614a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup> <colgroup>
@ -1146,8 +1146,8 @@ the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortra
</table> </table>
</div> </div>
<div id="outline-container-orgb597d0c" class="outline-4"> <div id="outline-container-orgc7b194e" class="outline-4">
<h4 id="orgb597d0c"><span class="section-number-4">3.1.1</span> Requirements</h4> <h4 id="orgc7b194e"><span class="section-number-4">3.1.1</span> Requirements</h4>
<div class="outline-text-4" id="text-3-1-1"> <div class="outline-text-4" id="text-3-1-1">
<ul class="org-ul"> <ul class="org-ul">
<li><code>context</code> is not <code>QMCKL_NULL_CONTEXT</code></li> <li><code>context</code> is not <code>QMCKL_NULL_CONTEXT</code></li>
@ -1165,8 +1165,8 @@ the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortra
</div> </div>
</div> </div>
<div id="outline-container-org7b12be7" class="outline-4"> <div id="outline-container-org9ffab2c" class="outline-4">
<h4 id="org7b12be7"><span class="section-number-4">3.1.2</span> C header</h4> <h4 id="org9ffab2c"><span class="section-number-4">3.1.2</span> C header</h4>
<div class="outline-text-4" id="text-3-1-2"> <div class="outline-text-4" id="text-3-1-2">
<div class="org-src-container"> <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> ( <pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_distance_rescaled</span> (
@ -1187,8 +1187,8 @@ the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortra
</div> </div>
</div> </div>
<div id="outline-container-org88439c4" class="outline-4"> <div id="outline-container-org68f39e3" class="outline-4">
<h4 id="org88439c4"><span class="section-number-4">3.1.3</span> Source</h4> <h4 id="org68f39e3"><span class="section-number-4">3.1.3</span> Source</h4>
<div class="outline-text-4" id="text-3-1-3"> <div class="outline-text-4" id="text-3-1-3">
<div class="org-src-container"> <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;">&amp;</span> <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;">&amp;</span>
@ -1341,8 +1341,8 @@ the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortra
</div> </div>
</div> </div>
<div id="outline-container-org8ed31dc" class="outline-4"> <div id="outline-container-orgb5ace11" class="outline-4">
<h4 id="org8ed31dc"><span class="section-number-4">3.1.4</span> Performance</h4> <h4 id="orgb5ace11"><span class="section-number-4">3.1.4</span> Performance</h4>
<div class="outline-text-4" id="text-3-1-4"> <div class="outline-text-4" id="text-3-1-4">
<p> <p>
This function is more efficient when <code>A</code> and <code>B</code> are transposed. This function is more efficient when <code>A</code> and <code>B</code> are transposed.
@ -1351,12 +1351,12 @@ This function is more efficient when <code>A</code> and <code>B</code> are trans
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-org7e9b531" class="outline-2"> <div id="outline-container-org90411a8" class="outline-2">
<h2 id="org7e9b531"><span class="section-number-2">4</span> Rescaled Distance Derivatives</h2> <h2 id="org90411a8"><span class="section-number-2">4</span> Rescaled Distance Derivatives</h2>
<div class="outline-text-2" id="text-4"> <div class="outline-text-2" id="text-4">
</div> </div>
<div id="outline-container-orgf4d2d5d" class="outline-3"> <div id="outline-container-org02fbb80" class="outline-3">
<h3 id="orgf4d2d5d"><span class="section-number-3">4.1</span> <code>qmckl_distance_rescaled_gl</code></h3> <h3 id="org02fbb80"><span class="section-number-3">4.1</span> <code>qmckl_distance_rescaled_gl</code></h3>
<div class="outline-text-3" id="text-4-1"> <div class="outline-text-3" id="text-4-1">
<p> <p>
<code>qmckl_distance_rescaled_gl</code> computes the matrix of the gradient and Laplacian of the <code>qmckl_distance_rescaled_gl</code> computes the matrix of the gradient and Laplacian of the
@ -1411,7 +1411,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. the leading dimension: <code>[n][3]</code> in C and <code>(3,n)</code> in Fortran.
</p> </p>
<table id="org8da3cb8" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> <table id="org5556bd4" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup> <colgroup>
@ -1731,7 +1731,7 @@ This function is more efficient when <code>A</code> and <code>B</code> are trans
</div> </div>
<div id="postamble" class="status"> <div id="postamble" class="status">
<p class="author">Author: TREX CoE</p> <p class="author">Author: TREX CoE</p>
<p class="date">Created: 2024-03-29 Fri 08:29</p> <p class="date">Created: 2024-04-10 Wed 14:39</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p> <p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div> </div>
</body> </body>

View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head> <head>
<!-- 2024-03-29 Fri 08:29 --> <!-- 2024-04-10 Wed 14:39 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Electrons</title> <title>Electrons</title>
@ -346,59 +346,59 @@ for the JavaScript code in this tag.
<h2>Table of Contents</h2> <h2>Table of Contents</h2>
<div id="text-table-of-contents"> <div id="text-table-of-contents">
<ul> <ul>
<li><a href="#org9f8cfb1">1. Context</a> <li><a href="#org455805c">1. Context</a>
<ul> <ul>
<li><a href="#orge6c9e2e">1.1. Data structure</a></li> <li><a href="#org2829280">1.1. Data structure</a></li>
<li><a href="#org1ec05f6">1.2. Initialization functions</a></li> <li><a href="#orgc8ad424">1.2. Initialization functions</a></li>
<li><a href="#org16970bc">1.3. Access functions</a> <li><a href="#org451f09a">1.3. Access functions</a>
<ul> <ul>
<li><a href="#org069effd">1.3.1. Number of electrons</a></li> <li><a href="#org1e7188b">1.3.1. Number of electrons</a></li>
<li><a href="#org8d5dc04">1.3.2. Number of walkers</a></li> <li><a href="#org59841ae">1.3.2. Number of walkers</a></li>
<li><a href="#org105bd70">1.3.3. Electron coordinates</a></li> <li><a href="#org9eb76ec">1.3.3. Electron coordinates</a></li>
</ul> </ul>
</li> </li>
<li><a href="#org29353ba">1.4. Test</a></li> <li><a href="#org05d5121">1.4. Test</a></li>
</ul> </ul>
</li> </li>
<li><a href="#org37cc037">2. Computation</a> <li><a href="#orgcab52a9">2. Computation</a>
<ul> <ul>
<li><a href="#org0894f33">2.1. Electron-electron distances</a> <li><a href="#org594c275">2.1. Electron-electron distances</a>
<ul> <ul>
<li><a href="#org3ad7af7">2.1.1. Get</a></li> <li><a href="#org4bf6f50">2.1.1. Get</a></li>
<li><a href="#orgec207f3">2.1.2. Compute</a></li> <li><a href="#org9dc9c4c">2.1.2. Compute</a></li>
<li><a href="#org21a4291">2.1.3. Test</a></li> <li><a href="#org006dfa8">2.1.3. Test</a></li>
</ul> </ul>
</li> </li>
<li><a href="#org375620e">2.2. Electron-electron potential</a> <li><a href="#org7329336">2.2. Electron-electron potential</a>
<ul> <ul>
<li><a href="#org6073234">2.2.1. Get</a></li> <li><a href="#org2410792">2.2.1. Get</a></li>
<li><a href="#orgc4b29a9">2.2.2. Compute</a></li> <li><a href="#orgbf81ea6">2.2.2. Compute</a></li>
<li><a href="#org7a4ea1e">2.2.3. Test</a></li> <li><a href="#org4696a1d">2.2.3. Test</a></li>
</ul> </ul>
</li> </li>
<li><a href="#org4637717">2.3. Electron-nucleus distances</a> <li><a href="#org4fa2370">2.3. Electron-nucleus distances</a>
<ul> <ul>
<li><a href="#org0f66865">2.3.1. Get</a></li> <li><a href="#orgae51282">2.3.1. Get</a></li>
<li><a href="#org32cc337">2.3.2. Compute</a></li> <li><a href="#orgc09e9c2">2.3.2. Compute</a></li>
<li><a href="#orgd9da385">2.3.3. Test</a></li> <li><a href="#org3995374">2.3.3. Test</a></li>
</ul> </ul>
</li> </li>
<li><a href="#orgd1b3ad7">2.4. Electron-nucleus potential</a> <li><a href="#org448e803">2.4. Electron-nucleus potential</a>
<ul> <ul>
<li><a href="#org0d76695">2.4.1. Get</a></li> <li><a href="#org4c791a0">2.4.1. Get</a></li>
<li><a href="#org81dbaa0">2.4.2. Compute</a></li> <li><a href="#org44a0bb9">2.4.2. Compute</a></li>
<li><a href="#orga25c9f7">2.4.3. Test</a></li> <li><a href="#org21bd699">2.4.3. Test</a></li>
</ul> </ul>
</li> </li>
<li><a href="#org76c171d">2.5. Generate initial coordinates</a></li> <li><a href="#orgcdb8c00">2.5. Generate initial coordinates</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
</div> </div>
</div> </div>
<div id="outline-container-org9f8cfb1" class="outline-2"> <div id="outline-container-org455805c" class="outline-2">
<h2 id="org9f8cfb1"><span class="section-number-2">1</span> Context</h2> <h2 id="org455805c"><span class="section-number-2">1</span> Context</h2>
<div class="outline-text-2" id="text-1"> <div class="outline-text-2" id="text-1">
<p> <p>
The following data stored in the context: The following data stored in the context:
@ -539,8 +539,8 @@ Computed data:
</table> </table>
</div> </div>
<div id="outline-container-orge6c9e2e" class="outline-3"> <div id="outline-container-org2829280" class="outline-3">
<h3 id="orge6c9e2e"><span class="section-number-3">1.1</span> Data structure</h3> <h3 id="org2829280"><span class="section-number-3">1.1</span> Data structure</h3>
<div class="outline-text-3" id="text-1-1"> <div class="outline-text-3" id="text-1-1">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-c"> <pre class="src src-c">
@ -609,8 +609,8 @@ this mechanism.
</div> </div>
</div> </div>
<div id="outline-container-org1ec05f6" class="outline-3"> <div id="outline-container-orgc8ad424" class="outline-3">
<h3 id="org1ec05f6"><span class="section-number-3">1.2</span> Initialization functions</h3> <h3 id="orgc8ad424"><span class="section-number-3">1.2</span> Initialization functions</h3>
<div class="outline-text-3" id="text-1-2"> <div class="outline-text-3" id="text-1-2">
<p> <p>
To set the data relative to the electrons in the context, the To set the data relative to the electrons in the context, the
@ -683,8 +683,8 @@ in the context.
</div> </div>
</div> </div>
<div id="outline-container-org16970bc" class="outline-3"> <div id="outline-container-org451f09a" class="outline-3">
<h3 id="org16970bc"><span class="section-number-3">1.3</span> Access functions</h3> <h3 id="org451f09a"><span class="section-number-3">1.3</span> Access functions</h3>
<div class="outline-text-3" id="text-1-3"> <div class="outline-text-3" id="text-1-3">
<p> <p>
Access functions return <code>QMCKL_SUCCESS</code> when the data has been Access functions return <code>QMCKL_SUCCESS</code> when the data has been
@ -696,12 +696,12 @@ contains the requested data. Otherwise, this variable is untouched.
</p> </p>
</div> </div>
<div id="outline-container-org069effd" class="outline-4"> <div id="outline-container-org1e7188b" class="outline-4">
<h4 id="org069effd"><span class="section-number-4">1.3.1</span> Number of electrons</h4> <h4 id="org1e7188b"><span class="section-number-4">1.3.1</span> Number of electrons</h4>
</div> </div>
<div id="outline-container-org8d5dc04" class="outline-4"> <div id="outline-container-org59841ae" class="outline-4">
<h4 id="org8d5dc04"><span class="section-number-4">1.3.2</span> Number of walkers</h4> <h4 id="org59841ae"><span class="section-number-4">1.3.2</span> Number of walkers</h4>
<div class="outline-text-4" id="text-1-3-2"> <div class="outline-text-4" id="text-1-3-2">
<p> <p>
A walker is a set of electron coordinates that are arguments of A walker is a set of electron coordinates that are arguments of
@ -710,8 +710,8 @@ the wave function. <code>walk_num</code> is the number of walkers.
</div> </div>
</div> </div>
<div id="outline-container-org105bd70" class="outline-4"> <div id="outline-container-org9eb76ec" class="outline-4">
<h4 id="org105bd70"><span class="section-number-4">1.3.3</span> Electron coordinates</h4> <h4 id="org9eb76ec"><span class="section-number-4">1.3.3</span> Electron coordinates</h4>
<div class="outline-text-4" id="text-1-3-3"> <div class="outline-text-4" id="text-1-3-3">
<p> <p>
Returns the current electron coordinates. The pointer is assumed Returns the current electron coordinates. The pointer is assumed
@ -776,8 +776,8 @@ current points.
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-org29353ba" class="outline-3"> <div id="outline-container-org05d5121" class="outline-3">
<h3 id="org29353ba"><span class="section-number-3">1.4</span> Test</h3> <h3 id="org05d5121"><span class="section-number-3">1.4</span> Test</h3>
<div class="outline-text-3" id="text-1-4"> <div class="outline-text-3" id="text-1-4">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-c">/* <span style="color: #b22222;">Reference input data</span> */ <pre class="src src-c">/* <span style="color: #b22222;">Reference input data</span> */
@ -856,8 +856,8 @@ rc = qmckl_get_electron_coord (context, <span style="color: #8b2252;">'N'</span>
</div> </div>
</div> </div>
<div id="outline-container-org37cc037" class="outline-2"> <div id="outline-container-orgcab52a9" class="outline-2">
<h2 id="org37cc037"><span class="section-number-2">2</span> Computation</h2> <h2 id="orgcab52a9"><span class="section-number-2">2</span> Computation</h2>
<div class="outline-text-2" id="text-2"> <div class="outline-text-2" id="text-2">
<p> <p>
The computed data is stored in the context so that it can be reused The computed data is stored in the context so that it can be reused
@ -870,12 +870,12 @@ current date is stored.
</p> </p>
</div> </div>
<div id="outline-container-org0894f33" class="outline-3"> <div id="outline-container-org594c275" class="outline-3">
<h3 id="org0894f33"><span class="section-number-3">2.1</span> Electron-electron distances</h3> <h3 id="org594c275"><span class="section-number-3">2.1</span> Electron-electron distances</h3>
<div class="outline-text-3" id="text-2-1"> <div class="outline-text-3" id="text-2-1">
</div> </div>
<div id="outline-container-org3ad7af7" class="outline-4"> <div id="outline-container-org4bf6f50" class="outline-4">
<h4 id="org3ad7af7"><span class="section-number-4">2.1.1</span> Get</h4> <h4 id="org4bf6f50"><span class="section-number-4">2.1.1</span> Get</h4>
<div class="outline-text-4" id="text-2-1-1"> <div class="outline-text-4" id="text-2-1-1">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_electron_ee_distance</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">distance</span>); <pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_get_electron_ee_distance</span>(<span style="color: #228b22;">qmckl_context</span> <span style="color: #a0522d;">context</span>, <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">const</span> <span style="color: #a0522d;">distance</span>);
@ -884,10 +884,10 @@ current date is stored.
</div> </div>
</div> </div>
<div id="outline-container-orgec207f3" class="outline-4"> <div id="outline-container-org9dc9c4c" class="outline-4">
<h4 id="orgec207f3"><span class="section-number-4">2.1.2</span> Compute</h4> <h4 id="org9dc9c4c"><span class="section-number-4">2.1.2</span> Compute</h4>
<div class="outline-text-4" id="text-2-1-2"> <div class="outline-text-4" id="text-2-1-2">
<table id="org5b95b49" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> <table id="org8ef9bda" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup> <colgroup>
@ -992,8 +992,8 @@ current date is stored.
</div> </div>
</div> </div>
<div id="outline-container-org21a4291" class="outline-4"> <div id="outline-container-org006dfa8" class="outline-4">
<h4 id="org21a4291"><span class="section-number-4">2.1.3</span> Test</h4> <h4 id="org006dfa8"><span class="section-number-4">2.1.3</span> Test</h4>
<div class="outline-text-4" id="text-2-1-3"> <div class="outline-text-4" id="text-2-1-3">
<div class="org-src-container"> <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>)); <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>));
@ -1027,8 +1027,8 @@ rc = qmckl_get_electron_ee_distance(context, ee_distance);
</div> </div>
</div> </div>
<div id="outline-container-org375620e" class="outline-3"> <div id="outline-container-org7329336" class="outline-3">
<h3 id="org375620e"><span class="section-number-3">2.2</span> Electron-electron potential</h3> <h3 id="org7329336"><span class="section-number-3">2.2</span> Electron-electron potential</h3>
<div class="outline-text-3" id="text-2-2"> <div class="outline-text-3" id="text-2-2">
<p> <p>
<code>ee_potential</code> is given by <code>ee_potential</code> is given by
@ -1046,8 +1046,8 @@ distance.
</p> </p>
</div> </div>
<div id="outline-container-org6073234" class="outline-4"> <div id="outline-container-org2410792" class="outline-4">
<h4 id="org6073234"><span class="section-number-4">2.2.1</span> Get</h4> <h4 id="org2410792"><span class="section-number-4">2.2.1</span> Get</h4>
<div class="outline-text-4" id="text-2-2-1"> <div class="outline-text-4" id="text-2-2-1">
<div class="org-src-container"> <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>); <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>);
@ -1056,10 +1056,10 @@ distance.
</div> </div>
</div> </div>
<div id="outline-container-orgc4b29a9" class="outline-4"> <div id="outline-container-orgbf81ea6" class="outline-4">
<h4 id="orgc4b29a9"><span class="section-number-4">2.2.2</span> Compute</h4> <h4 id="orgbf81ea6"><span class="section-number-4">2.2.2</span> Compute</h4>
<div class="outline-text-4" id="text-2-2-2"> <div class="outline-text-4" id="text-2-2-2">
<table id="org0b10609" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> <table id="org31536ca" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup> <colgroup>
@ -1175,8 +1175,8 @@ distance.
</div> </div>
</div> </div>
<div id="outline-container-org7a4ea1e" class="outline-4"> <div id="outline-container-org4696a1d" class="outline-4">
<h4 id="org7a4ea1e"><span class="section-number-4">2.2.3</span> Test</h4> <h4 id="org4696a1d"><span class="section-number-4">2.2.3</span> Test</h4>
<div class="outline-text-4" id="text-2-2-3"> <div class="outline-text-4" id="text-2-2-3">
<div class="org-src-container"> <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]; <pre class="src src-c"><span style="color: #228b22;">double</span> <span style="color: #a0522d;">ee_potential</span>[walk_num];
@ -1188,12 +1188,12 @@ rc = qmckl_get_electron_ee_potential(context, &amp;(ee_potential[0]));
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-org4637717" class="outline-3"> <div id="outline-container-org4fa2370" class="outline-3">
<h3 id="org4637717"><span class="section-number-3">2.3</span> Electron-nucleus distances</h3> <h3 id="org4fa2370"><span class="section-number-3">2.3</span> Electron-nucleus distances</h3>
<div class="outline-text-3" id="text-2-3"> <div class="outline-text-3" id="text-2-3">
</div> </div>
<div id="outline-container-org0f66865" class="outline-4"> <div id="outline-container-orgae51282" class="outline-4">
<h4 id="org0f66865"><span class="section-number-4">2.3.1</span> Get</h4> <h4 id="orgae51282"><span class="section-number-4">2.3.1</span> Get</h4>
<div class="outline-text-4" id="text-2-3-1"> <div class="outline-text-4" id="text-2-3-1">
<div class="org-src-container"> <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: #a0522d;">distance</span>);
@ -1202,10 +1202,10 @@ rc = qmckl_get_electron_ee_potential(context, &amp;(ee_potential[0]));
</div> </div>
</div> </div>
<div id="outline-container-org32cc337" class="outline-4"> <div id="outline-container-orgc09e9c2" class="outline-4">
<h4 id="org32cc337"><span class="section-number-4">2.3.2</span> Compute</h4> <h4 id="orgc09e9c2"><span class="section-number-4">2.3.2</span> Compute</h4>
<div class="outline-text-4" id="text-2-3-2"> <div class="outline-text-4" id="text-2-3-2">
<table id="org267ce0c" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> <table id="orge94d386" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup> <colgroup>
@ -1312,8 +1312,8 @@ rc = qmckl_get_electron_ee_potential(context, &amp;(ee_potential[0]));
</div> </div>
</div> </div>
<div id="outline-container-orgd9da385" class="outline-4"> <div id="outline-container-org3995374" class="outline-4">
<h4 id="orgd9da385"><span class="section-number-4">2.3.3</span> Test</h4> <h4 id="org3995374"><span class="section-number-4">2.3.3</span> Test</h4>
<div class="outline-text-4" id="text-2-3-3"> <div class="outline-text-4" id="text-2-3-3">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-c"> <pre class="src src-c">
@ -1361,8 +1361,8 @@ rc = qmckl_get_electron_en_distance(context, &amp;(en_distance[0][0][0]));
</div> </div>
</div> </div>
<div id="outline-container-orgd1b3ad7" class="outline-3"> <div id="outline-container-org448e803" class="outline-3">
<h3 id="orgd1b3ad7"><span class="section-number-3">2.4</span> Electron-nucleus potential</h3> <h3 id="org448e803"><span class="section-number-3">2.4</span> Electron-nucleus potential</h3>
<div class="outline-text-3" id="text-2-4"> <div class="outline-text-3" id="text-2-4">
<p> <p>
<code>en_potential</code> stores the <code>en</code> potential energy <code>en_potential</code> stores the <code>en</code> potential energy
@ -1380,8 +1380,8 @@ distance and \[Z_A\] is the nuclear charge.
</p> </p>
</div> </div>
<div id="outline-container-org0d76695" class="outline-4"> <div id="outline-container-org4c791a0" class="outline-4">
<h4 id="org0d76695"><span class="section-number-4">2.4.1</span> Get</h4> <h4 id="org4c791a0"><span class="section-number-4">2.4.1</span> Get</h4>
<div class="outline-text-4" id="text-2-4-1"> <div class="outline-text-4" id="text-2-4-1">
<div class="org-src-container"> <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>); <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>);
@ -1390,10 +1390,10 @@ distance and \[Z_A\] is the nuclear charge.
</div> </div>
</div> </div>
<div id="outline-container-org81dbaa0" class="outline-4"> <div id="outline-container-org44a0bb9" class="outline-4">
<h4 id="org81dbaa0"><span class="section-number-4">2.4.2</span> Compute</h4> <h4 id="org44a0bb9"><span class="section-number-4">2.4.2</span> Compute</h4>
<div class="outline-text-4" id="text-2-4-2"> <div class="outline-text-4" id="text-2-4-2">
<table id="org8726ad7" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> <table id="org4029243" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup> <colgroup>
@ -1527,8 +1527,8 @@ distance and \[Z_A\] is the nuclear charge.
</div> </div>
</div> </div>
<div id="outline-container-orga25c9f7" class="outline-4"> <div id="outline-container-org21bd699" class="outline-4">
<h4 id="orga25c9f7"><span class="section-number-4">2.4.3</span> Test</h4> <h4 id="org21bd699"><span class="section-number-4">2.4.3</span> Test</h4>
<div class="outline-text-4" id="text-2-4-3"> <div class="outline-text-4" id="text-2-4-3">
<div class="org-src-container"> <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]; <pre class="src src-c"><span style="color: #228b22;">double</span> <span style="color: #a0522d;">en_potential</span>[walk_num];
@ -1541,14 +1541,14 @@ rc = qmckl_get_electron_en_potential(context, &amp;(en_potential[0]));
</div> </div>
</div> </div>
<div id="outline-container-org76c171d" class="outline-3"> <div id="outline-container-orgcdb8c00" class="outline-3">
<h3 id="org76c171d"><span class="section-number-3">2.5</span> Generate initial coordinates</h3> <h3 id="orgcdb8c00"><span class="section-number-3">2.5</span> Generate initial coordinates</h3>
</div> </div>
</div> </div>
</div> </div>
<div id="postamble" class="status"> <div id="postamble" class="status">
<p class="author">Author: TREX CoE</p> <p class="author">Author: TREX CoE</p>
<p class="date">Created: 2024-03-29 Fri 08:29</p> <p class="date">Created: 2024-04-10 Wed 14:39</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p> <p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div> </div>
</body> </body>

View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head> <head>
<!-- 2024-03-29 Fri 08:29 --> <!-- 2024-04-10 Wed 14:39 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Error handling</title> <title>Error handling</title>
@ -324,29 +324,29 @@ for the JavaScript code in this tag.
<h2>Table of Contents</h2> <h2>Table of Contents</h2>
<div id="text-table-of-contents"> <div id="text-table-of-contents">
<ul> <ul>
<li><a href="#orgf83c839">-</a></li> <li><a href="#org3d3e5dd">-</a></li>
<li><a href="#orgcdf8fd0">1. Decoding errors</a></li> <li><a href="#orgebb3fde">1. Decoding errors</a></li>
<li><a href="#org3597000">2. Data structure in context</a></li> <li><a href="#orgf3a0b14">2. Data structure in context</a></li>
<li><a href="#orgadd0e83">3. Updating errors in the context</a></li> <li><a href="#org8dde24f">3. Updating errors in the context</a></li>
<li><a href="#org1dfc616">4. Get the error</a></li> <li><a href="#org974673d">4. Get the error</a></li>
<li><a href="#org86c8c7d">5. Failing</a></li> <li><a href="#org128b148">5. Failing</a></li>
<li><a href="#org9e9f757">6. Last error</a> <li><a href="#orgb5511c3">6. Last error</a>
<ul> <ul>
<li><a href="#org0190942">6.1. Fortran inteface</a></li> <li><a href="#orgac9f858">6.1. Fortran inteface</a></li>
</ul> </ul>
</li> </li>
<li><a href="#orgd90433d">7. Helper functions for debugging</a> <li><a href="#org4a6e91f">7. Helper functions for debugging</a>
<ul> <ul>
<li><a href="#org1a69c93">7.1. Fortran inteface</a></li> <li><a href="#org2e0b5c5">7.1. Fortran inteface</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
</div> </div>
</div> </div>
<div id="outline-container-orgf83c839" class="outline-2"> <div id="outline-container-org3d3e5dd" class="outline-2">
<h2 id="orgf83c839">-</h2> <h2 id="org3d3e5dd">-</h2>
<div class="outline-text-2" id="text-orgf83c839"> <div class="outline-text-2" id="text-org3d3e5dd">
<p> <p>
The library should never make the calling programs abort, nor The library should never make the calling programs abort, nor
perform any input/output operations. This decision has to be taken perform any input/output operations. This decision has to be taken
@ -357,7 +357,7 @@ by the developer of the code calling the library.
All the functions return with an exit code, defined as All the functions return with an exit code, defined as
</p> </p>
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-c" id="org2d4105a"><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="org6852101"><span style="color: #a020f0;">typedef</span> <span style="color: #228b22;">int32_t</span> <span style="color: #228b22;">qmckl_exit_code</span>;
</pre> </pre>
</div> </div>
@ -374,7 +374,7 @@ error code is returned to the program.
Here is the complete list of exit codes. Here is the complete list of exit codes.
</p> </p>
<table id="org0fa1cbe" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> <table id="orgb9cfccd" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup> <colgroup>
@ -582,8 +582,8 @@ string is assumed to be large enough to contain the error message
</div> </div>
</div> </div>
<div id="outline-container-orgcdf8fd0" class="outline-2"> <div id="outline-container-orgebb3fde" class="outline-2">
<h2 id="orgcdf8fd0"><span class="section-number-2">1</span> Decoding errors</h2> <h2 id="orgebb3fde"><span class="section-number-2">1</span> Decoding errors</h2>
<div class="outline-text-2" id="text-1"> <div class="outline-text-2" id="text-1">
<p> <p>
To decode the error messages, <code>qmckl_string_of_error</code> converts an To decode the error messages, <code>qmckl_string_of_error</code> converts an
@ -601,8 +601,8 @@ The text strings are extracted from the previous table.
</p> </p>
</div> </div>
</div> </div>
<div id="outline-container-org3597000" class="outline-2"> <div id="outline-container-orgf3a0b14" class="outline-2">
<h2 id="org3597000"><span class="section-number-2">2</span> Data structure in context</h2> <h2 id="orgf3a0b14"><span class="section-number-2">2</span> Data structure in context</h2>
<div class="outline-text-2" id="text-2"> <div class="outline-text-2" id="text-2">
<p> <p>
The strings are declared internally with a maximum fixed size to avoid The strings are declared internally with a maximum fixed size to avoid
@ -625,8 +625,8 @@ dynamic memory allocation.
</div> </div>
</div> </div>
<div id="outline-container-orgadd0e83" class="outline-2"> <div id="outline-container-org8dde24f" class="outline-2">
<h2 id="orgadd0e83"><span class="section-number-2">3</span> Updating errors in the context</h2> <h2 id="org8dde24f"><span class="section-number-2">3</span> Updating errors in the context</h2>
<div class="outline-text-2" id="text-3"> <div class="outline-text-2" id="text-3">
<p> <p>
The error is updated in the context using <code>qmckl_set_error</code>. The error is updated in the context using <code>qmckl_set_error</code>.
@ -645,8 +645,8 @@ explaining the error. The exit code can't be <code>QMCKL_SUCCESS</code>.
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-org1dfc616" class="outline-2"> <div id="outline-container-org974673d" class="outline-2">
<h2 id="org1dfc616"><span class="section-number-2">4</span> Get the error</h2> <h2 id="org974673d"><span class="section-number-2">4</span> Get the error</h2>
<div class="outline-text-2" id="text-4"> <div class="outline-text-2" id="text-4">
<p> <p>
Upon error, the error type and message can be obtained from the Upon error, the error type and message can be obtained from the
@ -665,8 +665,8 @@ function name and message is mandatory.
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-org86c8c7d" class="outline-2"> <div id="outline-container-org128b148" class="outline-2">
<h2 id="org86c8c7d"><span class="section-number-2">5</span> Failing</h2> <h2 id="org128b148"><span class="section-number-2">5</span> Failing</h2>
<div class="outline-text-2" id="text-5"> <div class="outline-text-2" id="text-5">
<p> <p>
To make a function fail, the <code>qmckl_failwith</code> function should be To make a function fail, the <code>qmckl_failwith</code> function should be
@ -703,8 +703,8 @@ For example, this function can be used as
</div> </div>
</div> </div>
<div id="outline-container-org9e9f757" class="outline-2"> <div id="outline-container-orgb5511c3" class="outline-2">
<h2 id="org9e9f757"><span class="section-number-2">6</span> Last error</h2> <h2 id="orgb5511c3"><span class="section-number-2">6</span> Last error</h2>
<div class="outline-text-2" id="text-6"> <div class="outline-text-2" id="text-6">
<p> <p>
Returns a string describing the last error, using <code>qmckl_get_error</code>. Returns a string describing the last error, using <code>qmckl_get_error</code>.
@ -716,13 +716,13 @@ Returns a string describing the last error, using <code>qmckl_get_error</code>.
</pre> </pre>
</div> </div>
</div> </div>
<div id="outline-container-org0190942" class="outline-3"> <div id="outline-container-orgac9f858" class="outline-3">
<h3 id="org0190942"><span class="section-number-3">6.1</span> Fortran inteface</h3> <h3 id="orgac9f858"><span class="section-number-3">6.1</span> Fortran inteface</h3>
</div> </div>
</div> </div>
<div id="outline-container-orgd90433d" class="outline-2"> <div id="outline-container-org4a6e91f" class="outline-2">
<h2 id="orgd90433d"><span class="section-number-2">7</span> Helper functions for debugging</h2> <h2 id="org4a6e91f"><span class="section-number-2">7</span> Helper functions for debugging</h2>
<div class="outline-text-2" id="text-7"> <div class="outline-text-2" id="text-7">
<p> <p>
The following function prints to <code>stderr</code> an error message is the return code is The following function prints to <code>stderr</code> an error message is the return code is
@ -748,14 +748,14 @@ It should be used as:
</div> </div>
</div> </div>
<div id="outline-container-org1a69c93" class="outline-3"> <div id="outline-container-org2e0b5c5" class="outline-3">
<h3 id="org1a69c93"><span class="section-number-3">7.1</span> Fortran inteface</h3> <h3 id="org2e0b5c5"><span class="section-number-3">7.1</span> Fortran inteface</h3>
</div> </div>
</div> </div>
</div> </div>
<div id="postamble" class="status"> <div id="postamble" class="status">
<p class="author">Author: TREX CoE</p> <p class="author">Author: TREX CoE</p>
<p class="date">Created: 2024-03-29 Fri 08:29</p> <p class="date">Created: 2024-04-10 Wed 14:39</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p> <p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div> </div>
</body> </body>

View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head> <head>
<!-- 2024-03-29 Fri 08:29 --> <!-- 2024-04-10 Wed 14:39 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Code examples</title> <title>Code examples</title>
@ -346,25 +346,25 @@ for the JavaScript code in this tag.
<h2>Table of Contents</h2> <h2>Table of Contents</h2>
<div id="text-table-of-contents"> <div id="text-table-of-contents">
<ul> <ul>
<li><a href="#orga656e04">1. Overlap matrix in the MO basis</a> <li><a href="#org64b179a">1. Overlap matrix in the MO basis</a>
<ul> <ul>
<li><a href="#orga988363">1.1. Python</a></li> <li><a href="#orga5e5629">1.1. Python</a></li>
<li><a href="#org41c663a">1.2. C</a></li> <li><a href="#org1579d05">1.2. C</a></li>
<li><a href="#orgefb2dd6">1.3. Fortran</a></li> <li><a href="#org5092e69">1.3. Fortran</a></li>
</ul> </ul>
</li> </li>
<li><a href="#org2fa9eed">2. Fortran</a> <li><a href="#org1686082">2. Fortran</a>
<ul> <ul>
<li><a href="#org3a3e8d4">2.1. Checking errors</a></li> <li><a href="#orgbbae3f0">2.1. Checking errors</a></li>
<li><a href="#org5287f00">2.2. Computing an atomic orbital on a grid</a></li> <li><a href="#org8bd1ae6">2.2. Computing an atomic orbital on a grid</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
</div> </div>
</div> </div>
<div id="outline-container-orga656e04" class="outline-2"> <div id="outline-container-org64b179a" class="outline-2">
<h2 id="orga656e04"><span class="section-number-2">1</span> Overlap matrix in the MO basis</h2> <h2 id="org64b179a"><span class="section-number-2">1</span> Overlap matrix in the MO basis</h2>
<div class="outline-text-2" id="text-1"> <div class="outline-text-2" id="text-1">
<p> <p>
The focal point of this example is the numerical evaluation of the overlap The focal point of this example is the numerical evaluation of the overlap
@ -417,8 +417,8 @@ code.
</p> </p>
</div> </div>
<div id="outline-container-orga988363" class="outline-3"> <div id="outline-container-orga5e5629" class="outline-3">
<h3 id="orga988363"><span class="section-number-3">1.1</span> Python</h3> <h3 id="orga5e5629"><span class="section-number-3">1.1</span> Python</h3>
<div class="outline-text-3" id="text-1-1"> <div class="outline-text-3" id="text-1-1">
<p> <p>
In this example, we will compute numerically the overlap In this example, we will compute numerically the overlap
@ -593,8 +593,8 @@ and finally we compute the overlap between all the MOs as
</div> </div>
</div> </div>
<div id="outline-container-org41c663a" class="outline-3"> <div id="outline-container-org1579d05" class="outline-3">
<h3 id="org41c663a"><span class="section-number-3">1.2</span> C</h3> <h3 id="org1579d05"><span class="section-number-3">1.2</span> C</h3>
<div class="outline-text-3" id="text-1-2"> <div class="outline-text-3" id="text-1-2">
<p> <p>
In this example, electron-nucleus cusp fitting is added. In this example, electron-nucleus cusp fitting is added.
@ -922,8 +922,8 @@ and finally we compute the overlap between all the MOs as
</div> </div>
<div id="outline-container-orgefb2dd6" class="outline-3"> <div id="outline-container-org5092e69" class="outline-3">
<h3 id="orgefb2dd6"><span class="section-number-3">1.3</span> Fortran</h3> <h3 id="org5092e69"><span class="section-number-3">1.3</span> Fortran</h3>
<div class="outline-text-3" id="text-1-3"> <div class="outline-text-3" id="text-1-3">
<p> <p>
Here is the same piece of code translated in Fortran Here is the same piece of code translated in Fortran
@ -1099,12 +1099,12 @@ Here is the same piece of code translated in Fortran
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-org2fa9eed" class="outline-2"> <div id="outline-container-org1686082" class="outline-2">
<h2 id="org2fa9eed"><span class="section-number-2">2</span> Fortran</h2> <h2 id="org1686082"><span class="section-number-2">2</span> Fortran</h2>
<div class="outline-text-2" id="text-2"> <div class="outline-text-2" id="text-2">
</div> </div>
<div id="outline-container-org3a3e8d4" class="outline-3"> <div id="outline-container-orgbbae3f0" class="outline-3">
<h3 id="org3a3e8d4"><span class="section-number-3">2.1</span> Checking errors</h3> <h3 id="orgbbae3f0"><span class="section-number-3">2.1</span> Checking errors</h3>
<div class="outline-text-3" id="text-2-1"> <div class="outline-text-3" id="text-2-1">
<p> <p>
All QMCkl functions return an error code. A convenient way to handle All QMCkl functions return an error code. A convenient way to handle
@ -1113,7 +1113,7 @@ error in text format and exits the program.
</p> </p>
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-f90" id="org080b462"><span style="color: #a020f0;">subroutine</span> <span style="color: #0000ff;">qmckl_check_error</span>(rc, message) <pre class="src src-f90" id="org905b95e"><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;">use</span> <span style="color: #0000ff;">qmckl</span>
<span style="color: #a020f0;">implicit</span> <span style="color: #228b22;">none</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> <span style="color: #228b22;">integer</span>(qmckl_exit_code), <span style="color: #a020f0;">intent</span>(in) ::<span style="color: #a0522d;"> rc</span>
@ -1131,8 +1131,8 @@ error in text format and exits the program.
</div> </div>
</div> </div>
<div id="outline-container-org5287f00" class="outline-3"> <div id="outline-container-org8bd1ae6" class="outline-3">
<h3 id="org5287f00"><span class="section-number-3">2.2</span> Computing an atomic orbital on a grid</h3> <h3 id="org8bd1ae6"><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"> <div class="outline-text-3" id="text-2-2">
<p> <p>
The following program, in Fortran, computes the values of an atomic The following program, in Fortran, computes the values of an atomic
@ -1351,7 +1351,7 @@ We finally print the value and Laplacian of the AO:
</div> </div>
<div id="postamble" class="status"> <div id="postamble" class="status">
<p class="author">Author: TREX CoE</p> <p class="author">Author: TREX CoE</p>
<p class="date">Created: 2024-03-29 Fri 08:29</p> <p class="date">Created: 2024-04-10 Wed 14:39</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p> <p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div> </div>
</body> </body>

File diff suppressed because it is too large Load Diff

View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head> <head>
<!-- 2024-03-29 Fri 08:29 --> <!-- 2024-04-10 Wed 14:39 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Local Energy</title> <title>Local Energy</title>
@ -346,44 +346,44 @@ for the JavaScript code in this tag.
<h2>Table of Contents</h2> <h2>Table of Contents</h2>
<div id="text-table-of-contents"> <div id="text-table-of-contents">
<ul> <ul>
<li><a href="#orgea757cc">1. Context</a> <li><a href="#org311d31a">1. Context</a>
<ul> <ul>
<li><a href="#org2c99b8c">1.1. Data structure</a></li> <li><a href="#orgf9cd484">1.1. Data structure</a></li>
<li><a href="#org6ae92fe">1.2. Access functions</a></li> <li><a href="#org0987d42">1.2. Access functions</a></li>
</ul> </ul>
</li> </li>
<li><a href="#org45f431a">2. Computation</a> <li><a href="#org9448265">2. Computation</a>
<ul> <ul>
<li><a href="#orgc7619ad">2.1. Kinetic energy</a> <li><a href="#org10f22de">2.1. Kinetic energy</a>
<ul> <ul>
<li><a href="#org68d6a20">2.1.1. Get</a></li> <li><a href="#orga8b1967">2.1.1. Get</a></li>
<li><a href="#org283b015">2.1.2. Provide</a></li> <li><a href="#orgd1cc581">2.1.2. Provide</a></li>
<li><a href="#orgd898399">2.1.3. Compute kinetic enregy</a></li> <li><a href="#orge8f12af">2.1.3. Compute kinetic enregy</a></li>
<li><a href="#org4686e90">2.1.4. Test</a></li> <li><a href="#orgfc70182">2.1.4. Test</a></li>
</ul> </ul>
</li> </li>
<li><a href="#org53a837f">2.2. Potential energy</a> <li><a href="#orgfbb5f28">2.2. Potential energy</a>
<ul> <ul>
<li><a href="#orgec01459">2.2.1. Get</a></li> <li><a href="#org95664e5">2.2.1. Get</a></li>
<li><a href="#org8ec6069">2.2.2. Provide</a></li> <li><a href="#org9ea1b21">2.2.2. Provide</a></li>
<li><a href="#org478fa55">2.2.3. Compute potential enregy</a></li> <li><a href="#orgffc5b6d">2.2.3. Compute potential enregy</a></li>
<li><a href="#org267d0d9">2.2.4. Test</a></li> <li><a href="#org4a8017c">2.2.4. Test</a></li>
</ul> </ul>
</li> </li>
<li><a href="#org03fbb70">2.3. Local energy</a> <li><a href="#orgb3f2057">2.3. Local energy</a>
<ul> <ul>
<li><a href="#org9a67a36">2.3.1. Get</a></li> <li><a href="#org6d815e5">2.3.1. Get</a></li>
<li><a href="#org0834112">2.3.2. Provide</a></li> <li><a href="#org3c77e59">2.3.2. Provide</a></li>
<li><a href="#org3db9ac4">2.3.3. Compute local enregy</a></li> <li><a href="#org76601b5">2.3.3. Compute local enregy</a></li>
<li><a href="#org9cf2f1f">2.3.4. Test</a></li> <li><a href="#orge4bf0d0">2.3.4. Test</a></li>
</ul> </ul>
</li> </li>
<li><a href="#org76584e3">2.4. Drift vector</a> <li><a href="#orga7b9b06">2.4. Drift vector</a>
<ul> <ul>
<li><a href="#orga7b0a74">2.4.1. Get</a></li> <li><a href="#org6249857">2.4.1. Get</a></li>
<li><a href="#org31b90fa">2.4.2. Provide</a></li> <li><a href="#orgb4860d0">2.4.2. Provide</a></li>
<li><a href="#orgc4271dd">2.4.3. Compute drift vector</a></li> <li><a href="#orga556da2">2.4.3. Compute drift vector</a></li>
<li><a href="#org80782c2">2.4.4. Test</a></li> <li><a href="#org2b229ab">2.4.4. Test</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@ -392,8 +392,8 @@ for the JavaScript code in this tag.
</div> </div>
</div> </div>
<div id="outline-container-orgea757cc" class="outline-2"> <div id="outline-container-org311d31a" class="outline-2">
<h2 id="orgea757cc"><span class="section-number-2">1</span> Context</h2> <h2 id="org311d31a"><span class="section-number-2">1</span> Context</h2>
<div class="outline-text-2" id="text-1"> <div class="outline-text-2" id="text-1">
<p> <p>
The following arrays are stored in the context: The following arrays are stored in the context:
@ -466,8 +466,8 @@ Computed data:
</table> </table>
</div> </div>
<div id="outline-container-org2c99b8c" class="outline-3"> <div id="outline-container-orgf9cd484" class="outline-3">
<h3 id="org2c99b8c"><span class="section-number-3">1.1</span> Data structure</h3> <h3 id="orgf9cd484"><span class="section-number-3">1.1</span> Data structure</h3>
<div class="outline-text-3" id="text-1-1"> <div class="outline-text-3" id="text-1-1">
<div class="org-src-container"> <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> { <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> {
@ -501,8 +501,8 @@ this mechanism.
</div> </div>
</div> </div>
<div id="outline-container-org6ae92fe" class="outline-3"> <div id="outline-container-org0987d42" class="outline-3">
<h3 id="org6ae92fe"><span class="section-number-3">1.2</span> Access functions</h3> <h3 id="org0987d42"><span class="section-number-3">1.2</span> Access functions</h3>
<div class="outline-text-3" id="text-1-2"> <div class="outline-text-3" id="text-1-2">
<p> <p>
When all the data for the local energy have been provided, the following When all the data for the local energy have been provided, the following
@ -517,12 +517,12 @@ function returns <code>true</code>.
</div> </div>
</div> </div>
<div id="outline-container-org45f431a" class="outline-2"> <div id="outline-container-org9448265" class="outline-2">
<h2 id="org45f431a"><span class="section-number-2">2</span> Computation</h2> <h2 id="org9448265"><span class="section-number-2">2</span> Computation</h2>
<div class="outline-text-2" id="text-2"> <div class="outline-text-2" id="text-2">
</div> </div>
<div id="outline-container-orgc7619ad" class="outline-3"> <div id="outline-container-org10f22de" class="outline-3">
<h3 id="orgc7619ad"><span class="section-number-3">2.1</span> Kinetic energy</h3> <h3 id="org10f22de"><span class="section-number-3">2.1</span> Kinetic energy</h3>
<div class="outline-text-3" id="text-2-1"> <div class="outline-text-3" id="text-2-1">
<p> <p>
Where the kinetic energy is given as: Where the kinetic energy is given as:
@ -546,8 +546,8 @@ case is given as follows:
</p> </p>
</div> </div>
<div id="outline-container-org68d6a20" class="outline-4"> <div id="outline-container-orga8b1967" class="outline-4">
<h4 id="org68d6a20"><span class="section-number-4">2.1.1</span> Get</h4> <h4 id="orga8b1967"><span class="section-number-4">2.1.1</span> Get</h4>
<div class="outline-text-4" id="text-2-1-1"> <div class="outline-text-4" id="text-2-1-1">
<div class="org-src-container"> <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>); <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>);
@ -556,14 +556,14 @@ case is given as follows:
</div> </div>
</div> </div>
<div id="outline-container-org283b015" class="outline-4"> <div id="outline-container-orgd1cc581" class="outline-4">
<h4 id="org283b015"><span class="section-number-4">2.1.2</span> Provide</h4> <h4 id="orgd1cc581"><span class="section-number-4">2.1.2</span> Provide</h4>
</div> </div>
<div id="outline-container-orgd898399" class="outline-4"> <div id="outline-container-orge8f12af" class="outline-4">
<h4 id="orgd898399"><span class="section-number-4">2.1.3</span> Compute kinetic enregy</h4> <h4 id="orge8f12af"><span class="section-number-4">2.1.3</span> Compute kinetic enregy</h4>
<div class="outline-text-4" id="text-2-1-3"> <div class="outline-text-4" id="text-2-1-3">
<table id="org7e2f6b2" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> <table id="org286fb05" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup> <colgroup>
@ -792,12 +792,12 @@ case is given as follows:
</div> </div>
</div> </div>
<div id="outline-container-org4686e90" class="outline-4"> <div id="outline-container-orgfc70182" class="outline-4">
<h4 id="org4686e90"><span class="section-number-4">2.1.4</span> Test</h4> <h4 id="orgfc70182"><span class="section-number-4">2.1.4</span> Test</h4>
</div> </div>
</div> </div>
<div id="outline-container-org53a837f" class="outline-3"> <div id="outline-container-orgfbb5f28" class="outline-3">
<h3 id="org53a837f"><span class="section-number-3">2.2</span> Potential energy</h3> <h3 id="orgfbb5f28"><span class="section-number-3">2.2</span> Potential energy</h3>
<div class="outline-text-3" id="text-2-2"> <div class="outline-text-3" id="text-2-2">
<p> <p>
The potential energy is the sum of all the following terms The potential energy is the sum of all the following terms
@ -833,8 +833,8 @@ contributions.
</p> </p>
</div> </div>
<div id="outline-container-orgec01459" class="outline-4"> <div id="outline-container-org95664e5" class="outline-4">
<h4 id="orgec01459"><span class="section-number-4">2.2.1</span> Get</h4> <h4 id="org95664e5"><span class="section-number-4">2.2.1</span> Get</h4>
<div class="outline-text-4" id="text-2-2-1"> <div class="outline-text-4" id="text-2-2-1">
<div class="org-src-container"> <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>); <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>);
@ -843,14 +843,14 @@ contributions.
</div> </div>
</div> </div>
<div id="outline-container-org8ec6069" class="outline-4"> <div id="outline-container-org9ea1b21" class="outline-4">
<h4 id="org8ec6069"><span class="section-number-4">2.2.2</span> Provide</h4> <h4 id="org9ea1b21"><span class="section-number-4">2.2.2</span> Provide</h4>
</div> </div>
<div id="outline-container-org478fa55" class="outline-4"> <div id="outline-container-orgffc5b6d" class="outline-4">
<h4 id="org478fa55"><span class="section-number-4">2.2.3</span> Compute potential enregy</h4> <h4 id="orgffc5b6d"><span class="section-number-4">2.2.3</span> Compute potential enregy</h4>
<div class="outline-text-4" id="text-2-2-3"> <div class="outline-text-4" id="text-2-2-3">
<table id="orgbaefefd" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> <table id="orgdd97ba8" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup> <colgroup>
@ -977,12 +977,12 @@ contributions.
</div> </div>
</div> </div>
<div id="outline-container-org267d0d9" class="outline-4"> <div id="outline-container-org4a8017c" class="outline-4">
<h4 id="org267d0d9"><span class="section-number-4">2.2.4</span> Test</h4> <h4 id="org4a8017c"><span class="section-number-4">2.2.4</span> Test</h4>
</div> </div>
</div> </div>
<div id="outline-container-org03fbb70" class="outline-3"> <div id="outline-container-orgb3f2057" class="outline-3">
<h3 id="org03fbb70"><span class="section-number-3">2.3</span> Local energy</h3> <h3 id="orgb3f2057"><span class="section-number-3">2.3</span> Local energy</h3>
<div class="outline-text-3" id="text-2-3"> <div class="outline-text-3" id="text-2-3">
<p> <p>
The local energy is the sum of kinetic and potential energies. The local energy is the sum of kinetic and potential energies.
@ -996,8 +996,8 @@ E_L = KE + PE
</div> </div>
<div id="outline-container-org9a67a36" class="outline-4"> <div id="outline-container-org6d815e5" class="outline-4">
<h4 id="org9a67a36"><span class="section-number-4">2.3.1</span> Get</h4> <h4 id="org6d815e5"><span class="section-number-4">2.3.1</span> Get</h4>
<div class="outline-text-4" id="text-2-3-1"> <div class="outline-text-4" id="text-2-3-1">
<div class="org-src-container"> <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>); <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>);
@ -1006,14 +1006,14 @@ E_L = KE + PE
</div> </div>
</div> </div>
<div id="outline-container-org0834112" class="outline-4"> <div id="outline-container-org3c77e59" class="outline-4">
<h4 id="org0834112"><span class="section-number-4">2.3.2</span> Provide</h4> <h4 id="org3c77e59"><span class="section-number-4">2.3.2</span> Provide</h4>
</div> </div>
<div id="outline-container-org3db9ac4" class="outline-4"> <div id="outline-container-org76601b5" class="outline-4">
<h4 id="org3db9ac4"><span class="section-number-4">2.3.3</span> Compute local enregy</h4> <h4 id="org76601b5"><span class="section-number-4">2.3.3</span> Compute local enregy</h4>
<div class="outline-text-4" id="text-2-3-3"> <div class="outline-text-4" id="text-2-3-3">
<table id="org3cc28b3" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> <table id="org058007e" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup> <colgroup>
@ -1109,12 +1109,12 @@ E_L = KE + PE
</div> </div>
</div> </div>
<div id="outline-container-org9cf2f1f" class="outline-4"> <div id="outline-container-orge4bf0d0" class="outline-4">
<h4 id="org9cf2f1f"><span class="section-number-4">2.3.4</span> Test</h4> <h4 id="orge4bf0d0"><span class="section-number-4">2.3.4</span> Test</h4>
</div> </div>
</div> </div>
<div id="outline-container-org76584e3" class="outline-3"> <div id="outline-container-orga7b9b06" class="outline-3">
<h3 id="org76584e3"><span class="section-number-3">2.4</span> Drift vector</h3> <h3 id="orga7b9b06"><span class="section-number-3">2.4</span> Drift vector</h3>
<div class="outline-text-3" id="text-2-4"> <div class="outline-text-3" id="text-2-4">
<p> <p>
The drift vector is calculated as the ration of the gradient The drift vector is calculated as the ration of the gradient
@ -1128,8 +1128,8 @@ with the determinant of the wavefunction.
</p> </p>
</div> </div>
<div id="outline-container-orga7b0a74" class="outline-4"> <div id="outline-container-org6249857" class="outline-4">
<h4 id="orga7b0a74"><span class="section-number-4">2.4.1</span> Get</h4> <h4 id="org6249857"><span class="section-number-4">2.4.1</span> Get</h4>
<div class="outline-text-4" id="text-2-4-1"> <div class="outline-text-4" id="text-2-4-1">
<div class="org-src-container"> <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>); <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>);
@ -1138,14 +1138,14 @@ with the determinant of the wavefunction.
</div> </div>
</div> </div>
<div id="outline-container-org31b90fa" class="outline-4"> <div id="outline-container-orgb4860d0" class="outline-4">
<h4 id="org31b90fa"><span class="section-number-4">2.4.2</span> Provide</h4> <h4 id="orgb4860d0"><span class="section-number-4">2.4.2</span> Provide</h4>
</div> </div>
<div id="outline-container-orgc4271dd" class="outline-4"> <div id="outline-container-orga556da2" class="outline-4">
<h4 id="orgc4271dd"><span class="section-number-4">2.4.3</span> Compute drift vector</h4> <h4 id="orga556da2"><span class="section-number-4">2.4.3</span> Compute drift vector</h4>
<div class="outline-text-4" id="text-2-4-3"> <div class="outline-text-4" id="text-2-4-3">
<table id="orgf9f1381" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> <table id="org9aeb0b1" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup> <colgroup>
@ -1366,15 +1366,15 @@ with the determinant of the wavefunction.
</div> </div>
</div> </div>
<div id="outline-container-org80782c2" class="outline-4"> <div id="outline-container-org2b229ab" class="outline-4">
<h4 id="org80782c2"><span class="section-number-4">2.4.4</span> Test</h4> <h4 id="org2b229ab"><span class="section-number-4">2.4.4</span> Test</h4>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div id="postamble" class="status"> <div id="postamble" class="status">
<p class="author">Author: TREX CoE</p> <p class="author">Author: TREX CoE</p>
<p class="date">Created: 2024-03-29 Fri 08:29</p> <p class="date">Created: 2024-04-10 Wed 14:39</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p> <p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div> </div>
</body> </body>

View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head> <head>
<!-- 2024-03-29 Fri 08:29 --> <!-- 2024-04-10 Wed 14:38 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Memory management</title> <title>Memory management</title>
@ -324,16 +324,16 @@ for the JavaScript code in this tag.
<h2>Table of Contents</h2> <h2>Table of Contents</h2>
<div id="text-table-of-contents"> <div id="text-table-of-contents">
<ul> <ul>
<li><a href="#org40a32b5">1. Memory data structure for the context</a></li> <li><a href="#orgcf09fbe">1. Memory data structure for the context</a></li>
<li><a href="#org9368930">2. Passing info to allocation routines</a></li> <li><a href="#orge35a188">2. Passing info to allocation routines</a></li>
<li><a href="#org3389197">3. Allocation/deallocation functions</a></li> <li><a href="#org1a6865b">3. Allocation/deallocation functions</a></li>
<li><a href="#org9356d15">4. Get the size of a memory block</a></li> <li><a href="#orgcfdedfc">4. Get the size of a memory block</a></li>
</ul> </ul>
</div> </div>
</div> </div>
<div id="outline-container-org40a32b5" class="outline-2"> <div id="outline-container-orgcf09fbe" class="outline-2">
<h2 id="org40a32b5"><span class="section-number-2">1</span> Memory data structure for the context</h2> <h2 id="orgcf09fbe"><span class="section-number-2">1</span> Memory data structure for the context</h2>
<div class="outline-text-2" id="text-1"> <div class="outline-text-2" id="text-1">
<p> <p>
Every time a new block of memory is allocated, the information Every time a new block of memory is allocated, the information
@ -375,8 +375,8 @@ array, and the number of allocated blocks.
</div> </div>
</div> </div>
<div id="outline-container-org9368930" class="outline-2"> <div id="outline-container-orge35a188" class="outline-2">
<h2 id="org9368930"><span class="section-number-2">2</span> Passing info to allocation routines</h2> <h2 id="orge35a188"><span class="section-number-2">2</span> Passing info to allocation routines</h2>
<div class="outline-text-2" id="text-2"> <div class="outline-text-2" id="text-2">
<p> <p>
Passing information to the allocation routine should be done by Passing information to the allocation routine should be done by
@ -385,8 +385,8 @@ passing an instance of a <code>qmckl_memory_info_struct</code>.
</div> </div>
</div> </div>
<div id="outline-container-org3389197" class="outline-2"> <div id="outline-container-org1a6865b" class="outline-2">
<h2 id="org3389197"><span class="section-number-2">3</span> Allocation/deallocation functions</h2> <h2 id="org1a6865b"><span class="section-number-2">3</span> Allocation/deallocation functions</h2>
<div class="outline-text-2" id="text-3"> <div class="outline-text-2" id="text-3">
<p> <p>
Memory allocation inside the library should be done with Memory allocation inside the library should be done with
@ -645,8 +645,8 @@ successful deallocation of the memory block.</li>
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-org9356d15" class="outline-2"> <div id="outline-container-orgcfdedfc" class="outline-2">
<h2 id="org9356d15"><span class="section-number-2">4</span> Get the size of a memory block</h2> <h2 id="orgcfdedfc"><span class="section-number-2">4</span> Get the size of a memory block</h2>
<div class="outline-text-2" id="text-4"> <div class="outline-text-2" id="text-4">
<p> <p>
All the blocks allocated with <code>qmckl_malloc</code> keep track of how many All the blocks allocated with <code>qmckl_malloc</code> keep track of how many
@ -741,7 +741,7 @@ rc = qmckl_context_destroy(context);
</div> </div>
<div id="postamble" class="status"> <div id="postamble" class="status">
<p class="author">Author: TREX CoE</p> <p class="author">Author: TREX CoE</p>
<p class="date">Created: 2024-03-29 Fri 08:29</p> <p class="date">Created: 2024-04-10 Wed 14:38</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p> <p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div> </div>
</body> </body>

View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head> <head>
<!-- 2024-03-29 Fri 08:29 --> <!-- 2024-04-10 Wed 14:39 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Molecular Orbitals</title> <title>Molecular Orbitals</title>
@ -346,72 +346,72 @@ for the JavaScript code in this tag.
<h2>Table of Contents</h2> <h2>Table of Contents</h2>
<div id="text-table-of-contents"> <div id="text-table-of-contents">
<ul> <ul>
<li><a href="#org6816eec">1. Context</a> <li><a href="#orgcd102d9">1. Context</a>
<ul> <ul>
<li><a href="#org7745a42">1.1. Data structure</a></li> <li><a href="#org94ecdae">1.1. Data structure</a></li>
<li><a href="#orgb7d39ad">1.2. Initialization functions</a></li> <li><a href="#org443437c">1.2. Initialization functions</a></li>
<li><a href="#org3f3b495">1.3. Cusp adjsutment functions</a></li> <li><a href="#orgc0be4fb">1.3. Cusp adjsutment functions</a></li>
<li><a href="#orgbdf4b36">1.4. Access functions</a> <li><a href="#org7e96d36">1.4. Access functions</a>
<ul> <ul>
<li><a href="#orgf268b5d">1.4.1. Fortran interfaces</a></li> <li><a href="#orga4773f7">1.4.1. Fortran interfaces</a></li>
</ul> </ul>
</li> </li>
<li><a href="#orgbaf2c57">1.5. Update</a> <li><a href="#org6633471">1.5. Update</a>
<ul> <ul>
<li><a href="#orge361e1b">1.5.1. Fortran interface</a></li> <li><a href="#orga82ef6c">1.5.1. Fortran interface</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
</li> </li>
<li><a href="#orgd8d6aee">2. Computation</a> <li><a href="#org3545d5e">2. Computation</a>
<ul> <ul>
<li><a href="#org0d9bc21">2.1. Parameters of the cusp-correction functions</a></li> <li><a href="#orgcce8dd6">2.1. Parameters of the cusp-correction functions</a></li>
<li><a href="#org1bb0e2d">2.2. Computation of MOs: values only</a> <li><a href="#orgf246ced">2.2. Computation of MOs: values only</a>
<ul> <ul>
<li><a href="#org4b7d2b3">2.2.1. Get</a></li> <li><a href="#org3998c3d">2.2.1. Get</a></li>
<li><a href="#org8937f1b">2.2.2. Provide</a></li> <li><a href="#org5e2ed23">2.2.2. Provide</a></li>
<li><a href="#org7257447">2.2.3. Compute</a></li> <li><a href="#org08d70a7">2.2.3. Compute</a></li>
<li><a href="#org562e9ea">2.2.4. HPC version</a> <li><a href="#org24307b4">2.2.4. HPC version</a>
<ul> <ul>
<li><a href="#org2f7f387">2.2.4.1. Single-precision</a></li> <li><a href="#org8d41cbb">2.2.4.1. Single-precision</a></li>
<li><a href="#orgbcaa1fb">2.2.4.2. Double-precision</a></li> <li><a href="#org9965849">2.2.4.2. Double-precision</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
</li> </li>
<li><a href="#orgb5c42c5">2.3. Computation of MOs: values, gradient, Laplacian</a> <li><a href="#orgbabc72c">2.3. Computation of MOs: values, gradient, Laplacian</a>
<ul> <ul>
<li><a href="#orgb6cb111">2.3.1. Get</a></li> <li><a href="#org342402c">2.3.1. Get</a></li>
<li><a href="#org14c9fa0">2.3.2. Provide</a></li> <li><a href="#orgce0e80a">2.3.2. Provide</a></li>
<li><a href="#org5c2b703">2.3.3. Compute</a></li> <li><a href="#orge05abd9">2.3.3. Compute</a></li>
</ul> </ul>
</li> </li>
<li><a href="#org876d5e6">2.4. Computation of cusp-corrected MOs: values only</a> <li><a href="#org03bc773">2.4. Computation of cusp-corrected MOs: values only</a>
<ul> <ul>
<li><a href="#orge6098ac">2.4.1. Compute</a></li> <li><a href="#org093c98b">2.4.1. Compute</a></li>
<li><a href="#org120a142">2.4.2. HPC version</a></li> <li><a href="#org3d0c652">2.4.2. HPC version</a></li>
</ul> </ul>
</li> </li>
<li><a href="#org4683133">2.5. Computation of cusp-corrected MOs: values, gradient, Laplacian</a> <li><a href="#org72e0ed9">2.5. Computation of cusp-corrected MOs: values, gradient, Laplacian</a>
<ul> <ul>
<li><a href="#org72e7526">2.5.1. Compute</a></li> <li><a href="#org58e11ff">2.5.1. Compute</a></li>
<li><a href="#org94ce164">2.5.2. HPC version</a></li> <li><a href="#org1dbc8f0">2.5.2. HPC version</a></li>
</ul> </ul>
</li> </li>
<li><a href="#orgee4980f">2.6. Rescaling of MO coefficients</a> <li><a href="#org8fdfc08">2.6. Rescaling of MO coefficients</a>
<ul> <ul>
<li><a href="#orgedc91ca">2.6.1. Fortran interface</a></li> <li><a href="#org795517e">2.6.1. Fortran interface</a></li>
</ul> </ul>
</li> </li>
<li><a href="#org4815a8f">2.7. Test</a></li> <li><a href="#org9bb42cb">2.7. Test</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
</div> </div>
</div> </div>
<div id="outline-container-org6816eec" class="outline-2"> <div id="outline-container-orgcd102d9" class="outline-2">
<h2 id="org6816eec"><span class="section-number-2">1</span> Context</h2> <h2 id="orgcd102d9"><span class="section-number-2">1</span> Context</h2>
<div class="outline-text-2" id="text-1"> <div class="outline-text-2" id="text-1">
<p> <p>
The following arrays are stored in the context: The following arrays are stored in the context:
@ -490,8 +490,8 @@ Computed data:
</table> </table>
</div> </div>
<div id="outline-container-org7745a42" class="outline-3"> <div id="outline-container-org94ecdae" class="outline-3">
<h3 id="org7745a42"><span class="section-number-3">1.1</span> Data structure</h3> <h3 id="org94ecdae"><span class="section-number-3">1.1</span> Data structure</h3>
<div class="outline-text-3" id="text-1-1"> <div class="outline-text-3" id="text-1-1">
<div class="org-src-container"> <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> { <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> {
@ -548,8 +548,8 @@ this mechanism.
</div> </div>
</div> </div>
<div id="outline-container-orgb7d39ad" class="outline-3"> <div id="outline-container-org443437c" class="outline-3">
<h3 id="orgb7d39ad"><span class="section-number-3">1.2</span> Initialization functions</h3> <h3 id="org443437c"><span class="section-number-3">1.2</span> Initialization functions</h3>
<div class="outline-text-3" id="text-1-2"> <div class="outline-text-3" id="text-1-2">
<p> <p>
To set the basis set, all the following functions need to be To set the basis set, all the following functions need to be
@ -570,8 +570,8 @@ computed to accelerate the calculations.
</div> </div>
</div> </div>
<div id="outline-container-org3f3b495" class="outline-3"> <div id="outline-container-orgc0be4fb" class="outline-3">
<h3 id="org3f3b495"><span class="section-number-3">1.3</span> Cusp adjsutment functions</h3> <h3 id="orgc0be4fb"><span class="section-number-3">1.3</span> Cusp adjsutment functions</h3>
<div class="outline-text-3" id="text-1-3"> <div class="outline-text-3" id="text-1-3">
<p> <p>
To activate the cusp adjustment, the user must enter the radius of To activate the cusp adjustment, the user must enter the radius of
@ -586,8 +586,8 @@ of the non-\(s\) AOs at the center.
</div> </div>
</div> </div>
<div id="outline-container-orgbdf4b36" class="outline-3"> <div id="outline-container-org7e96d36" class="outline-3">
<h3 id="orgbdf4b36"><span class="section-number-3">1.4</span> Access functions</h3> <h3 id="org7e96d36"><span class="section-number-3">1.4</span> Access functions</h3>
<div class="outline-text-3" id="text-1-4"> <div class="outline-text-3" id="text-1-4">
<p> <p>
When all the data for the AOs have been provided, the following When all the data for the AOs have been provided, the following
@ -600,13 +600,13 @@ function returns <code>true</code>.
</div> </div>
</div> </div>
<div id="outline-container-orgf268b5d" class="outline-4"> <div id="outline-container-orga4773f7" class="outline-4">
<h4 id="orgf268b5d"><span class="section-number-4">1.4.1</span> Fortran interfaces</h4> <h4 id="orga4773f7"><span class="section-number-4">1.4.1</span> Fortran interfaces</h4>
</div> </div>
</div> </div>
<div id="outline-container-orgbaf2c57" class="outline-3"> <div id="outline-container-org6633471" class="outline-3">
<h3 id="orgbaf2c57"><span class="section-number-3">1.5</span> Update</h3> <h3 id="org6633471"><span class="section-number-3">1.5</span> Update</h3>
<div class="outline-text-3" id="text-1-5"> <div class="outline-text-3" id="text-1-5">
<p> <p>
It may be desirable to remove certain molecular orbitals (MOs) that It may be desirable to remove certain molecular orbitals (MOs) that
@ -633,25 +633,25 @@ calculation. If the integer is non-zero, the MO will be kept.
</div> </div>
</div> </div>
<div id="outline-container-orge361e1b" class="outline-4"> <div id="outline-container-orga82ef6c" class="outline-4">
<h4 id="orge361e1b"><span class="section-number-4">1.5.1</span> Fortran interface</h4> <h4 id="orga82ef6c"><span class="section-number-4">1.5.1</span> Fortran interface</h4>
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-orgd8d6aee" class="outline-2"> <div id="outline-container-org3545d5e" class="outline-2">
<h2 id="orgd8d6aee"><span class="section-number-2">2</span> Computation</h2> <h2 id="org3545d5e"><span class="section-number-2">2</span> Computation</h2>
<div class="outline-text-2" id="text-2"> <div class="outline-text-2" id="text-2">
</div> </div>
<div id="outline-container-org0d9bc21" class="outline-3"> <div id="outline-container-orgcce8dd6" class="outline-3">
<h3 id="org0d9bc21"><span class="section-number-3">2.1</span> Parameters of the cusp-correction functions</h3> <h3 id="orgcce8dd6"><span class="section-number-3">2.1</span> Parameters of the cusp-correction functions</h3>
</div> </div>
<div id="outline-container-org1bb0e2d" class="outline-3"> <div id="outline-container-orgf246ced" class="outline-3">
<h3 id="org1bb0e2d"><span class="section-number-3">2.2</span> Computation of MOs: values only</h3> <h3 id="orgf246ced"><span class="section-number-3">2.2</span> Computation of MOs: values only</h3>
<div class="outline-text-3" id="text-2-2"> <div class="outline-text-3" id="text-2-2">
</div> </div>
<div id="outline-container-org4b7d2b3" class="outline-4"> <div id="outline-container-org3998c3d" class="outline-4">
<h4 id="org4b7d2b3"><span class="section-number-4">2.2.1</span> Get</h4> <h4 id="org3998c3d"><span class="section-number-4">2.2.1</span> Get</h4>
<div class="outline-text-4" id="text-2-2-1"> <div class="outline-text-4" id="text-2-2-1">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span>
@ -675,8 +675,8 @@ Uses the given array to compute the values.
</div> </div>
</div> </div>
<div id="outline-container-org8937f1b" class="outline-4"> <div id="outline-container-org5e2ed23" class="outline-4">
<h4 id="org8937f1b"><span class="section-number-4">2.2.2</span> Provide</h4> <h4 id="org5e2ed23"><span class="section-number-4">2.2.2</span> Provide</h4>
<div class="outline-text-4" id="text-2-2-2"> <div class="outline-text-4" id="text-2-2-2">
<div class="org-src-container"> <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>); <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>);
@ -761,10 +761,10 @@ Uses the given array to compute the values.
</div> </div>
</div> </div>
<div id="outline-container-org7257447" class="outline-4"> <div id="outline-container-org08d70a7" class="outline-4">
<h4 id="org7257447"><span class="section-number-4">2.2.3</span> Compute</h4> <h4 id="org08d70a7"><span class="section-number-4">2.2.3</span> Compute</h4>
<div class="outline-text-4" id="text-2-2-3"> <div class="outline-text-4" id="text-2-2-3">
<table id="orgcc31a1d" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> <table id="org1b59726" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup> <colgroup>
@ -919,8 +919,8 @@ matrix multiplication instead of a dgemm, as exposed in
</div> </div>
</div> </div>
<div id="outline-container-org562e9ea" class="outline-4"> <div id="outline-container-org24307b4" class="outline-4">
<h4 id="org562e9ea"><span class="section-number-4">2.2.4</span> HPC version</h4> <h4 id="org24307b4"><span class="section-number-4">2.2.4</span> HPC version</h4>
<div class="outline-text-4" id="text-2-2-4"> <div class="outline-text-4" id="text-2-2-4">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-c"><span style="color: #483d8b;">#ifdef</span> HAVE_HPC <pre class="src src-c"><span style="color: #483d8b;">#ifdef</span> HAVE_HPC
@ -947,8 +947,8 @@ matrix multiplication instead of a dgemm, as exposed in
</div> </div>
<div id="outline-container-org2f7f387" class="outline-5"> <div id="outline-container-org8d41cbb" class="outline-5">
<h5 id="org2f7f387"><span class="section-number-5">2.2.4.1</span> Single-precision</h5> <h5 id="org8d41cbb"><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="outline-text-5" id="text-2-2-4-1">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-c"><span style="color: #483d8b;">#ifdef</span> HAVE_HPC <pre class="src src-c"><span style="color: #483d8b;">#ifdef</span> HAVE_HPC
@ -1069,8 +1069,8 @@ matrix multiplication instead of a dgemm, as exposed in
</div> </div>
</div> </div>
<div id="outline-container-orgbcaa1fb" class="outline-5"> <div id="outline-container-org9965849" class="outline-5">
<h5 id="orgbcaa1fb"><span class="section-number-5">2.2.4.2</span> Double-precision</h5> <h5 id="org9965849"><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="outline-text-5" id="text-2-2-4-2">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-c"><span style="color: #483d8b;">#ifdef</span> HAVE_HPC <pre class="src src-c"><span style="color: #483d8b;">#ifdef</span> HAVE_HPC
@ -1187,12 +1187,12 @@ matrix multiplication instead of a dgemm, as exposed in
</div> </div>
</div> </div>
<div id="outline-container-orgb5c42c5" class="outline-3"> <div id="outline-container-orgbabc72c" class="outline-3">
<h3 id="orgb5c42c5"><span class="section-number-3">2.3</span> Computation of MOs: values, gradient, Laplacian</h3> <h3 id="orgbabc72c"><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 class="outline-text-3" id="text-2-3">
</div> </div>
<div id="outline-container-orgb6cb111" class="outline-4"> <div id="outline-container-org342402c" class="outline-4">
<h4 id="orgb6cb111"><span class="section-number-4">2.3.1</span> Get</h4> <h4 id="org342402c"><span class="section-number-4">2.3.1</span> Get</h4>
<div class="outline-text-4" id="text-2-3-1"> <div class="outline-text-4" id="text-2-3-1">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span>
@ -1216,8 +1216,8 @@ Uses the given array to compute the VGL.
</div> </div>
</div> </div>
<div id="outline-container-org14c9fa0" class="outline-4"> <div id="outline-container-orgce0e80a" class="outline-4">
<h4 id="org14c9fa0"><span class="section-number-4">2.3.2</span> Provide</h4> <h4 id="orgce0e80a"><span class="section-number-4">2.3.2</span> Provide</h4>
<div class="outline-text-4" id="text-2-3-2"> <div class="outline-text-4" id="text-2-3-2">
<div class="org-src-container"> <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>); <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>);
@ -1301,10 +1301,10 @@ Uses the given array to compute the VGL.
</div> </div>
</div> </div>
<div id="outline-container-org5c2b703" class="outline-4"> <div id="outline-container-orge05abd9" class="outline-4">
<h4 id="org5c2b703"><span class="section-number-4">2.3.3</span> Compute</h4> <h4 id="orge05abd9"><span class="section-number-4">2.3.3</span> Compute</h4>
<div class="outline-text-4" id="text-2-3-3"> <div class="outline-text-4" id="text-2-3-3">
<table id="orgf518453" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> <table id="org7a4852f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup> <colgroup>
@ -1478,14 +1478,14 @@ matrix multiplication instead of a dgemm, as exposed in
</div> </div>
</div> </div>
<div id="outline-container-org876d5e6" class="outline-3"> <div id="outline-container-org03bc773" class="outline-3">
<h3 id="org876d5e6"><span class="section-number-3">2.4</span> Computation of cusp-corrected MOs: values only</h3> <h3 id="org03bc773"><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 class="outline-text-3" id="text-2-4">
</div> </div>
<div id="outline-container-orge6098ac" class="outline-4"> <div id="outline-container-org093c98b" class="outline-4">
<h4 id="orge6098ac"><span class="section-number-4">2.4.1</span> Compute</h4> <h4 id="org093c98b"><span class="section-number-4">2.4.1</span> Compute</h4>
<div class="outline-text-4" id="text-2-4-1"> <div class="outline-text-4" id="text-2-4-1">
<table id="orgf35f727" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> <table id="org16e4ffa" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup> <colgroup>
@ -1724,8 +1724,8 @@ matrix multiplication instead of a dgemm, as exposed in
</div> </div>
</div> </div>
<div id="outline-container-org120a142" class="outline-4"> <div id="outline-container-org3d0c652" class="outline-4">
<h4 id="org120a142"><span class="section-number-4">2.4.2</span> HPC version</h4> <h4 id="org3d0c652"><span class="section-number-4">2.4.2</span> HPC version</h4>
<div class="outline-text-4" id="text-2-4-2"> <div class="outline-text-4" id="text-2-4-2">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-c"><span style="color: #483d8b;">#ifdef</span> HAVE_HPC <pre class="src src-c"><span style="color: #483d8b;">#ifdef</span> HAVE_HPC
@ -1863,14 +1863,14 @@ IVDEP
</div> </div>
</div> </div>
<div id="outline-container-org4683133" class="outline-3"> <div id="outline-container-org72e0ed9" class="outline-3">
<h3 id="org4683133"><span class="section-number-3">2.5</span> Computation of cusp-corrected MOs: values, gradient, Laplacian</h3> <h3 id="org72e0ed9"><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 class="outline-text-3" id="text-2-5">
</div> </div>
<div id="outline-container-org72e7526" class="outline-4"> <div id="outline-container-org58e11ff" class="outline-4">
<h4 id="org72e7526"><span class="section-number-4">2.5.1</span> Compute</h4> <h4 id="org58e11ff"><span class="section-number-4">2.5.1</span> Compute</h4>
<div class="outline-text-4" id="text-2-5-1"> <div class="outline-text-4" id="text-2-5-1">
<table id="org9ba416f" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> <table id="orgecad202" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup> <colgroup>
@ -2166,8 +2166,8 @@ IVDEP
</div> </div>
</div> </div>
<div id="outline-container-org94ce164" class="outline-4"> <div id="outline-container-org1dbc8f0" class="outline-4">
<h4 id="org94ce164"><span class="section-number-4">2.5.2</span> HPC version</h4> <h4 id="org1dbc8f0"><span class="section-number-4">2.5.2</span> HPC version</h4>
<div class="outline-text-4" id="text-2-5-2"> <div class="outline-text-4" id="text-2-5-2">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-c"><span style="color: #483d8b;">#ifdef</span> HAVE_HPC <pre class="src src-c"><span style="color: #483d8b;">#ifdef</span> HAVE_HPC
@ -2366,8 +2366,8 @@ IVDEP
</div> </div>
</div> </div>
<div id="outline-container-orgee4980f" class="outline-3"> <div id="outline-container-org8fdfc08" class="outline-3">
<h3 id="orgee4980f"><span class="section-number-3">2.6</span> Rescaling of MO coefficients</h3> <h3 id="org8fdfc08"><span class="section-number-3">2.6</span> Rescaling of MO coefficients</h3>
<div class="outline-text-3" id="text-2-6"> <div class="outline-text-3" id="text-2-6">
<p> <p>
When evaluating Slater determinants, the value of the determinants When evaluating Slater determinants, the value of the determinants
@ -2384,19 +2384,19 @@ correct range.
</div> </div>
</div> </div>
<div id="outline-container-orgedc91ca" class="outline-4"> <div id="outline-container-org795517e" class="outline-4">
<h4 id="orgedc91ca"><span class="section-number-4">2.6.1</span> Fortran interface</h4> <h4 id="org795517e"><span class="section-number-4">2.6.1</span> Fortran interface</h4>
</div> </div>
</div> </div>
<div id="outline-container-org4815a8f" class="outline-3"> <div id="outline-container-org9bb42cb" class="outline-3">
<h3 id="org4815a8f"><span class="section-number-3">2.7</span> Test</h3> <h3 id="org9bb42cb"><span class="section-number-3">2.7</span> Test</h3>
</div> </div>
</div> </div>
</div> </div>
<div id="postamble" class="status"> <div id="postamble" class="status">
<p class="author">Author: TREX CoE</p> <p class="author">Author: TREX CoE</p>
<p class="date">Created: 2024-03-29 Fri 08:29</p> <p class="date">Created: 2024-04-10 Wed 14:39</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p> <p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div> </div>
</body> </body>

View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head> <head>
<!-- 2024-03-29 Fri 08:29 --> <!-- 2024-04-10 Wed 14:38 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Nucleus</title> <title>Nucleus</title>
@ -346,28 +346,28 @@ for the JavaScript code in this tag.
<h2>Table of Contents</h2> <h2>Table of Contents</h2>
<div id="text-table-of-contents"> <div id="text-table-of-contents">
<ul> <ul>
<li><a href="#org67f482a">1. Context</a> <li><a href="#org97984c0">1. Context</a>
<ul> <ul>
<li><a href="#orge27ba02">1.1. Data structure</a></li> <li><a href="#orge52a8ca">1.1. Data structure</a></li>
<li><a href="#org84bdd75">1.2. Access functions</a></li> <li><a href="#org524ae15">1.2. Access functions</a></li>
<li><a href="#orga42f2ef">1.3. Initialization functions</a></li> <li><a href="#org0142783">1.3. Initialization functions</a></li>
<li><a href="#orgad7bc1a">1.4. Test</a></li> <li><a href="#org2056993">1.4. Test</a></li>
</ul> </ul>
</li> </li>
<li><a href="#orgc4c30e7">2. Computation</a> <li><a href="#orga62decc">2. Computation</a>
<ul> <ul>
<li><a href="#org7c9e589">2.1. Nucleus-nucleus distances</a> <li><a href="#org97227eb">2.1. Nucleus-nucleus distances</a>
<ul> <ul>
<li><a href="#orgc460abe">2.1.1. Get</a></li> <li><a href="#orgd7d7c3f">2.1.1. Get</a></li>
<li><a href="#org3e32cea">2.1.2. Compute</a></li> <li><a href="#org0eafe23">2.1.2. Compute</a></li>
<li><a href="#org347c414">2.1.3. Test</a></li> <li><a href="#org875e97d">2.1.3. Test</a></li>
</ul> </ul>
</li> </li>
<li><a href="#org3841590">2.2. Nuclear repulsion energy</a> <li><a href="#orgf1254ef">2.2. Nuclear repulsion energy</a>
<ul> <ul>
<li><a href="#org4d0afc8">2.2.1. Get</a></li> <li><a href="#orgb896909">2.2.1. Get</a></li>
<li><a href="#org8914099">2.2.2. Compute</a></li> <li><a href="#org56ce944">2.2.2. Compute</a></li>
<li><a href="#org2e1ca6d">2.2.3. Test</a></li> <li><a href="#org7628143">2.2.3. Test</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@ -376,8 +376,8 @@ for the JavaScript code in this tag.
</div> </div>
</div> </div>
<div id="outline-container-org67f482a" class="outline-2"> <div id="outline-container-org97984c0" class="outline-2">
<h2 id="org67f482a"><span class="section-number-2">1</span> Context</h2> <h2 id="org97984c0"><span class="section-number-2">1</span> Context</h2>
<div class="outline-text-2" id="text-1"> <div class="outline-text-2" id="text-1">
<p> <p>
The following data stored in the context: The following data stored in the context:
@ -474,8 +474,8 @@ Computed data:
</table> </table>
</div> </div>
<div id="outline-container-orge27ba02" class="outline-3"> <div id="outline-container-orge52a8ca" class="outline-3">
<h3 id="orge27ba02"><span class="section-number-3">1.1</span> Data structure</h3> <h3 id="orge52a8ca"><span class="section-number-3">1.1</span> Data structure</h3>
<div class="outline-text-3" id="text-1-1"> <div class="outline-text-3" id="text-1-1">
<div class="org-src-container"> <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> { <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> {
@ -529,8 +529,8 @@ this mechanism.
</div> </div>
</div> </div>
<div id="outline-container-org84bdd75" class="outline-3"> <div id="outline-container-org524ae15" class="outline-3">
<h3 id="org84bdd75"><span class="section-number-3">1.2</span> Access functions</h3> <h3 id="org524ae15"><span class="section-number-3">1.2</span> Access functions</h3>
<div class="outline-text-3" id="text-1-2"> <div class="outline-text-3" id="text-1-2">
<p> <p>
When all the data relative to nuclei have been set, the following When all the data relative to nuclei have been set, the following
@ -544,8 +544,8 @@ function returns <code>true</code>.
</div> </div>
</div> </div>
<div id="outline-container-orga42f2ef" class="outline-3"> <div id="outline-container-org0142783" class="outline-3">
<h3 id="orga42f2ef"><span class="section-number-3">1.3</span> Initialization functions</h3> <h3 id="org0142783"><span class="section-number-3">1.3</span> Initialization functions</h3>
<div class="outline-text-3" id="text-1-3"> <div class="outline-text-3" id="text-1-3">
<p> <p>
To set the data relative to the nuclei in the context, the To set the data relative to the nuclei in the context, the
@ -591,8 +591,8 @@ are be given in atomic units.
</div> </div>
</div> </div>
<div id="outline-container-orgad7bc1a" class="outline-3"> <div id="outline-container-org2056993" class="outline-3">
<h3 id="orgad7bc1a"><span class="section-number-3">1.4</span> Test</h3> <h3 id="org2056993"><span class="section-number-3">1.4</span> Test</h3>
<div class="outline-text-3" id="text-1-4"> <div class="outline-text-3" id="text-1-4">
<div class="org-src-container"> <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; <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;
@ -661,8 +661,8 @@ rc = qmckl_get_nucleus_charge(context, nucl_charge2, chbrclf_nucl_num);
</div> </div>
</div> </div>
<div id="outline-container-orgc4c30e7" class="outline-2"> <div id="outline-container-orga62decc" class="outline-2">
<h2 id="orgc4c30e7"><span class="section-number-2">2</span> Computation</h2> <h2 id="orga62decc"><span class="section-number-2">2</span> Computation</h2>
<div class="outline-text-2" id="text-2"> <div class="outline-text-2" id="text-2">
<p> <p>
The computed data is stored in the context so that it can be reused The computed data is stored in the context so that it can be reused
@ -675,12 +675,12 @@ current date is stored.
</p> </p>
</div> </div>
<div id="outline-container-org7c9e589" class="outline-3"> <div id="outline-container-org97227eb" class="outline-3">
<h3 id="org7c9e589"><span class="section-number-3">2.1</span> Nucleus-nucleus distances</h3> <h3 id="org97227eb"><span class="section-number-3">2.1</span> Nucleus-nucleus distances</h3>
<div class="outline-text-3" id="text-2-1"> <div class="outline-text-3" id="text-2-1">
</div> </div>
<div id="outline-container-orgc460abe" class="outline-4"> <div id="outline-container-orgd7d7c3f" class="outline-4">
<h4 id="orgc460abe"><span class="section-number-4">2.1.1</span> Get</h4> <h4 id="orgd7d7c3f"><span class="section-number-4">2.1.1</span> Get</h4>
<div class="outline-text-4" id="text-2-1-1"> <div class="outline-text-4" id="text-2-1-1">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span>
@ -692,10 +692,10 @@ current date is stored.
</div> </div>
</div> </div>
<div id="outline-container-org3e32cea" class="outline-4"> <div id="outline-container-org0eafe23" class="outline-4">
<h4 id="org3e32cea"><span class="section-number-4">2.1.2</span> Compute</h4> <h4 id="org0eafe23"><span class="section-number-4">2.1.2</span> Compute</h4>
<div class="outline-text-4" id="text-2-1-2"> <div class="outline-text-4" id="text-2-1-2">
<table id="orgad01f19" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> <table id="org4f5a964" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup> <colgroup>
@ -773,8 +773,8 @@ current date is stored.
</div> </div>
</div> </div>
<div id="outline-container-org347c414" class="outline-4"> <div id="outline-container-org875e97d" class="outline-4">
<h4 id="org347c414"><span class="section-number-4">2.1.3</span> Test</h4> <h4 id="org875e97d"><span class="section-number-4">2.1.3</span> Test</h4>
<div class="outline-text-4" id="text-2-1-3"> <div class="outline-text-4" id="text-2-1-3">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-c">/* <span style="color: #b22222;">Reference input data</span> */ <pre class="src src-c">/* <span style="color: #b22222;">Reference input data</span> */
@ -793,8 +793,8 @@ rc = qmckl_get_nucleus_nn_distance(context, distance, chbrclf_nucl_num*chbrclf_n
</div> </div>
</div> </div>
<div id="outline-container-org3841590" class="outline-3"> <div id="outline-container-orgf1254ef" class="outline-3">
<h3 id="org3841590"><span class="section-number-3">2.2</span> Nuclear repulsion energy</h3> <h3 id="orgf1254ef"><span class="section-number-3">2.2</span> Nuclear repulsion energy</h3>
<div class="outline-text-3" id="text-2-2"> <div class="outline-text-3" id="text-2-2">
<p> <p>
\[ \[
@ -803,8 +803,8 @@ rc = qmckl_get_nucleus_nn_distance(context, distance, chbrclf_nucl_num*chbrclf_n
</p> </p>
</div> </div>
<div id="outline-container-org4d0afc8" class="outline-4"> <div id="outline-container-orgb896909" class="outline-4">
<h4 id="org4d0afc8"><span class="section-number-4">2.2.1</span> Get</h4> <h4 id="orgb896909"><span class="section-number-4">2.2.1</span> Get</h4>
<div class="outline-text-4" id="text-2-2-1"> <div class="outline-text-4" id="text-2-2-1">
<div class="org-src-container"> <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>); <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>);
@ -813,10 +813,10 @@ rc = qmckl_get_nucleus_nn_distance(context, distance, chbrclf_nucl_num*chbrclf_n
</div> </div>
</div> </div>
<div id="outline-container-org8914099" class="outline-4"> <div id="outline-container-org56ce944" class="outline-4">
<h4 id="org8914099"><span class="section-number-4">2.2.2</span> Compute</h4> <h4 id="org56ce944"><span class="section-number-4">2.2.2</span> Compute</h4>
<div class="outline-text-4" id="text-2-2-2"> <div class="outline-text-4" id="text-2-2-2">
<table id="org61c859a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> <table id="orgdda50e3" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup> <colgroup>
@ -906,8 +906,8 @@ rc = qmckl_get_nucleus_nn_distance(context, distance, chbrclf_nucl_num*chbrclf_n
</div> </div>
</div> </div>
<div id="outline-container-org2e1ca6d" class="outline-4"> <div id="outline-container-org7628143" class="outline-4">
<h4 id="org2e1ca6d"><span class="section-number-4">2.2.3</span> Test</h4> <h4 id="org7628143"><span class="section-number-4">2.2.3</span> Test</h4>
<div class="outline-text-4" id="text-2-2-3"> <div class="outline-text-4" id="text-2-2-3">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-c">/* <span style="color: #b22222;">Reference input data</span> */ <pre class="src src-c">/* <span style="color: #b22222;">Reference input data</span> */
@ -927,7 +927,7 @@ rc = qmckl_get_nucleus_repulsion(context, &amp;rep);
</div> </div>
<div id="postamble" class="status"> <div id="postamble" class="status">
<p class="author">Author: TREX CoE</p> <p class="author">Author: TREX CoE</p>
<p class="date">Created: 2024-03-29 Fri 08:29</p> <p class="date">Created: 2024-04-10 Wed 14:38</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p> <p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div> </div>
</body> </body>

View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head> <head>
<!-- 2024-03-29 Fri 08:29 --> <!-- 2024-04-10 Wed 14:38 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="viewport" content="width=device-width, initial-scale=1" />
<title>&lrm;</title> <title>&lrm;</title>
@ -345,18 +345,18 @@ for the JavaScript code in this tag.
<h2>Table of Contents</h2> <h2>Table of Contents</h2>
<div id="text-table-of-contents"> <div id="text-table-of-contents">
<ul> <ul>
<li><a href="#org9df0ae8">1. Control of the numerical precision</a></li> <li><a href="#orgb30e395">1. Control of the numerical precision</a></li>
<li><a href="#orga8790a6">2. Precision</a></li> <li><a href="#orgcf5bcde">2. Precision</a></li>
<li><a href="#orgbf243de">3. Range</a></li> <li><a href="#org014ccf1">3. Range</a></li>
<li><a href="#orgb2f3d81">4. Helper functions</a> <li><a href="#orgc049f07">4. Helper functions</a>
<ul> <ul>
<li><a href="#org241634c">4.1. Epsilon</a></li> <li><a href="#org9031ab2">4.1. Epsilon</a></li>
<li><a href="#orgcf22bc1">4.2. Testing the number of unchanged bits</a></li> <li><a href="#orgf38c4fb">4.2. Testing the number of unchanged bits</a></li>
</ul> </ul>
</li> </li>
<li><a href="#org6daeef5">5. Approximate functions</a> <li><a href="#org15848f9">5. Approximate functions</a>
<ul> <ul>
<li><a href="#org0d2fc97">5.1. Exponential</a></li> <li><a href="#org4fef8d9">5.1. Exponential</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@ -366,8 +366,8 @@ for the JavaScript code in this tag.
3+TITLE: Numerical precision 3+TITLE: Numerical precision
</p> </p>
<div id="outline-container-org9df0ae8" class="outline-2"> <div id="outline-container-orgb30e395" class="outline-2">
<h2 id="org9df0ae8"><span class="section-number-2">1</span> Control of the numerical precision</h2> <h2 id="orgb30e395"><span class="section-number-2">1</span> Control of the numerical precision</h2>
<div class="outline-text-2" id="text-1"> <div class="outline-text-2" id="text-1">
<p> <p>
Controlling numerical precision enables optimizations. Here, the Controlling numerical precision enables optimizations. Here, the
@ -378,7 +378,7 @@ Arithmetic (IEEE 754),
sign bit) and <i>range</i> refers to the number of exponent bits. sign bit) and <i>range</i> refers to the number of exponent bits.
</p> </p>
<table id="orgb0c2552" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> <table id="org5b6b858" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup> <colgroup>
@ -422,8 +422,8 @@ integer. The update functions return <code>QMCKL_SUCCESS</code> or
</div> </div>
</div> </div>
<div id="outline-container-orga8790a6" class="outline-2"> <div id="outline-container-orgcf5bcde" class="outline-2">
<h2 id="orga8790a6"><span class="section-number-2">2</span> Precision</h2> <h2 id="orgcf5bcde"><span class="section-number-2">2</span> Precision</h2>
<div class="outline-text-2" id="text-2"> <div class="outline-text-2" id="text-2">
<p> <p>
<code>qmckl_context_set_numprec_precision</code> modifies the parameter for the <code>qmckl_context_set_numprec_precision</code> modifies the parameter for the
@ -510,8 +510,8 @@ numerical precision in the context.
</div> </div>
</div> </div>
<div id="outline-container-orgbf243de" class="outline-2"> <div id="outline-container-org014ccf1" class="outline-2">
<h2 id="orgbf243de"><span class="section-number-2">3</span> Range</h2> <h2 id="org014ccf1"><span class="section-number-2">3</span> Range</h2>
<div class="outline-text-2" id="text-3"> <div class="outline-text-2" id="text-3">
<p> <p>
<code>qmckl_set_numprec_range</code> modifies the parameter for the numerical <code>qmckl_set_numprec_range</code> modifies the parameter for the numerical
@ -586,12 +586,12 @@ range in a given context.
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-orgb2f3d81" class="outline-2"> <div id="outline-container-orgc049f07" class="outline-2">
<h2 id="orgb2f3d81"><span class="section-number-2">4</span> Helper functions</h2> <h2 id="orgc049f07"><span class="section-number-2">4</span> Helper functions</h2>
<div class="outline-text-2" id="text-4"> <div class="outline-text-2" id="text-4">
</div> </div>
<div id="outline-container-org241634c" class="outline-3"> <div id="outline-container-org9031ab2" class="outline-3">
<h3 id="org241634c"><span class="section-number-3">4.1</span> Epsilon</h3> <h3 id="org9031ab2"><span class="section-number-3">4.1</span> Epsilon</h3>
<div class="outline-text-3" id="text-4-1"> <div class="outline-text-3" id="text-4-1">
<p> <p>
<code>qmckl_get_numprec_epsilon</code> returns \(\epsilon = 2^{1-n}\) where <code>n</code> is the precision. <code>qmckl_get_numprec_epsilon</code> returns \(\epsilon = 2^{1-n}\) where <code>n</code> is the precision.
@ -610,8 +610,8 @@ We need to remove the sign bit from the precision.
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-orgcf22bc1" class="outline-3"> <div id="outline-container-orgf38c4fb" class="outline-3">
<h3 id="orgcf22bc1"><span class="section-number-3">4.2</span> Testing the number of unchanged bits</h3> <h3 id="orgf38c4fb"><span class="section-number-3">4.2</span> Testing the number of unchanged bits</h3>
<div class="outline-text-3" id="text-4-2"> <div class="outline-text-3" id="text-4-2">
<p> <p>
To test that a given approximation keeps a given number of bits To test that a given approximation keeps a given number of bits
@ -681,12 +681,12 @@ numbers differ.
</div> </div>
</div> </div>
<div id="outline-container-org6daeef5" class="outline-2"> <div id="outline-container-org15848f9" class="outline-2">
<h2 id="org6daeef5"><span class="section-number-2">5</span> Approximate functions</h2> <h2 id="org15848f9"><span class="section-number-2">5</span> Approximate functions</h2>
<div class="outline-text-2" id="text-5"> <div class="outline-text-2" id="text-5">
</div> </div>
<div id="outline-container-org0d2fc97" class="outline-3"> <div id="outline-container-org4fef8d9" class="outline-3">
<h3 id="org0d2fc97"><span class="section-number-3">5.1</span> Exponential</h3> <h3 id="org4fef8d9"><span class="section-number-3">5.1</span> Exponential</h3>
<div class="outline-text-3" id="text-5-1"> <div class="outline-text-3" id="text-5-1">
<p> <p>
Fast exponential function, adapted from Johan Rade's implementation Fast exponential function, adapted from Johan Rade's implementation
@ -741,7 +741,7 @@ N. Schraudolph, "A Fast, Compact Approximation of the Exponential Function",
</div> </div>
<div id="postamble" class="status"> <div id="postamble" class="status">
<p class="author">Author: TREX CoE</p> <p class="author">Author: TREX CoE</p>
<p class="date">Created: 2024-03-29 Fri 08:29</p> <p class="date">Created: 2024-04-10 Wed 14:38</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p> <p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div> </div>
</body> </body>

View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head> <head>
<!-- 2024-03-29 Fri 08:29 --> <!-- 2024-04-10 Wed 14:38 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Point</title> <title>Point</title>
@ -346,25 +346,25 @@ for the JavaScript code in this tag.
<h2>Table of Contents</h2> <h2>Table of Contents</h2>
<div id="text-table-of-contents"> <div id="text-table-of-contents">
<ul> <ul>
<li><a href="#orgf9584da">1. Context</a> <li><a href="#org2fedf3a">1. Context</a>
<ul> <ul>
<li><a href="#orgec72b23">1.1. Data structure</a></li> <li><a href="#org8a89d58">1.1. Data structure</a></li>
<li><a href="#orgbaff22e">1.2. Access functions</a> <li><a href="#orgda224d2">1.2. Access functions</a>
<ul> <ul>
<li><a href="#orgd4a6765">1.2.1. Number of points</a></li> <li><a href="#org0ab027f">1.2.1. Number of points</a></li>
<li><a href="#orgcc158c4">1.2.2. Point coordinates</a></li> <li><a href="#orgea48554">1.2.2. Point coordinates</a></li>
</ul> </ul>
</li> </li>
<li><a href="#orgd4cecbb">1.3. Initialization functions</a></li> <li><a href="#org2e8d7a7">1.3. Initialization functions</a></li>
<li><a href="#org9cd6ee9">1.4. Test</a></li> <li><a href="#org2e3b005">1.4. Test</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
</div> </div>
</div> </div>
<div id="outline-container-orgf9584da" class="outline-2"> <div id="outline-container-org2fedf3a" class="outline-2">
<h2 id="orgf9584da"><span class="section-number-2">1</span> Context</h2> <h2 id="org2fedf3a"><span class="section-number-2">1</span> Context</h2>
<div class="outline-text-2" id="text-1"> <div class="outline-text-2" id="text-1">
<p> <p>
The following data stored in the context: The following data stored in the context:
@ -414,8 +414,8 @@ corresponds to the 3 &times; <code>num</code> matrix.
</p> </p>
</div> </div>
<div id="outline-container-orgec72b23" class="outline-3"> <div id="outline-container-org8a89d58" class="outline-3">
<h3 id="orgec72b23"><span class="section-number-3">1.1</span> Data structure</h3> <h3 id="org8a89d58"><span class="section-number-3">1.1</span> Data structure</h3>
<div class="outline-text-3" id="text-1-1"> <div class="outline-text-3" id="text-1-1">
<div class="org-src-container"> <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> { <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> {
@ -451,8 +451,8 @@ corresponds to the 3 &times; <code>num</code> matrix.
</div> </div>
</div> </div>
<div id="outline-container-orgbaff22e" class="outline-3"> <div id="outline-container-orgda224d2" class="outline-3">
<h3 id="orgbaff22e"><span class="section-number-3">1.2</span> Access functions</h3> <h3 id="orgda224d2"><span class="section-number-3">1.2</span> Access functions</h3>
<div class="outline-text-3" id="text-1-2"> <div class="outline-text-3" id="text-1-2">
<p> <p>
Access functions return <code>QMCKL_SUCCESS</code> when the data has been Access functions return <code>QMCKL_SUCCESS</code> when the data has been
@ -463,8 +463,8 @@ contains the requested data. Otherwise, this variable is untouched.
</p> </p>
</div> </div>
<div id="outline-container-orgd4a6765" class="outline-4"> <div id="outline-container-org0ab027f" class="outline-4">
<h4 id="orgd4a6765"><span class="section-number-4">1.2.1</span> Number of points</h4> <h4 id="org0ab027f"><span class="section-number-4">1.2.1</span> Number of points</h4>
<div class="outline-text-4" id="text-1-2-1"> <div class="outline-text-4" id="text-1-2-1">
<p> <p>
Returns the number of points stored in the context. Returns the number of points stored in the context.
@ -486,8 +486,8 @@ Returns the number of points stored in the context.
</div> </div>
</div> </div>
<div id="outline-container-orgcc158c4" class="outline-4"> <div id="outline-container-orgea48554" class="outline-4">
<h4 id="orgcc158c4"><span class="section-number-4">1.2.2</span> Point coordinates</h4> <h4 id="orgea48554"><span class="section-number-4">1.2.2</span> Point coordinates</h4>
<div class="outline-text-4" id="text-1-2-2"> <div class="outline-text-4" id="text-1-2-2">
<p> <p>
Returns the point coordinates as sequences of (x,y,z). Returns the point coordinates as sequences of (x,y,z).
@ -515,8 +515,8 @@ The pointer is assumed to point on a memory block of size
</div> </div>
<div id="outline-container-orgd4cecbb" class="outline-3"> <div id="outline-container-org2e8d7a7" class="outline-3">
<h3 id="orgd4cecbb"><span class="section-number-3">1.3</span> Initialization functions</h3> <h3 id="org2e8d7a7"><span class="section-number-3">1.3</span> Initialization functions</h3>
<div class="outline-text-3" id="text-1-3"> <div class="outline-text-3" id="text-1-3">
<p> <p>
When the data is set in the context, if the arrays are large When the data is set in the context, if the arrays are large
@ -655,8 +655,8 @@ Copy a sequence of <code>num</code> points \((x,y,z)\) into the context.
</div> </div>
<div id="outline-container-org9cd6ee9" class="outline-3"> <div id="outline-container-org2e3b005" class="outline-3">
<h3 id="org9cd6ee9"><span class="section-number-3">1.4</span> Test</h3> <h3 id="org2e3b005"><span class="section-number-3">1.4</span> Test</h3>
<div class="outline-text-3" id="text-1-4"> <div class="outline-text-3" id="text-1-4">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-c">/* <span style="color: #b22222;">Reference input data</span> */ <pre class="src src-c">/* <span style="color: #b22222;">Reference input data</span> */
@ -715,7 +715,7 @@ rc = qmckl_get_point (context, <span style="color: #8b2252;">'N'</span>, coord3,
</div> </div>
<div id="postamble" class="status"> <div id="postamble" class="status">
<p class="author">Author: TREX CoE</p> <p class="author">Author: TREX CoE</p>
<p class="date">Created: 2024-03-29 Fri 08:29</p> <p class="date">Created: 2024-04-10 Wed 14:38</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p> <p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div> </div>
</body> </body>

View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head> <head>
<!-- 2024-03-29 Fri 08:29 --> <!-- 2024-04-10 Wed 14:39 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Sherman-Morrison-Woodbury</title> <title>Sherman-Morrison-Woodbury</title>
@ -346,118 +346,118 @@ for the JavaScript code in this tag.
<h2>Table of Contents</h2> <h2>Table of Contents</h2>
<div id="text-table-of-contents"> <div id="text-table-of-contents">
<ul> <ul>
<li><a href="#orgcfccc27">1. Headers</a></li> <li><a href="#orgfb5dfb5">1. Headers</a></li>
<li><a href="#org1846b51">2. Naïve Sherman-Morrison</a> <li><a href="#org3d2dfe1">2. Naïve Sherman-Morrison</a>
<ul> <ul>
<li><a href="#org8acd91f">2.1. <code>qmckl_sm_naive</code></a> <li><a href="#org58a3306">2.1. <code>qmckl_sm_naive</code></a>
<ul> <ul>
<li><a href="#orgb22c5ab">2.1.1. Introduction</a></li> <li><a href="#orgaa29369">2.1.1. Introduction</a></li>
<li><a href="#orgf69d8f2">2.1.2. API</a></li> <li><a href="#org85bba85">2.1.2. API</a></li>
<li><a href="#org64d4c78">2.1.3. Requirements</a></li> <li><a href="#org05d0ba5">2.1.3. Requirements</a></li>
<li><a href="#org2484647">2.1.4. Pedagogical kernel source (in Fortran)</a> <li><a href="#orgf5380a5">2.1.4. Pedagogical kernel source (in Fortran)</a>
<ul> <ul>
<li><a href="#org765ba96">2.1.4.1. C interface (not directly exposed)</a></li> <li><a href="#org35a3f30">2.1.4.1. C interface (not directly exposed)</a></li>
</ul> </ul>
</li> </li>
<li><a href="#org3facafa">2.1.5. C headers (exposed in qmckl.h)</a></li> <li><a href="#org79dfe57">2.1.5. C headers (exposed in qmckl.h)</a></li>
<li><a href="#orgb5bd6a7">2.1.6. C sources</a></li> <li><a href="#orgfa89900">2.1.6. C sources</a></li>
<li><a href="#org6901fee">2.1.7. Fortran interfaces (exposed in qmckl<sub>f.F90</sub>)</a></li> <li><a href="#org4c2f523">2.1.7. Fortran interfaces (exposed in qmckl<sub>f.F90</sub>)</a></li>
<li><a href="#orgc87882f">2.1.8. Performance</a></li> <li><a href="#org12711d1">2.1.8. Performance</a></li>
<li><a href="#org83ebc1b">2.1.9. Tests</a></li> <li><a href="#org1ae17e4">2.1.9. Tests</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
</li> </li>
<li><a href="#orga9d9b30">3. Sherman-Morrison with Slagel Splitting (core)</a> <li><a href="#org1fc5ead">3. Sherman-Morrison with Slagel Splitting (core)</a>
<ul> <ul>
<li><a href="#org79e2e22">3.1. <code>qmckl_sm_splitting_core</code></a> <li><a href="#org1594591">3.1. <code>qmckl_sm_splitting_core</code></a>
<ul> <ul>
<li><a href="#org597cfcc">3.1.1. Introduction</a></li> <li><a href="#org17c2967">3.1.1. Introduction</a></li>
<li><a href="#orgdd4c8fd">3.1.2. API</a></li> <li><a href="#org51502f4">3.1.2. API</a></li>
<li><a href="#org3c9358c">3.1.3. Requirements</a></li> <li><a href="#orgf51ac91">3.1.3. Requirements</a></li>
<li><a href="#org08776c9">3.1.4. Pedagogical kernel source (in Fortran)</a> <li><a href="#orga8234ad">3.1.4. Pedagogical kernel source (in Fortran)</a>
<ul> <ul>
<li><a href="#orgadcc09f">3.1.4.1. C interface to the pedagogical kernel (not directly exposed)</a></li> <li><a href="#org4e2a5c8">3.1.4.1. C interface to the pedagogical kernel (not directly exposed)</a></li>
</ul> </ul>
</li> </li>
<li><a href="#orgaf03171">3.1.5. C headers (exposed in qmckl.h)</a></li> <li><a href="#org51e5016">3.1.5. C headers (exposed in qmckl.h)</a></li>
<li><a href="#orgeada5c3">3.1.6. C sources</a></li> <li><a href="#orgddc960c">3.1.6. C sources</a></li>
<li><a href="#orge56f92e">3.1.7. Fortran interfaces (exposed in qmckl<sub>f.F90</sub>)</a></li> <li><a href="#orgd2c0eeb">3.1.7. Fortran interfaces (exposed in qmckl<sub>f.F90</sub>)</a></li>
<li><a href="#org6944ca3">3.1.8. Performance</a></li> <li><a href="#org71c1a6c">3.1.8. Performance</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
</li> </li>
<li><a href="#orgf1ea209">4. Woodbury 2x2</a> <li><a href="#orga4cdf2d">4. Woodbury 2x2</a>
<ul> <ul>
<li><a href="#org694ba28">4.1. <code>qmckl_woodbury_2x2</code></a> <li><a href="#org3930e2f">4.1. <code>qmckl_woodbury_2x2</code></a>
<ul> <ul>
<li><a href="#org9fd0be1">4.1.1. Introduction</a></li> <li><a href="#orge6ab90a">4.1.1. Introduction</a></li>
<li><a href="#org93c957a">4.1.2. API</a></li> <li><a href="#orge1af751">4.1.2. API</a></li>
<li><a href="#org521c24e">4.1.3. Requirements</a></li> <li><a href="#org074ed60">4.1.3. Requirements</a></li>
<li><a href="#org3459625">4.1.4. Pedagogical kernel source (in Fortran)</a> <li><a href="#orgd6b4630">4.1.4. Pedagogical kernel source (in Fortran)</a>
<ul> <ul>
<li><a href="#org2ba0505">4.1.4.1. C interface (not directly exposed)</a></li> <li><a href="#org1bf327d">4.1.4.1. C interface (not directly exposed)</a></li>
</ul> </ul>
</li> </li>
<li><a href="#orgd02056a">4.1.5. C headers (exposed in qmckl.h)</a></li> <li><a href="#orgdedb90e">4.1.5. C headers (exposed in qmckl.h)</a></li>
<li><a href="#org00ec926">4.1.6. C sources</a></li> <li><a href="#orgff2e594">4.1.6. C sources</a></li>
<li><a href="#orgacb1f7f">4.1.7. Fortran interfaces (exposed in qmckl<sub>f.F90</sub>)</a></li> <li><a href="#org95bf6e2">4.1.7. Fortran interfaces (exposed in qmckl<sub>f.F90</sub>)</a></li>
<li><a href="#org3c0942c">4.1.8. Performance</a></li> <li><a href="#org1bbd8dd">4.1.8. Performance</a></li>
<li><a href="#orgbd2fdbb">4.1.9. Tests</a></li> <li><a href="#org8b15b14">4.1.9. Tests</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
</li> </li>
<li><a href="#org4adf35d">5. Woodbury 3x3</a> <li><a href="#orga7f5d38">5. Woodbury 3x3</a>
<ul> <ul>
<li><a href="#org889a95f">5.1. <code>qmckl_woodbury_3x3</code></a> <li><a href="#orgefe21ed">5.1. <code>qmckl_woodbury_3x3</code></a>
<ul> <ul>
<li><a href="#orgb5b3df5">5.1.1. Introduction</a></li> <li><a href="#org6331646">5.1.1. Introduction</a></li>
<li><a href="#org3fc709c">5.1.2. API</a></li> <li><a href="#org7c8edd2">5.1.2. API</a></li>
<li><a href="#orgad05b5a">5.1.3. Requirements</a></li> <li><a href="#orgb7e3e11">5.1.3. Requirements</a></li>
<li><a href="#org24ca3c7">5.1.4. Pedagogical kernel source (in Fortran)</a> <li><a href="#org5daafc7">5.1.4. Pedagogical kernel source (in Fortran)</a>
<ul> <ul>
<li><a href="#org3d7ac16">5.1.4.1. C interface (not directly exposed)</a></li> <li><a href="#org80efd6b">5.1.4.1. C interface (not directly exposed)</a></li>
</ul> </ul>
</li> </li>
<li><a href="#org9dc8dd0">5.1.5. C headers (exposed in qmckl.h)</a></li> <li><a href="#org7773f8b">5.1.5. C headers (exposed in qmckl.h)</a></li>
<li><a href="#org79af363">5.1.6. C sources</a></li> <li><a href="#org66b33ec">5.1.6. C sources</a></li>
<li><a href="#org487ea1b">5.1.7. Fortran interfaces (exposed in qmckl<sub>f.F90</sub>)</a></li> <li><a href="#orgc44118a">5.1.7. Fortran interfaces (exposed in qmckl<sub>f.F90</sub>)</a></li>
<li><a href="#org87dc423">5.1.8. Performance</a></li> <li><a href="#orgc21b317">5.1.8. Performance</a></li>
<li><a href="#org06b53f0">5.1.9. Tests</a></li> <li><a href="#orgf7e6473">5.1.9. Tests</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
</li> </li>
<li><a href="#org65f5818">6. Sherman-Morrison with Slagel Splitting</a> <li><a href="#orgad4a233">6. Sherman-Morrison with Slagel Splitting</a>
<ul> <ul>
<li><a href="#orgb66af79">6.1. <code>qmckl_sm_splitting</code></a> <li><a href="#org94e2b95">6.1. <code>qmckl_sm_splitting</code></a>
<ul> <ul>
<li><a href="#orgb11b7a1">6.1.1. Introduction</a></li> <li><a href="#org9bc6cc4">6.1.1. Introduction</a></li>
<li><a href="#org4344a66">6.1.2. API</a></li> <li><a href="#org21a053c">6.1.2. API</a></li>
<li><a href="#org7a9be65">6.1.3. Requirements</a></li> <li><a href="#orgfbd795d">6.1.3. Requirements</a></li>
<li><a href="#org26939ab">6.1.4. Pedagogical kernel source (in Fortran)</a> <li><a href="#org2a6211b">6.1.4. Pedagogical kernel source (in Fortran)</a>
<ul> <ul>
<li><a href="#org7b73bc6">6.1.4.1. C interface to the pedagogical kernel (not directly exposed)</a></li> <li><a href="#org0713d08">6.1.4.1. C interface to the pedagogical kernel (not directly exposed)</a></li>
</ul> </ul>
</li> </li>
<li><a href="#org22bba00">6.1.5. C headers (exposed in qmckl.h)</a></li> <li><a href="#org8b40f6f">6.1.5. C headers (exposed in qmckl.h)</a></li>
<li><a href="#org95c5d0b">6.1.6. C source</a></li> <li><a href="#org25026fa">6.1.6. C source</a></li>
<li><a href="#org9927a46">6.1.7. Fortran interfaces (exposed in qmckl<sub>f.F90</sub>)</a></li> <li><a href="#orgb11a8c6">6.1.7. Fortran interfaces (exposed in qmckl<sub>f.F90</sub>)</a></li>
<li><a href="#org748244c">6.1.8. Performance&#x2026;</a></li> <li><a href="#org278e932">6.1.8. Performance&#x2026;</a></li>
<li><a href="#org4e55568">6.1.9. Test</a></li> <li><a href="#org67fa755">6.1.9. Test</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
</li> </li>
<li><a href="#org62cff63">7. End of files</a></li> <li><a href="#org8afd36f">7. End of files</a></li>
</ul> </ul>
</div> </div>
</div> </div>
<div id="outline-container-orgcfccc27" class="outline-2"> <div id="outline-container-orgfb5dfb5" class="outline-2">
<h2 id="orgcfccc27"><span class="section-number-2">1</span> Headers</h2> <h2 id="orgfb5dfb5"><span class="section-number-2">1</span> Headers</h2>
<div class="outline-text-2" id="text-1"> <div class="outline-text-2" id="text-1">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-c"><span style="color: #483d8b;">#include</span> <span style="color: #8b2252;">"qmckl.h"</span> <pre class="src src-c"><span style="color: #483d8b;">#include</span> <span style="color: #8b2252;">"qmckl.h"</span>
@ -479,17 +479,17 @@ This is the range that determines the how many high performance kernel instantce
</p> </p>
</div> </div>
</div> </div>
<div id="outline-container-org1846b51" class="outline-2"> <div id="outline-container-org3d2dfe1" class="outline-2">
<h2 id="org1846b51"><span class="section-number-2">2</span> Naïve Sherman-Morrison</h2> <h2 id="org3d2dfe1"><span class="section-number-2">2</span> Naïve Sherman-Morrison</h2>
<div class="outline-text-2" id="text-2"> <div class="outline-text-2" id="text-2">
</div> </div>
<div id="outline-container-org8acd91f" class="outline-3"> <div id="outline-container-org58a3306" class="outline-3">
<h3 id="org8acd91f"><span class="section-number-3">2.1</span> <code>qmckl_sm_naive</code></h3> <h3 id="org58a3306"><span class="section-number-3">2.1</span> <code>qmckl_sm_naive</code></h3>
<div class="outline-text-3" id="text-2-1"> <div class="outline-text-3" id="text-2-1">
</div> </div>
<div id="outline-container-orgb22c5ab" class="outline-4"> <div id="outline-container-orgaa29369" class="outline-4">
<h4 id="orgb22c5ab"><span class="section-number-4">2.1.1</span> Introduction</h4> <h4 id="orgaa29369"><span class="section-number-4">2.1.1</span> Introduction</h4>
<div class="outline-text-4" id="text-2-1-1"> <div class="outline-text-4" id="text-2-1-1">
<p> <p>
This is the simplest of the available Sherman-Morrison-Woodbury kernels. It applies rank-1 updates one by one in This is the simplest of the available Sherman-Morrison-Woodbury kernels. It applies rank-1 updates one by one in
@ -539,10 +539,10 @@ from applying the updates to the original matrix.
</div> </div>
</div> </div>
<div id="outline-container-orgf69d8f2" class="outline-4"> <div id="outline-container-org85bba85" class="outline-4">
<h4 id="orgf69d8f2"><span class="section-number-4">2.1.2</span> API</h4> <h4 id="org85bba85"><span class="section-number-4">2.1.2</span> API</h4>
<div class="outline-text-4" id="text-2-1-2"> <div class="outline-text-4" id="text-2-1-2">
<table id="orgb7e99e8" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> <table id="org89d40a0" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup> <colgroup>
@ -630,8 +630,8 @@ from applying the updates to the original matrix.
</div> </div>
</div> </div>
<div id="outline-container-org64d4c78" class="outline-4"> <div id="outline-container-org05d0ba5" class="outline-4">
<h4 id="org64d4c78"><span class="section-number-4">2.1.3</span> Requirements</h4> <h4 id="org05d0ba5"><span class="section-number-4">2.1.3</span> Requirements</h4>
<div class="outline-text-4" id="text-2-1-3"> <div class="outline-text-4" id="text-2-1-3">
<ul class="org-ul"> <ul class="org-ul">
<li><code>context</code> is not <code>QMCKL_NULL_CONTEXT</code></li> <li><code>context</code> is not <code>QMCKL_NULL_CONTEXT</code></li>
@ -647,8 +647,8 @@ from applying the updates to the original matrix.
</div> </div>
</div> </div>
<div id="outline-container-org2484647" class="outline-4"> <div id="outline-container-orgf5380a5" class="outline-4">
<h4 id="org2484647"><span class="section-number-4">2.1.4</span> Pedagogical kernel source (in Fortran)</h4> <h4 id="orgf5380a5"><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"> <div class="outline-text-4" id="text-2-1-4">
<p> <p>
The following source code written in Fortran is inteded to illustrate how the kernel works. Even though the kernel is The following source code written in Fortran is inteded to illustrate how the kernel works. Even though the kernel is
@ -742,8 +742,8 @@ not be used in real workloads.
</div> </div>
</div> </div>
<div id="outline-container-org765ba96" class="outline-5"> <div id="outline-container-org35a3f30" class="outline-5">
<h5 id="org765ba96"><span class="section-number-5">2.1.4.1</span> C interface (not directly exposed)</h5> <h5 id="org35a3f30"><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"> <div class="outline-text-5" id="text-2-1-4-1">
<p> <p>
The following Fortran function <code>qmckl_sm_naive_doc</code> makes sure The following Fortran function <code>qmckl_sm_naive_doc</code> makes sure
@ -755,8 +755,8 @@ for C users and in the module file 'qmckl<sub>f.F90</sub>' for Fortran users.
</div> </div>
</div> </div>
<div id="outline-container-org3facafa" class="outline-4"> <div id="outline-container-org79dfe57" class="outline-4">
<h4 id="org3facafa"><span class="section-number-4">2.1.5</span> C headers (exposed in qmckl.h)</h4> <h4 id="org79dfe57"><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="outline-text-4" id="text-2-1-5">
<div class="org-src-container"> <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> ( <pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_sm_naive</span> (
@ -802,8 +802,8 @@ for C users and in the module file 'qmckl<sub>f.F90</sub>' for Fortran users.
</div> </div>
</div> </div>
<div id="outline-container-orgb5bd6a7" class="outline-4"> <div id="outline-container-orgfa89900" class="outline-4">
<h4 id="orgb5bd6a7"><span class="section-number-4">2.1.6</span> C sources</h4> <h4 id="orgfa89900"><span class="section-number-4">2.1.6</span> C sources</h4>
<div class="outline-text-4" id="text-2-1-6"> <div class="outline-text-4" id="text-2-1-6">
<p> <p>
Common includes and macros used by all the Sherman-Morrison-Woodbury kernels. Common includes and macros used by all the Sherman-Morrison-Woodbury kernels.
@ -905,7 +905,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. <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> </p>
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-c" id="orgb10103b"><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="org0a7679e"><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;">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;">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>, <span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">restrict</span> <span style="color: #a0522d;">Updates</span>,
@ -981,7 +981,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. 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> </p>
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-python" id="orgab4ebe1"><span style="color: #a0522d;">text</span>=<span style="color: #8b2252;">"""</span> <pre class="src src-python" id="org4af0393"><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;">static inline qmckl_exit_code qmckl_sm_naive_{Dim}(</span>
<span style="color: #8b2252;"> const qmckl_context context,</span> <span style="color: #8b2252;"> const qmckl_context context,</span>
<span style="color: #8b2252;"> const uint64_t N_updates,</span> <span style="color: #8b2252;"> const uint64_t N_updates,</span>
@ -1065,7 +1065,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. Python script that generated C switch cases that call individual kernel instances.
</p> </p>
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-python" id="org14bd8bd"><span style="color: #a0522d;">text</span>=<span style="color: #8b2252;">"""</span> <pre class="src src-python" id="org985cf00"><span style="color: #a0522d;">text</span>=<span style="color: #8b2252;">"""</span>
<span style="color: #8b2252;">case {Dim}: </span> <span style="color: #8b2252;">case {Dim}: </span>
<span style="color: #8b2252;"> return qmckl_sm_naive_{Dim}(context,</span> <span style="color: #8b2252;"> return qmckl_sm_naive_{Dim}(context,</span>
<span style="color: #8b2252;"> N_updates,</span> <span style="color: #8b2252;"> N_updates,</span>
@ -2706,14 +2706,14 @@ Python script that generated C switch cases that call individual kernel instance
</div> </div>
</div> </div>
<div id="outline-container-org6901fee" class="outline-4"> <div id="outline-container-org4c2f523" class="outline-4">
<h4 id="org6901fee"><span class="section-number-4">2.1.7</span> Fortran interfaces (exposed in qmckl<sub>f.F90</sub>)</h4> <h4 id="org4c2f523"><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 class="outline-text-4" id="text-2-1-7">
</div> </div>
</div> </div>
<div id="outline-container-orgc87882f" class="outline-4"> <div id="outline-container-org12711d1" class="outline-4">
<h4 id="orgc87882f"><span class="section-number-4">2.1.8</span> Performance</h4> <h4 id="org12711d1"><span class="section-number-4">2.1.8</span> Performance</h4>
<div class="outline-text-4" id="text-2-1-8"> <div class="outline-text-4" id="text-2-1-8">
<p> <p>
This function performs best when there is only 1 rank-1 update in the update cycle. It is This function performs best when there is only 1 rank-1 update in the update cycle. It is
@ -2722,8 +2722,8 @@ can never resolve a situation where applying the update causes singular behaviou
</p> </p>
</div> </div>
</div> </div>
<div id="outline-container-org83ebc1b" class="outline-4"> <div id="outline-container-org1ae17e4" class="outline-4">
<h4 id="org83ebc1b"><span class="section-number-4">2.1.9</span> Tests</h4> <h4 id="org1ae17e4"><span class="section-number-4">2.1.9</span> Tests</h4>
<div class="outline-text-4" id="text-2-1-9"> <div class="outline-text-4" id="text-2-1-9">
<p> <p>
The tests for the kernels are executed on datasets that are extracted from a run of The tests for the kernels are executed on datasets that are extracted from a run of
@ -2791,17 +2791,17 @@ rc = QMCKL_SUCCESS;
</div> </div>
<div id="outline-container-orga9d9b30" class="outline-2"> <div id="outline-container-org1fc5ead" class="outline-2">
<h2 id="orga9d9b30"><span class="section-number-2">3</span> Sherman-Morrison with Slagel Splitting (core)</h2> <h2 id="org1fc5ead"><span class="section-number-2">3</span> Sherman-Morrison with Slagel Splitting (core)</h2>
<div class="outline-text-2" id="text-3"> <div class="outline-text-2" id="text-3">
</div> </div>
<div id="outline-container-org79e2e22" class="outline-3"> <div id="outline-container-org1594591" class="outline-3">
<h3 id="org79e2e22"><span class="section-number-3">3.1</span> <code>qmckl_sm_splitting_core</code></h3> <h3 id="org1594591"><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 class="outline-text-3" id="text-3-1">
</div> </div>
<div id="outline-container-org597cfcc" class="outline-4"> <div id="outline-container-org17c2967" class="outline-4">
<h4 id="org597cfcc"><span class="section-number-4">3.1.1</span> Introduction</h4> <h4 id="org17c2967"><span class="section-number-4">3.1.1</span> Introduction</h4>
<div class="outline-text-4" id="text-3-1-1"> <div class="outline-text-4" id="text-3-1-1">
<p> <p>
<code>qmckl_sm_splitting_core</code> is the inner core part of 'Sherman-Morrison with update splitting' in the next section. <code>qmckl_sm_splitting_core</code> is the inner core part of 'Sherman-Morrison with update splitting' in the next section.
@ -2829,10 +2829,10 @@ If the determinant is passed it will only be partially updated if there were any
</div> </div>
</div> </div>
<div id="outline-container-orgdd4c8fd" class="outline-4"> <div id="outline-container-org51502f4" class="outline-4">
<h4 id="orgdd4c8fd"><span class="section-number-4">3.1.2</span> API</h4> <h4 id="org51502f4"><span class="section-number-4">3.1.2</span> API</h4>
<div class="outline-text-4" id="text-3-1-2"> <div class="outline-text-4" id="text-3-1-2">
<table id="orgb4b05a6" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> <table id="org19c1623" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup> <colgroup>
@ -2941,8 +2941,8 @@ If the determinant is passed it will only be partially updated if there were any
</div> </div>
</div> </div>
<div id="outline-container-org3c9358c" class="outline-4"> <div id="outline-container-orgf51ac91" class="outline-4">
<h4 id="org3c9358c"><span class="section-number-4">3.1.3</span> Requirements</h4> <h4 id="orgf51ac91"><span class="section-number-4">3.1.3</span> Requirements</h4>
<div class="outline-text-4" id="text-3-1-3"> <div class="outline-text-4" id="text-3-1-3">
<ul class="org-ul"> <ul class="org-ul">
<li><code>LDS &gt;= 2</code></li> <li><code>LDS &gt;= 2</code></li>
@ -2959,8 +2959,8 @@ If the determinant is passed it will only be partially updated if there were any
</div> </div>
</div> </div>
<div id="outline-container-org08776c9" class="outline-4"> <div id="outline-container-orga8234ad" class="outline-4">
<h4 id="org08776c9"><span class="section-number-4">3.1.4</span> Pedagogical kernel source (in Fortran)</h4> <h4 id="orga8234ad"><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"> <div class="outline-text-4" id="text-3-1-4">
<p> <p>
The following source code written in Fortran is inteded to illustrate how the kernel works. Even though the kernel is The following source code written in Fortran is inteded to illustrate how the kernel works. Even though the kernel is
@ -3076,8 +3076,8 @@ not be used in real workloads.
</div> </div>
</div> </div>
<div id="outline-container-orgadcc09f" class="outline-5"> <div id="outline-container-org4e2a5c8" class="outline-5">
<h5 id="orgadcc09f"><span class="section-number-5">3.1.4.1</span> C interface to the pedagogical kernel (not directly exposed)</h5> <h5 id="org4e2a5c8"><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"> <div class="outline-text-5" id="text-3-1-4-1">
<p> <p>
The function <code>qmckl_sm_splitting_core_doc</code> makes sure that The function <code>qmckl_sm_splitting_core_doc</code> makes sure that
@ -3090,8 +3090,8 @@ exposed in <code>qmckl.h</code> and <code>qmckl_f.F90</code>, but
</div> </div>
</div> </div>
<div id="outline-container-orgaf03171" class="outline-4"> <div id="outline-container-org51e5016" class="outline-4">
<h4 id="orgaf03171"><span class="section-number-4">3.1.5</span> C headers (exposed in qmckl.h)</h4> <h4 id="org51e5016"><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="outline-text-4" id="text-3-1-5">
<div class="org-src-container"> <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> ( <pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_sm_splitting_core</span> (
@ -3146,8 +3146,8 @@ exposed in <code>qmckl.h</code> and <code>qmckl_f.F90</code>, but
</div> </div>
</div> </div>
<div id="outline-container-orgeada5c3" class="outline-4"> <div id="outline-container-orgddc960c" class="outline-4">
<h4 id="orgeada5c3"><span class="section-number-4">3.1.6</span> C sources</h4> <h4 id="orgddc960c"><span class="section-number-4">3.1.6</span> C sources</h4>
<div class="outline-text-4" id="text-3-1-6"> <div class="outline-text-4" id="text-3-1-6">
<div class="org-src-container"> <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>( <pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_sm_splitting_core_hpc</span>(
@ -3236,7 +3236,7 @@ exposed in <code>qmckl.h</code> and <code>qmckl_f.F90</code>, but
</div> </div>
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-c" id="org75dd0d6"><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="org608111e"><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: #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: #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>, <span style="color: #a020f0;">const</span> <span style="color: #228b22;">double</span>* <span style="color: #a020f0;">restrict</span> <span style="color: #a0522d;">Updates</span>,
@ -3320,7 +3320,7 @@ exposed in <code>qmckl.h</code> and <code>qmckl_f.F90</code>, but
</div> </div>
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-python" id="org970f1f8"><span style="color: #a0522d;">text</span>=<span style="color: #8b2252;">"""</span> <pre class="src src-python" id="org80adb2e"><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;">static inline qmckl_exit_code qmckl_sm_splitting_core_{Dim}(</span>
<span style="color: #8b2252;"> const qmckl_context context,</span> <span style="color: #8b2252;"> const qmckl_context context,</span>
<span style="color: #8b2252;"> uint64_t N_updates,</span> <span style="color: #8b2252;"> uint64_t N_updates,</span>
@ -3412,7 +3412,7 @@ exposed in <code>qmckl.h</code> and <code>qmckl_f.F90</code>, but
</div> </div>
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-python" id="org2a633f9"><span style="color: #a0522d;">text</span>=<span style="color: #8b2252;">"""</span> <pre class="src src-python" id="org5e23243"><span style="color: #a0522d;">text</span>=<span style="color: #8b2252;">"""</span>
<span style="color: #8b2252;">case {Dim}: {</span> <span style="color: #8b2252;">case {Dim}: {</span>
<span style="color: #8b2252;"> return qmckl_sm_splitting_core_{Dim}(</span> <span style="color: #8b2252;"> return qmckl_sm_splitting_core_{Dim}(</span>
<span style="color: #8b2252;"> context,</span> <span style="color: #8b2252;"> context,</span>
@ -5380,14 +5380,14 @@ exposed in <code>qmckl.h</code> and <code>qmckl_f.F90</code>, but
</div> </div>
</div> </div>
<div id="outline-container-orge56f92e" class="outline-4"> <div id="outline-container-orgd2c0eeb" class="outline-4">
<h4 id="orge56f92e"><span class="section-number-4">3.1.7</span> Fortran interfaces (exposed in qmckl<sub>f.F90</sub>)</h4> <h4 id="orgd2c0eeb"><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 class="outline-text-4" id="text-3-1-7">
</div> </div>
</div> </div>
<div id="outline-container-org6944ca3" class="outline-4"> <div id="outline-container-org71c1a6c" class="outline-4">
<h4 id="org6944ca3"><span class="section-number-4">3.1.8</span> Performance</h4> <h4 id="org71c1a6c"><span class="section-number-4">3.1.8</span> Performance</h4>
<div class="outline-text-4" id="text-3-1-8"> <div class="outline-text-4" id="text-3-1-8">
<p> <p>
This function cannot be used by itself and is used in Sherman-Morrison with update splitting and Woodbury 3x3 and 2x2 This function cannot be used by itself and is used in Sherman-Morrison with update splitting and Woodbury 3x3 and 2x2
@ -5399,17 +5399,17 @@ with Sherman-Morrison and update splitting. Please look at the performance recco
</div> </div>
<div id="outline-container-orgf1ea209" class="outline-2"> <div id="outline-container-orga4cdf2d" class="outline-2">
<h2 id="orgf1ea209"><span class="section-number-2">4</span> Woodbury 2x2</h2> <h2 id="orga4cdf2d"><span class="section-number-2">4</span> Woodbury 2x2</h2>
<div class="outline-text-2" id="text-4"> <div class="outline-text-2" id="text-4">
</div> </div>
<div id="outline-container-org694ba28" class="outline-3"> <div id="outline-container-org3930e2f" class="outline-3">
<h3 id="org694ba28"><span class="section-number-3">4.1</span> <code>qmckl_woodbury_2x2</code></h3> <h3 id="org3930e2f"><span class="section-number-3">4.1</span> <code>qmckl_woodbury_2x2</code></h3>
<div class="outline-text-3" id="text-4-1"> <div class="outline-text-3" id="text-4-1">
</div> </div>
<div id="outline-container-org9fd0be1" class="outline-4"> <div id="outline-container-orge6ab90a" class="outline-4">
<h4 id="org9fd0be1"><span class="section-number-4">4.1.1</span> Introduction</h4> <h4 id="orge6ab90a"><span class="section-number-4">4.1.1</span> Introduction</h4>
<div class="outline-text-4" id="text-4-1-1"> <div class="outline-text-4" id="text-4-1-1">
<p> <p>
The Woodbury 2x2 kernel. It is used to apply two rank-1 updates at once. The formula used in The Woodbury 2x2 kernel. It is used to apply two rank-1 updates at once. The formula used in
@ -5433,10 +5433,10 @@ from applying the updates to the original matrix.
</div> </div>
</div> </div>
<div id="outline-container-org93c957a" class="outline-4"> <div id="outline-container-orge1af751" class="outline-4">
<h4 id="org93c957a"><span class="section-number-4">4.1.2</span> API</h4> <h4 id="orge1af751"><span class="section-number-4">4.1.2</span> API</h4>
<div class="outline-text-4" id="text-4-1-2"> <div class="outline-text-4" id="text-4-1-2">
<table id="org9292468" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> <table id="org7bad8be" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup> <colgroup>
@ -5517,8 +5517,8 @@ from applying the updates to the original matrix.
</div> </div>
</div> </div>
<div id="outline-container-org521c24e" class="outline-4"> <div id="outline-container-org074ed60" class="outline-4">
<h4 id="org521c24e"><span class="section-number-4">4.1.3</span> Requirements</h4> <h4 id="org074ed60"><span class="section-number-4">4.1.3</span> Requirements</h4>
<div class="outline-text-4" id="text-4-1-3"> <div class="outline-text-4" id="text-4-1-3">
<ul class="org-ul"> <ul class="org-ul">
<li><code>context</code> is not <code>qmckl_null_context</code></li> <li><code>context</code> is not <code>qmckl_null_context</code></li>
@ -5532,8 +5532,8 @@ from applying the updates to the original matrix.
</div> </div>
</div> </div>
<div id="outline-container-org3459625" class="outline-4"> <div id="outline-container-orgd6b4630" class="outline-4">
<h4 id="org3459625"><span class="section-number-4">4.1.4</span> Pedagogical kernel source (in Fortran)</h4> <h4 id="orgd6b4630"><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"> <div class="outline-text-4" id="text-4-1-4">
<p> <p>
The following source code written in Fortran is inteded to illustrate how the kernel works. Even though the kernel is The following source code written in Fortran is inteded to illustrate how the kernel works. Even though the kernel is
@ -5669,8 +5669,8 @@ not be used in real workloads.
</div> </div>
</div> </div>
<div id="outline-container-org2ba0505" class="outline-5"> <div id="outline-container-org1bf327d" class="outline-5">
<h5 id="org2ba0505"><span class="section-number-5">4.1.4.1</span> C interface (not directly exposed)</h5> <h5 id="org1bf327d"><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"> <div class="outline-text-5" id="text-4-1-4-1">
<p> <p>
The function <code>qmckl_sm_splitting_core_doc</code> makes sure that The function <code>qmckl_sm_splitting_core_doc</code> makes sure that
@ -5683,8 +5683,8 @@ exposed in <code>qmckl.h</code> and <code>qmckl_f.F90</code>, but
</div> </div>
</div> </div>
<div id="outline-container-orgd02056a" class="outline-4"> <div id="outline-container-orgdedb90e" class="outline-4">
<h4 id="orgd02056a"><span class="section-number-4">4.1.5</span> C headers (exposed in qmckl.h)</h4> <h4 id="orgdedb90e"><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="outline-text-4" id="text-4-1-5">
<div class="org-src-container"> <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> ( <pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_woodbury_2x2</span> (
@ -5727,8 +5727,8 @@ exposed in <code>qmckl.h</code> and <code>qmckl_f.F90</code>, but
</div> </div>
</div> </div>
<div id="outline-container-org00ec926" class="outline-4"> <div id="outline-container-orgff2e594" class="outline-4">
<h4 id="org00ec926"><span class="section-number-4">4.1.6</span> C sources</h4> <h4 id="orgff2e594"><span class="section-number-4">4.1.6</span> C sources</h4>
<div class="outline-text-4" id="text-4-1-6"> <div class="outline-text-4" id="text-4-1-6">
<div class="org-src-container"> <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>, <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>,
@ -5812,7 +5812,7 @@ exposed in <code>qmckl.h</code> and <code>qmckl_f.F90</code>, but
</div> </div>
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-c" id="orgbc978d6"><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="org402ae3b"><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;">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;">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>, <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>,
@ -7762,14 +7762,14 @@ exposed in <code>qmckl.h</code> and <code>qmckl_f.F90</code>, but
</div> </div>
</div> </div>
<div id="outline-container-orgacb1f7f" class="outline-4"> <div id="outline-container-org95bf6e2" class="outline-4">
<h4 id="orgacb1f7f"><span class="section-number-4">4.1.7</span> Fortran interfaces (exposed in qmckl<sub>f.F90</sub>)</h4> <h4 id="org95bf6e2"><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 class="outline-text-4" id="text-4-1-7">
</div> </div>
</div> </div>
<div id="outline-container-org3c0942c" class="outline-4"> <div id="outline-container-org1bbd8dd" class="outline-4">
<h4 id="org3c0942c"><span class="section-number-4">4.1.8</span> Performance</h4> <h4 id="org1bbd8dd"><span class="section-number-4">4.1.8</span> Performance</h4>
<div class="outline-text-4" id="text-4-1-8"> <div class="outline-text-4" id="text-4-1-8">
<p> <p>
This function is most efficient when used in cases where there are only 2 rank-1 updates and This function is most efficient when used in cases where there are only 2 rank-1 updates and
@ -7778,8 +7778,8 @@ it is sure they will not result in a singular matrix.
</div> </div>
</div> </div>
<div id="outline-container-orgbd2fdbb" class="outline-4"> <div id="outline-container-org8b15b14" class="outline-4">
<h4 id="orgbd2fdbb"><span class="section-number-4">4.1.9</span> Tests</h4> <h4 id="org8b15b14"><span class="section-number-4">4.1.9</span> Tests</h4>
<div class="outline-text-4" id="text-4-1-9"> <div class="outline-text-4" id="text-4-1-9">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-c"><span style="color: #0000ff;">assert</span>(Updates2 != <span style="color: #008b8b;">NULL</span>); <pre class="src src-c"><span style="color: #0000ff;">assert</span>(Updates2 != <span style="color: #008b8b;">NULL</span>);
@ -7816,17 +7816,17 @@ rc = QMCKL_SUCCESS;
</div> </div>
<div id="outline-container-org4adf35d" class="outline-2"> <div id="outline-container-orga7f5d38" class="outline-2">
<h2 id="org4adf35d"><span class="section-number-2">5</span> Woodbury 3x3</h2> <h2 id="orga7f5d38"><span class="section-number-2">5</span> Woodbury 3x3</h2>
<div class="outline-text-2" id="text-5"> <div class="outline-text-2" id="text-5">
</div> </div>
<div id="outline-container-org889a95f" class="outline-3"> <div id="outline-container-orgefe21ed" class="outline-3">
<h3 id="org889a95f"><span class="section-number-3">5.1</span> <code>qmckl_woodbury_3x3</code></h3> <h3 id="orgefe21ed"><span class="section-number-3">5.1</span> <code>qmckl_woodbury_3x3</code></h3>
<div class="outline-text-3" id="text-5-1"> <div class="outline-text-3" id="text-5-1">
</div> </div>
<div id="outline-container-orgb5b3df5" class="outline-4"> <div id="outline-container-org6331646" class="outline-4">
<h4 id="orgb5b3df5"><span class="section-number-4">5.1.1</span> Introduction</h4> <h4 id="org6331646"><span class="section-number-4">5.1.1</span> Introduction</h4>
<div class="outline-text-4" id="text-5-1-1"> <div class="outline-text-4" id="text-5-1-1">
<p> <p>
The Woodbury 3x3 kernel. It is used to apply two rank-1 updates at once. The formula used in The Woodbury 3x3 kernel. It is used to apply two rank-1 updates at once. The formula used in
@ -7850,10 +7850,10 @@ from applying the updates to the original matrix.
</div> </div>
</div> </div>
<div id="outline-container-org3fc709c" class="outline-4"> <div id="outline-container-org7c8edd2" class="outline-4">
<h4 id="org3fc709c"><span class="section-number-4">5.1.2</span> API</h4> <h4 id="org7c8edd2"><span class="section-number-4">5.1.2</span> API</h4>
<div class="outline-text-4" id="text-5-1-2"> <div class="outline-text-4" id="text-5-1-2">
<table id="orgffc948a" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> <table id="org27023d9" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup> <colgroup>
@ -7934,8 +7934,8 @@ from applying the updates to the original matrix.
</div> </div>
</div> </div>
<div id="outline-container-orgad05b5a" class="outline-4"> <div id="outline-container-orgb7e3e11" class="outline-4">
<h4 id="orgad05b5a"><span class="section-number-4">5.1.3</span> Requirements</h4> <h4 id="orgb7e3e11"><span class="section-number-4">5.1.3</span> Requirements</h4>
<div class="outline-text-4" id="text-5-1-3"> <div class="outline-text-4" id="text-5-1-3">
<ul class="org-ul"> <ul class="org-ul">
<li><code>context</code> is not <code>qmckl_null_context</code></li> <li><code>context</code> is not <code>qmckl_null_context</code></li>
@ -7949,8 +7949,8 @@ from applying the updates to the original matrix.
</div> </div>
</div> </div>
<div id="outline-container-org24ca3c7" class="outline-4"> <div id="outline-container-org5daafc7" class="outline-4">
<h4 id="org24ca3c7"><span class="section-number-4">5.1.4</span> Pedagogical kernel source (in Fortran)</h4> <h4 id="org5daafc7"><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"> <div class="outline-text-4" id="text-5-1-4">
<p> <p>
The following source code written in Fortran is inteded to illustrate how the kernel works. Even though the kernel is The following source code written in Fortran is inteded to illustrate how the kernel works. Even though the kernel is
@ -8095,8 +8095,8 @@ not be used in real workloads.
</div> </div>
</div> </div>
<div id="outline-container-org3d7ac16" class="outline-5"> <div id="outline-container-org80efd6b" class="outline-5">
<h5 id="org3d7ac16"><span class="section-number-5">5.1.4.1</span> C interface (not directly exposed)</h5> <h5 id="org80efd6b"><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"> <div class="outline-text-5" id="text-5-1-4-1">
<p> <p>
The function <code>qmckl_sm_splitting_core_doc</code> makes sure that The function <code>qmckl_sm_splitting_core_doc</code> makes sure that
@ -8109,8 +8109,8 @@ exposed in <code>qmckl.h</code> and <code>qmckl_f.F90</code>, but
</div> </div>
</div> </div>
<div id="outline-container-org9dc8dd0" class="outline-4"> <div id="outline-container-org7773f8b" class="outline-4">
<h4 id="org9dc8dd0"><span class="section-number-4">5.1.5</span> C headers (exposed in qmckl.h)</h4> <h4 id="org7773f8b"><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="outline-text-4" id="text-5-1-5">
<div class="org-src-container"> <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> ( <pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_woodbury_3x3</span> (
@ -8153,8 +8153,8 @@ exposed in <code>qmckl.h</code> and <code>qmckl_f.F90</code>, but
</div> </div>
</div> </div>
<div id="outline-container-org79af363" class="outline-4"> <div id="outline-container-org66b33ec" class="outline-4">
<h4 id="org79af363"><span class="section-number-4">5.1.6</span> C sources</h4> <h4 id="org66b33ec"><span class="section-number-4">5.1.6</span> C sources</h4>
<div class="outline-text-4" id="text-5-1-6"> <div class="outline-text-4" id="text-5-1-6">
<div class="org-src-container"> <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>, <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>,
@ -8264,7 +8264,7 @@ exposed in <code>qmckl.h</code> and <code>qmckl_f.F90</code>, but
</div> </div>
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-c" id="orgc8bc47d"><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="org4ee34be"><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;">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;">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>, <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>,
@ -10634,14 +10634,14 @@ exposed in <code>qmckl.h</code> and <code>qmckl_f.F90</code>, but
</div> </div>
</div> </div>
<div id="outline-container-org487ea1b" class="outline-4"> <div id="outline-container-orgc44118a" class="outline-4">
<h4 id="org487ea1b"><span class="section-number-4">5.1.7</span> Fortran interfaces (exposed in qmckl<sub>f.F90</sub>)</h4> <h4 id="orgc44118a"><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 class="outline-text-4" id="text-5-1-7">
</div> </div>
</div> </div>
<div id="outline-container-org87dc423" class="outline-4"> <div id="outline-container-orgc21b317" class="outline-4">
<h4 id="org87dc423"><span class="section-number-4">5.1.8</span> Performance</h4> <h4 id="orgc21b317"><span class="section-number-4">5.1.8</span> Performance</h4>
<div class="outline-text-4" id="text-5-1-8"> <div class="outline-text-4" id="text-5-1-8">
<p> <p>
This function is most efficient when used in cases where there are only 3 rank-1 updates and This function is most efficient when used in cases where there are only 3 rank-1 updates and
@ -10650,8 +10650,8 @@ it is sure they will not result in a singular matrix.
</div> </div>
</div> </div>
<div id="outline-container-org06b53f0" class="outline-4"> <div id="outline-container-orgf7e6473" class="outline-4">
<h4 id="org06b53f0"><span class="section-number-4">5.1.9</span> Tests</h4> <h4 id="orgf7e6473"><span class="section-number-4">5.1.9</span> Tests</h4>
<div class="outline-text-4" id="text-5-1-9"> <div class="outline-text-4" id="text-5-1-9">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-c"><span style="color: #0000ff;">assert</span>(Updates3 != <span style="color: #008b8b;">NULL</span>); <pre class="src src-c"><span style="color: #0000ff;">assert</span>(Updates3 != <span style="color: #008b8b;">NULL</span>);
@ -10688,17 +10688,17 @@ rc = QMCKL_SUCCESS;
</div> </div>
<div id="outline-container-org65f5818" class="outline-2"> <div id="outline-container-orgad4a233" class="outline-2">
<h2 id="org65f5818"><span class="section-number-2">6</span> Sherman-Morrison with Slagel Splitting</h2> <h2 id="orgad4a233"><span class="section-number-2">6</span> Sherman-Morrison with Slagel Splitting</h2>
<div class="outline-text-2" id="text-6"> <div class="outline-text-2" id="text-6">
</div> </div>
<div id="outline-container-orgb66af79" class="outline-3"> <div id="outline-container-org94e2b95" class="outline-3">
<h3 id="orgb66af79"><span class="section-number-3">6.1</span> <code>qmckl_sm_splitting</code></h3> <h3 id="org94e2b95"><span class="section-number-3">6.1</span> <code>qmckl_sm_splitting</code></h3>
<div class="outline-text-3" id="text-6-1"> <div class="outline-text-3" id="text-6-1">
</div> </div>
<div id="outline-container-orgb11b7a1" class="outline-4"> <div id="outline-container-org9bc6cc4" class="outline-4">
<h4 id="orgb11b7a1"><span class="section-number-4">6.1.1</span> Introduction</h4> <h4 id="org9bc6cc4"><span class="section-number-4">6.1.1</span> Introduction</h4>
<div class="outline-text-4" id="text-6-1-1"> <div class="outline-text-4" id="text-6-1-1">
<p> <p>
This is a variation on the 'Naive' Sherman-Morrison kernel. Whenever the denominator \(1+v_j^T S^{-1} u_j\) in This is a variation on the 'Naive' Sherman-Morrison kernel. Whenever the denominator \(1+v_j^T S^{-1} u_j\) in
@ -10722,10 +10722,10 @@ from applying the updates to the original matrix.
</div> </div>
</div> </div>
<div id="outline-container-org4344a66" class="outline-4"> <div id="outline-container-org21a053c" class="outline-4">
<h4 id="org4344a66"><span class="section-number-4">6.1.2</span> API</h4> <h4 id="org21a053c"><span class="section-number-4">6.1.2</span> API</h4>
<div class="outline-text-4" id="text-6-1-2"> <div class="outline-text-4" id="text-6-1-2">
<table id="org6e16b9b" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides"> <table id="org9cbd828" border="2" cellspacing="0" cellpadding="6" rules="groups" frame="hsides">
<colgroup> <colgroup>
@ -10813,8 +10813,8 @@ from applying the updates to the original matrix.
</div> </div>
</div> </div>
<div id="outline-container-org7a9be65" class="outline-4"> <div id="outline-container-orgfbd795d" class="outline-4">
<h4 id="org7a9be65"><span class="section-number-4">6.1.3</span> Requirements</h4> <h4 id="orgfbd795d"><span class="section-number-4">6.1.3</span> Requirements</h4>
<div class="outline-text-4" id="text-6-1-3"> <div class="outline-text-4" id="text-6-1-3">
<ul class="org-ul"> <ul class="org-ul">
<li><code>context</code> is not <code>QMCKL_NULL_CONTEXT</code></li> <li><code>context</code> is not <code>QMCKL_NULL_CONTEXT</code></li>
@ -10829,8 +10829,8 @@ from applying the updates to the original matrix.
</div> </div>
</div> </div>
<div id="outline-container-org26939ab" class="outline-4"> <div id="outline-container-org2a6211b" class="outline-4">
<h4 id="org26939ab"><span class="section-number-4">6.1.4</span> Pedagogical kernel source (in Fortran)</h4> <h4 id="org2a6211b"><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"> <div class="outline-text-4" id="text-6-1-4">
<p> <p>
The following source code written in Fortran is inteded to illustrate how the kernel works. Even though the kernel is The following source code written in Fortran is inteded to illustrate how the kernel works. Even though the kernel is
@ -10909,8 +10909,8 @@ not be used in real workloads.
</div> </div>
</div> </div>
<div id="outline-container-org7b73bc6" class="outline-5"> <div id="outline-container-org0713d08" class="outline-5">
<h5 id="org7b73bc6"><span class="section-number-5">6.1.4.1</span> C interface to the pedagogical kernel (not directly exposed)</h5> <h5 id="org0713d08"><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"> <div class="outline-text-5" id="text-6-1-4-1">
<p> <p>
The following Fortran function <code>qmckl_sm_splitting_core_doc</code> makes sure The following Fortran function <code>qmckl_sm_splitting_core_doc</code> makes sure
@ -10923,8 +10923,8 @@ for C users and in the module file 'qmckl<sub>f.F90</sub>' for Fortran users.
</div> </div>
</div> </div>
<div id="outline-container-org22bba00" class="outline-4"> <div id="outline-container-org8b40f6f" class="outline-4">
<h4 id="org22bba00"><span class="section-number-4">6.1.5</span> C headers (exposed in qmckl.h)</h4> <h4 id="org8b40f6f"><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="outline-text-4" id="text-6-1-5">
<div class="org-src-container"> <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> ( <pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <span style="color: #0000ff;">qmckl_sm_splitting</span> (
@ -10970,11 +10970,11 @@ for C users and in the module file 'qmckl<sub>f.F90</sub>' for Fortran users.
</div> </div>
</div> </div>
<div id="outline-container-org95c5d0b" class="outline-4"> <div id="outline-container-org25026fa" class="outline-4">
<h4 id="org95c5d0b"><span class="section-number-4">6.1.6</span> C source</h4> <h4 id="org25026fa"><span class="section-number-4">6.1.6</span> C source</h4>
<div class="outline-text-4" id="text-6-1-6"> <div class="outline-text-4" id="text-6-1-6">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-python" id="orgd8e143b"><span style="color: #a0522d;">text</span>=<span style="color: #8b2252;">"""</span> <pre class="src src-python" id="org29be192"><span style="color: #a0522d;">text</span>=<span style="color: #8b2252;">"""</span>
<span style="color: #8b2252;">case {Dim}: {</span> <span style="color: #8b2252;">case {Dim}: {</span>
<span style="color: #8b2252;"> rc = qmckl_sm_splitting_core_{Dim}(</span> <span style="color: #8b2252;"> rc = qmckl_sm_splitting_core_{Dim}(</span>
<span style="color: #8b2252;"> context,</span> <span style="color: #8b2252;"> context,</span>
@ -11377,14 +11377,14 @@ for C users and in the module file 'qmckl<sub>f.F90</sub>' for Fortran users.
</div> </div>
</div> </div>
<div id="outline-container-org9927a46" class="outline-4"> <div id="outline-container-orgb11a8c6" class="outline-4">
<h4 id="org9927a46"><span class="section-number-4">6.1.7</span> Fortran interfaces (exposed in qmckl<sub>f.F90</sub>)</h4> <h4 id="orgb11a8c6"><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 class="outline-text-4" id="text-6-1-7">
</div> </div>
</div> </div>
<div id="outline-container-org748244c" class="outline-4"> <div id="outline-container-org278e932" class="outline-4">
<h4 id="org748244c"><span class="section-number-4">6.1.8</span> Performance&#x2026;</h4> <h4 id="org278e932"><span class="section-number-4">6.1.8</span> Performance&#x2026;</h4>
<div class="outline-text-4" id="text-6-1-8"> <div class="outline-text-4" id="text-6-1-8">
<p> <p>
This kernel performs best when there are 2 or more rank-1 update cycles and fail-rate is high. This kernel performs best when there are 2 or more rank-1 update cycles and fail-rate is high.
@ -11392,8 +11392,8 @@ This kernel performs best when there are 2 or more rank-1 update cycles and fail
</div> </div>
</div> </div>
<div id="outline-container-org4e55568" class="outline-4"> <div id="outline-container-org67fa755" class="outline-4">
<h4 id="org4e55568"><span class="section-number-4">6.1.9</span> Test</h4> <h4 id="org67fa755"><span class="section-number-4">6.1.9</span> Test</h4>
<div class="outline-text-4" id="text-6-1-9"> <div class="outline-text-4" id="text-6-1-9">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-c"><span style="color: #0000ff;">assert</span>(Updates3 != <span style="color: #008b8b;">NULL</span>); <pre class="src src-c"><span style="color: #0000ff;">assert</span>(Updates3 != <span style="color: #008b8b;">NULL</span>);
@ -11431,8 +11431,8 @@ rc = QMCKL_SUCCESS;
<div id="outline-container-org62cff63" class="outline-2"> <div id="outline-container-org8afd36f" class="outline-2">
<h2 id="org62cff63"><span class="section-number-2">7</span> End of files</h2> <h2 id="org8afd36f"><span class="section-number-2">7</span> End of files</h2>
<div class="outline-text-2" id="text-7"> <div class="outline-text-2" id="text-7">
<div class="org-src-container"> <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); <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);
@ -11446,7 +11446,7 @@ rc = QMCKL_SUCCESS;
</div> </div>
<div id="postamble" class="status"> <div id="postamble" class="status">
<p class="author">Author: TREX CoE</p> <p class="author">Author: TREX CoE</p>
<p class="date">Created: 2024-03-29 Fri 08:29</p> <p class="date">Created: 2024-04-10 Wed 14:39</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p> <p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div> </div>
</body> </body>

View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head> <head>
<!-- 2024-03-29 Fri 08:29 --> <!-- 2024-04-10 Wed 14:39 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Data for Tests</title> <title>Data for Tests</title>
@ -246,27 +246,27 @@ for the JavaScript code in this tag.
<h2>Table of Contents</h2> <h2>Table of Contents</h2>
<div id="text-table-of-contents"> <div id="text-table-of-contents">
<ul> <ul>
<li><a href="#orgbf44f80">1. CHBrClF</a> <li><a href="#org482c51c">1. CHBrClF</a>
<ul> <ul>
<li><a href="#org80493bf">1.1. XYZ coordinates</a></li> <li><a href="#orgc54f2e3">1.1. XYZ coordinates</a></li>
<li><a href="#org8291682">1.2. Atomic basis set</a></li> <li><a href="#org0136ea7">1.2. Atomic basis set</a></li>
<li><a href="#org29174c7">1.3. Molecular orbitals</a></li> <li><a href="#orgeb47057">1.3. Molecular orbitals</a></li>
<li><a href="#org105f761">1.4. Electron coordinates</a></li> <li><a href="#orgc701bee">1.4. Electron coordinates</a></li>
</ul> </ul>
</li> </li>
<li><a href="#org00e0638">2. N2</a> <li><a href="#org1d31a09">2. N2</a>
<ul> <ul>
<li><a href="#org1b1b762">2.1. XYZ coordinates</a></li> <li><a href="#org8c5cad6">2.1. XYZ coordinates</a></li>
<li><a href="#orgd4b7940">2.2. Electron coordinates</a></li> <li><a href="#org373a285">2.2. Electron coordinates</a></li>
<li><a href="#orgd75c995">2.3. Jastrow related data</a></li> <li><a href="#orgf204a48">2.3. Jastrow related data</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
</div> </div>
</div> </div>
<div id="outline-container-orgbf44f80" class="outline-2"> <div id="outline-container-org482c51c" class="outline-2">
<h2 id="orgbf44f80"><span class="section-number-2">1</span> CHBrClF</h2> <h2 id="org482c51c"><span class="section-number-2">1</span> CHBrClF</h2>
<div class="outline-text-2" id="text-1"> <div class="outline-text-2" id="text-1">
<p> <p>
This test is the all-electron Hartree-Fock wave function of CHClBr, This test is the all-electron Hartree-Fock wave function of CHClBr,
@ -350,8 +350,8 @@ and with a high maximum angular momentum.
</div> </div>
<div id="outline-container-org80493bf" class="outline-3"> <div id="outline-container-orgc54f2e3" class="outline-3">
<h3 id="org80493bf"><span class="section-number-3">1.1</span> XYZ coordinates</h3> <h3 id="orgc54f2e3"><span class="section-number-3">1.1</span> XYZ coordinates</h3>
<div class="outline-text-3" id="text-1-1"> <div class="outline-text-3" id="text-1-1">
<pre class="example"> <pre class="example">
5 5
@ -381,8 +381,8 @@ Nuclear coordinates are stored in atomic units in transposed format.
</div> </div>
</div> </div>
<div id="outline-container-org8291682" class="outline-3"> <div id="outline-container-org0136ea7" class="outline-3">
<h3 id="org8291682"><span class="section-number-3">1.2</span> Atomic basis set</h3> <h3 id="org0136ea7"><span class="section-number-3">1.2</span> Atomic basis set</h3>
<div class="outline-text-3" id="text-1-2"> <div class="outline-text-3" id="text-1-2">
<pre class="example"> <pre class="example">
HYDROGEN HYDROGEN
@ -1301,8 +1301,8 @@ F 1
</div> </div>
</div> </div>
<div id="outline-container-org29174c7" class="outline-3"> <div id="outline-container-orgeb47057" class="outline-3">
<h3 id="org29174c7"><span class="section-number-3">1.3</span> Molecular orbitals</h3> <h3 id="orgeb47057"><span class="section-number-3">1.3</span> Molecular orbitals</h3>
<div class="outline-text-3" id="text-1-3"> <div class="outline-text-3" id="text-1-3">
<div class="org-src-container"> <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) <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)
@ -60226,8 +60226,8 @@ F 1
</div> </div>
</div> </div>
<div id="outline-container-org105f761" class="outline-3"> <div id="outline-container-orgc701bee" class="outline-3">
<h3 id="org105f761"><span class="section-number-3">1.4</span> Electron coordinates</h3> <h3 id="orgc701bee"><span class="section-number-3">1.4</span> Electron coordinates</h3>
<div class="outline-text-3" id="text-1-4"> <div class="outline-text-3" id="text-1-4">
<p> <p>
Electron coordinates are stored in atomic units in normal format. Electron coordinates are stored in atomic units in normal format.
@ -60386,8 +60386,8 @@ Electron coordinates are stored in atomic units in normal format.
</div> </div>
</div> </div>
<div id="outline-container-org00e0638" class="outline-2"> <div id="outline-container-org1d31a09" class="outline-2">
<h2 id="org00e0638"><span class="section-number-2">2</span> N2</h2> <h2 id="org1d31a09"><span class="section-number-2">2</span> N2</h2>
<div class="outline-text-2" id="text-2"> <div class="outline-text-2" id="text-2">
<p> <p>
This test is mainly for the Jastrow factor and was supplied by This test is mainly for the Jastrow factor and was supplied by
@ -60428,8 +60428,8 @@ treated by pseudopotentials thus excluded from the actual calculation.
</table> </table>
</div> </div>
<div id="outline-container-org1b1b762" class="outline-3"> <div id="outline-container-org8c5cad6" class="outline-3">
<h3 id="org1b1b762"><span class="section-number-3">2.1</span> XYZ coordinates</h3> <h3 id="org8c5cad6"><span class="section-number-3">2.1</span> XYZ coordinates</h3>
<div class="outline-text-3" id="text-2-1"> <div class="outline-text-3" id="text-2-1">
<pre class="example"> <pre class="example">
2 2
@ -60456,8 +60456,8 @@ Nuclear coordinates are stored in atomic units in transposed format.
</div> </div>
</div> </div>
<div id="outline-container-orgd4b7940" class="outline-3"> <div id="outline-container-org373a285" class="outline-3">
<h3 id="orgd4b7940"><span class="section-number-3">2.2</span> Electron coordinates</h3> <h3 id="org373a285"><span class="section-number-3">2.2</span> Electron coordinates</h3>
<div class="outline-text-3" id="text-2-2"> <div class="outline-text-3" id="text-2-2">
<p> <p>
Electron coordinates are stored in atomic units in normal format. Electron coordinates are stored in atomic units in normal format.
@ -60486,8 +60486,8 @@ Electron coordinates are stored in atomic units in normal format.
</div> </div>
</div> </div>
<div id="outline-container-orgd75c995" class="outline-3"> <div id="outline-container-orgf204a48" class="outline-3">
<h3 id="orgd75c995"><span class="section-number-3">2.3</span> Jastrow related data</h3> <h3 id="orgf204a48"><span class="section-number-3">2.3</span> Jastrow related data</h3>
<div class="outline-text-3" id="text-2-3"> <div class="outline-text-3" id="text-2-3">
<p> <p>
This test is mainly for the Jastrow factor and was supplied by This test is mainly for the Jastrow factor and was supplied by
@ -60586,7 +60586,7 @@ Ramon Panades Baruetta.
</div> </div>
</div> </div>
<div id="postamble" class="status"> <div id="postamble" class="status">
<p class="date">Created: 2024-03-29 Fri 08:29</p> <p class="date">Created: 2024-04-10 Wed 14:39</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p> <p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div> </div>
</body> </body>

View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head> <head>
<!-- 2024-03-29 Fri 08:29 --> <!-- 2024-04-10 Wed 14:39 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="viewport" content="width=device-width, initial-scale=1" />
<title>TREXIO I/O library</title> <title>TREXIO I/O library</title>
@ -324,53 +324,53 @@ for the JavaScript code in this tag.
<h2>Table of Contents</h2> <h2>Table of Contents</h2>
<div id="text-table-of-contents"> <div id="text-table-of-contents">
<ul> <ul>
<li><a href="#org3c0c91f">1. Local functions</a> <li><a href="#org6bfd9ff">1. Local functions</a>
<ul> <ul>
<li><a href="#org6fd73b4">1.1. Open file</a></li> <li><a href="#orgf9421ab">1.1. Open file</a></li>
<li><a href="#orgadd994d">1.2. Electron</a></li> <li><a href="#orgdd1c622">1.2. Electron</a></li>
<li><a href="#orgd498438">1.3. Nucleus</a> <li><a href="#org68d68d6">1.3. Nucleus</a>
<ul> <ul>
<li><a href="#org7b5507e">1.3.1. Number of nuclei</a></li> <li><a href="#org7749f1b">1.3.1. Number of nuclei</a></li>
<li><a href="#org212bfe8">1.3.2. Nuclear charges</a></li> <li><a href="#orgbe9e0cb">1.3.2. Nuclear charges</a></li>
<li><a href="#orge730c14">1.3.3. Nuclear coordinates</a></li> <li><a href="#orgc60777f">1.3.3. Nuclear coordinates</a></li>
</ul> </ul>
</li> </li>
<li><a href="#orgf636f8c">1.4. Basis set and AOs</a> <li><a href="#orgff90674">1.4. Basis set and AOs</a>
<ul> <ul>
<li><a href="#orgd56959d">1.4.1. Basis set type</a></li> <li><a href="#org7a3529a">1.4.1. Basis set type</a></li>
<li><a href="#orgf0cdc44">1.4.2. Number of shells</a></li> <li><a href="#orgff8c99b">1.4.2. Number of shells</a></li>
<li><a href="#org532d3d7">1.4.3. Number of primitives</a></li> <li><a href="#org283a1e7">1.4.3. Number of primitives</a></li>
<li><a href="#orgd23c0f7">1.4.4. Number of atomic orbitals</a></li> <li><a href="#org0b75ec8">1.4.4. Number of atomic orbitals</a></li>
<li><a href="#org2153e6c">1.4.5. Nucleus<sub>index</sub> array</a></li> <li><a href="#orgfca4425">1.4.5. Nucleus<sub>index</sub> array</a></li>
<li><a href="#org8f0471b">1.4.6. Number of shells per nucleus</a></li> <li><a href="#org39f6d09">1.4.6. Number of shells per nucleus</a></li>
<li><a href="#orgf381256">1.4.7. Angular momentum</a></li> <li><a href="#orgb2b0a36">1.4.7. Angular momentum</a></li>
<li><a href="#org8b7e21e">1.4.8. Number of primitives per shell</a></li> <li><a href="#org32b3ccd">1.4.8. Number of primitives per shell</a></li>
<li><a href="#orgdcbd78d">1.4.9. Indices of the primitives</a></li> <li><a href="#orgf1b130d">1.4.9. Indices of the primitives</a></li>
<li><a href="#org702d179">1.4.10. Normalization of the shells</a></li> <li><a href="#org8caac4c">1.4.10. Normalization of the shells</a></li>
<li><a href="#orgf0c9d13">1.4.11. Exponents</a></li> <li><a href="#org688b9cd">1.4.11. Exponents</a></li>
<li><a href="#orgab1ecb1">1.4.12. Coefficients</a></li> <li><a href="#org8412f7a">1.4.12. Coefficients</a></li>
<li><a href="#orge6892a9">1.4.13. Normalization of the primitivies</a></li> <li><a href="#orga399c6d">1.4.13. Normalization of the primitivies</a></li>
<li><a href="#org04f4e28">1.4.14. AO Normalization</a></li> <li><a href="#org91fa49a">1.4.14. AO Normalization</a></li>
</ul> </ul>
</li> </li>
<li><a href="#orgaf7093a">1.5. Molecular orbitals</a> <li><a href="#org30faeac">1.5. Molecular orbitals</a>
<ul> <ul>
<li><a href="#orgfb2f7f2">1.5.1. Number of MOs</a></li> <li><a href="#org9433bf2">1.5.1. Number of MOs</a></li>
<li><a href="#org8bb2104">1.5.2. MO coefficients</a></li> <li><a href="#org09ad567">1.5.2. MO coefficients</a></li>
</ul> </ul>
</li> </li>
<li><a href="#org2e2dcc3">1.6. <span class="todo TODO">TODO</span> ECP</a></li> <li><a href="#org7a83c32">1.6. <span class="todo TODO">TODO</span> ECP</a></li>
</ul> </ul>
</li> </li>
<li><a href="#orgc2c2334">2. Read everything</a></li> <li><a href="#org125eb64">2. Read everything</a></li>
<li><a href="#orgb26ee6a">3. Test</a> <li><a href="#orge3c9e17">3. Test</a>
<ul> <ul>
<li> <li>
<ul> <ul>
<li><a href="#org62c82c6">3.0.1. Electrons</a></li> <li><a href="#org3eb8bdb">3.0.1. Electrons</a></li>
<li><a href="#org652ea9a">3.0.2. Nuclei</a></li> <li><a href="#orgeceb2d5">3.0.2. Nuclei</a></li>
<li><a href="#orgc9288da">3.0.3. Atomic basis</a></li> <li><a href="#orgcfadbb4">3.0.3. Atomic basis</a></li>
<li><a href="#orga1f1295">3.0.4. MO Basis</a></li> <li><a href="#org7fa02bb">3.0.4. MO Basis</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
@ -379,8 +379,8 @@ for the JavaScript code in this tag.
</div> </div>
</div> </div>
<div id="outline-container-org3c0c91f" class="outline-2"> <div id="outline-container-org6bfd9ff" class="outline-2">
<h2 id="org3c0c91f"><span class="section-number-2">1</span> Local functions</h2> <h2 id="org6bfd9ff"><span class="section-number-2">1</span> Local functions</h2>
<div class="outline-text-2" id="text-1"> <div class="outline-text-2" id="text-1">
<p> <p>
Functions defined in this section are all local: they should not be Functions defined in this section are all local: they should not be
@ -403,8 +403,8 @@ In the functions defined in this section, we use as local variables
</ul> </ul>
</div> </div>
<div id="outline-container-org6fd73b4" class="outline-3"> <div id="outline-container-orgf9421ab" class="outline-3">
<h3 id="org6fd73b4"><span class="section-number-3">1.1</span> Open file</h3> <h3 id="orgf9421ab"><span class="section-number-3">1.1</span> Open file</h3>
<div class="outline-text-3" id="text-1-1"> <div class="outline-text-3" id="text-1-1">
<p> <p>
We first define a helper function to open a file by first trying to We first define a helper function to open a file by first trying to
@ -442,8 +442,8 @@ groups of data by passing the <code>trexio_t</code> handle.
</div> </div>
</div> </div>
<div id="outline-container-orgadd994d" class="outline-3"> <div id="outline-container-orgdd1c622" class="outline-3">
<h3 id="orgadd994d"><span class="section-number-3">1.2</span> Electron</h3> <h3 id="orgdd1c622"><span class="section-number-3">1.2</span> Electron</h3>
<div class="outline-text-3" id="text-1-2"> <div class="outline-text-3" id="text-1-2">
<p> <p>
In this section we read all the data into the electron data structure. In this section we read all the data into the electron data structure.
@ -494,8 +494,8 @@ We read the number of up-spin and down-spin electrons.
</div> </div>
</div> </div>
<div id="outline-container-orgd498438" class="outline-3"> <div id="outline-container-org68d68d6" class="outline-3">
<h3 id="orgd498438"><span class="section-number-3">1.3</span> Nucleus</h3> <h3 id="org68d68d6"><span class="section-number-3">1.3</span> Nucleus</h3>
<div class="outline-text-3" id="text-1-3"> <div class="outline-text-3" id="text-1-3">
<p> <p>
In this section we read the number of nuclei, the molecular geometry and nuclear charges. In this section we read the number of nuclei, the molecular geometry and nuclear charges.
@ -515,8 +515,8 @@ In this section we read the number of nuclei, the molecular geometry and nuclear
</div> </div>
</div> </div>
<div id="outline-container-org7b5507e" class="outline-4"> <div id="outline-container-org7749f1b" class="outline-4">
<h4 id="org7b5507e"><span class="section-number-4">1.3.1</span> Number of nuclei</h4> <h4 id="org7749f1b"><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="outline-text-4" id="text-1-3-1">
<div class="org-src-container"> <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; <pre class="src src-c"><span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">nucleus_num</span> = 0L;
@ -539,8 +539,8 @@ rc = qmckl_set_nucleus_num(context, nucleus_num);
</div> </div>
</div> </div>
<div id="outline-container-org212bfe8" class="outline-4"> <div id="outline-container-orgbe9e0cb" class="outline-4">
<h4 id="org212bfe8"><span class="section-number-4">1.3.2</span> Nuclear charges</h4> <h4 id="orgbe9e0cb"><span class="section-number-4">1.3.2</span> Nuclear charges</h4>
<div class="outline-text-4" id="text-1-3-2"> <div class="outline-text-4" id="text-1-3-2">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-c">{ <pre class="src src-c">{
@ -580,8 +580,8 @@ rc = qmckl_set_nucleus_num(context, nucleus_num);
</div> </div>
</div> </div>
<div id="outline-container-orge730c14" class="outline-4"> <div id="outline-container-orgc60777f" class="outline-4">
<h4 id="orge730c14"><span class="section-number-4">1.3.3</span> Nuclear coordinates</h4> <h4 id="orgc60777f"><span class="section-number-4">1.3.3</span> Nuclear coordinates</h4>
<div class="outline-text-4" id="text-1-3-3"> <div class="outline-text-4" id="text-1-3-3">
<p> <p>
Now, we read the molecular geometry. It is stored in normal format Now, we read the molecular geometry. It is stored in normal format
@ -636,8 +636,8 @@ in the TREXIO file (<code>'N'</code>), so it will be automatically transposed in
</div> </div>
</div> </div>
<div id="outline-container-orgf636f8c" class="outline-3"> <div id="outline-container-orgff90674" class="outline-3">
<h3 id="orgf636f8c"><span class="section-number-3">1.4</span> Basis set and AOs</h3> <h3 id="orgff90674"><span class="section-number-3">1.4</span> Basis set and AOs</h3>
<div class="outline-text-3" id="text-1-4"> <div class="outline-text-3" id="text-1-4">
<p> <p>
In this section we read the atomic basis set and atomic orbitals. In this section we read the atomic basis set and atomic orbitals.
@ -663,8 +663,8 @@ In this section we read the atomic basis set and atomic orbitals.
</div> </div>
</div> </div>
<div id="outline-container-orgd56959d" class="outline-4"> <div id="outline-container-org7a3529a" class="outline-4">
<h4 id="orgd56959d"><span class="section-number-4">1.4.1</span> Basis set type</h4> <h4 id="org7a3529a"><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="outline-text-4" id="text-1-4-1">
<div class="org-src-container"> <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 <pre class="src src-c"><span style="color: #483d8b;">#define</span> <span style="color: #a0522d;">MAX_STR_LEN</span> 1024
@ -695,8 +695,8 @@ In this section we read the atomic basis set and atomic orbitals.
</div> </div>
</div> </div>
<div id="outline-container-orgf0cdc44" class="outline-4"> <div id="outline-container-orgff8c99b" class="outline-4">
<h4 id="orgf0cdc44"><span class="section-number-4">1.4.2</span> Number of shells</h4> <h4 id="orgff8c99b"><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="outline-text-4" id="text-1-4-2">
<div class="org-src-container"> <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; <pre class="src src-c"><span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">shell_num</span> = 0L;
@ -720,8 +720,8 @@ rc = qmckl_set_ao_basis_shell_num(context, shell_num);
</div> </div>
</div> </div>
<div id="outline-container-org532d3d7" class="outline-4"> <div id="outline-container-org283a1e7" class="outline-4">
<h4 id="org532d3d7"><span class="section-number-4">1.4.3</span> Number of primitives</h4> <h4 id="org283a1e7"><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="outline-text-4" id="text-1-4-3">
<div class="org-src-container"> <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; <pre class="src src-c"><span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">prim_num</span> = 0L;
@ -745,8 +745,8 @@ rc = qmckl_set_ao_basis_prim_num(context, prim_num);
</div> </div>
</div> </div>
<div id="outline-container-orgd23c0f7" class="outline-4"> <div id="outline-container-org0b75ec8" class="outline-4">
<h4 id="orgd23c0f7"><span class="section-number-4">1.4.4</span> Number of atomic orbitals</h4> <h4 id="org0b75ec8"><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="outline-text-4" id="text-1-4-4">
<div class="org-src-container"> <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; <pre class="src src-c"><span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">ao_num</span> = 0;
@ -770,8 +770,8 @@ rc = qmckl_set_ao_basis_ao_num(context, ao_num);
</div> </div>
</div> </div>
<div id="outline-container-org2153e6c" class="outline-4"> <div id="outline-container-orgfca4425" class="outline-4">
<h4 id="org2153e6c"><span class="section-number-4">1.4.5</span> Nucleus<sub>index</sub> array</h4> <h4 id="orgfca4425"><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="outline-text-4" id="text-1-4-5">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-c">{ <pre class="src src-c">{
@ -851,8 +851,8 @@ rc = qmckl_set_ao_basis_ao_num(context, ao_num);
</div> </div>
</div> </div>
<div id="outline-container-org8f0471b" class="outline-4"> <div id="outline-container-org39f6d09" class="outline-4">
<h4 id="org8f0471b"><span class="section-number-4">1.4.6</span> Number of shells per nucleus</h4> <h4 id="org39f6d09"><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="outline-text-4" id="text-1-4-6">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-c">{ <pre class="src src-c">{
@ -937,8 +937,8 @@ rc = qmckl_set_ao_basis_ao_num(context, ao_num);
</div> </div>
</div> </div>
<div id="outline-container-orgf381256" class="outline-4"> <div id="outline-container-orgb2b0a36" class="outline-4">
<h4 id="orgf381256"><span class="section-number-4">1.4.7</span> Angular momentum</h4> <h4 id="orgb2b0a36"><span class="section-number-4">1.4.7</span> Angular momentum</h4>
<div class="outline-text-4" id="text-1-4-7"> <div class="outline-text-4" id="text-1-4-7">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-c">{ <pre class="src src-c">{
@ -983,8 +983,8 @@ rc = qmckl_set_ao_basis_ao_num(context, ao_num);
</div> </div>
</div> </div>
<div id="outline-container-org8b7e21e" class="outline-4"> <div id="outline-container-org32b3ccd" class="outline-4">
<h4 id="org8b7e21e"><span class="section-number-4">1.4.8</span> Number of primitives per shell</h4> <h4 id="org32b3ccd"><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="outline-text-4" id="text-1-4-8">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-c">{ <pre class="src src-c">{
@ -1070,8 +1070,8 @@ rc = qmckl_set_ao_basis_ao_num(context, ao_num);
</div> </div>
</div> </div>
<div id="outline-container-orgdcbd78d" class="outline-4"> <div id="outline-container-orgf1b130d" class="outline-4">
<h4 id="orgdcbd78d"><span class="section-number-4">1.4.9</span> Indices of the primitives</h4> <h4 id="orgf1b130d"><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="outline-text-4" id="text-1-4-9">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-c">{ <pre class="src src-c">{
@ -1151,8 +1151,8 @@ rc = qmckl_set_ao_basis_ao_num(context, ao_num);
</div> </div>
</div> </div>
<div id="outline-container-org702d179" class="outline-4"> <div id="outline-container-org8caac4c" class="outline-4">
<h4 id="org702d179"><span class="section-number-4">1.4.10</span> Normalization of the shells</h4> <h4 id="org8caac4c"><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="outline-text-4" id="text-1-4-10">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-c">{ <pre class="src src-c">{
@ -1197,8 +1197,8 @@ rc = qmckl_set_ao_basis_ao_num(context, ao_num);
</div> </div>
</div> </div>
<div id="outline-container-orgf0c9d13" class="outline-4"> <div id="outline-container-org688b9cd" class="outline-4">
<h4 id="orgf0c9d13"><span class="section-number-4">1.4.11</span> Exponents</h4> <h4 id="org688b9cd"><span class="section-number-4">1.4.11</span> Exponents</h4>
<div class="outline-text-4" id="text-1-4-11"> <div class="outline-text-4" id="text-1-4-11">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-c">{ <pre class="src src-c">{
@ -1243,8 +1243,8 @@ rc = qmckl_set_ao_basis_ao_num(context, ao_num);
</div> </div>
</div> </div>
<div id="outline-container-orgab1ecb1" class="outline-4"> <div id="outline-container-org8412f7a" class="outline-4">
<h4 id="orgab1ecb1"><span class="section-number-4">1.4.12</span> Coefficients</h4> <h4 id="org8412f7a"><span class="section-number-4">1.4.12</span> Coefficients</h4>
<div class="outline-text-4" id="text-1-4-12"> <div class="outline-text-4" id="text-1-4-12">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-c">{ <pre class="src src-c">{
@ -1289,8 +1289,8 @@ rc = qmckl_set_ao_basis_ao_num(context, ao_num);
</div> </div>
</div> </div>
<div id="outline-container-orge6892a9" class="outline-4"> <div id="outline-container-orga399c6d" class="outline-4">
<h4 id="orge6892a9"><span class="section-number-4">1.4.13</span> Normalization of the primitivies</h4> <h4 id="orga399c6d"><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="outline-text-4" id="text-1-4-13">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-c">{ <pre class="src src-c">{
@ -1335,8 +1335,8 @@ rc = qmckl_set_ao_basis_ao_num(context, ao_num);
</div> </div>
</div> </div>
<div id="outline-container-org04f4e28" class="outline-4"> <div id="outline-container-org91fa49a" class="outline-4">
<h4 id="org04f4e28"><span class="section-number-4">1.4.14</span> AO Normalization</h4> <h4 id="org91fa49a"><span class="section-number-4">1.4.14</span> AO Normalization</h4>
<div class="outline-text-4" id="text-1-4-14"> <div class="outline-text-4" id="text-1-4-14">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-c">{ <pre class="src src-c">{
@ -1391,8 +1391,8 @@ rc = qmckl_set_ao_basis_ao_num(context, ao_num);
</div> </div>
</div> </div>
</div> </div>
<div id="outline-container-orgaf7093a" class="outline-3"> <div id="outline-container-org30faeac" class="outline-3">
<h3 id="orgaf7093a"><span class="section-number-3">1.5</span> Molecular orbitals</h3> <h3 id="org30faeac"><span class="section-number-3">1.5</span> Molecular orbitals</h3>
<div class="outline-text-3" id="text-1-5"> <div class="outline-text-3" id="text-1-5">
<p> <p>
In this section we read the MO coefficients. In this section we read the MO coefficients.
@ -1418,8 +1418,8 @@ In this section we read the MO coefficients.
</div> </div>
</div> </div>
<div id="outline-container-orgfb2f7f2" class="outline-4"> <div id="outline-container-org9433bf2" class="outline-4">
<h4 id="orgfb2f7f2"><span class="section-number-4">1.5.1</span> Number of MOs</h4> <h4 id="org9433bf2"><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="outline-text-4" id="text-1-5-1">
<div class="org-src-container"> <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; <pre class="src src-c"><span style="color: #228b22;">int64_t</span> <span style="color: #a0522d;">mo_num</span> = 0L;
@ -1442,8 +1442,8 @@ rc = qmckl_set_mo_basis_mo_num(context, mo_num);
</div> </div>
</div> </div>
<div id="outline-container-org8bb2104" class="outline-4"> <div id="outline-container-org09ad567" class="outline-4">
<h4 id="org8bb2104"><span class="section-number-4">1.5.2</span> MO coefficients</h4> <h4 id="org09ad567"><span class="section-number-4">1.5.2</span> MO coefficients</h4>
<div class="outline-text-4" id="text-1-5-2"> <div class="outline-text-4" id="text-1-5-2">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-c">{ <pre class="src src-c">{
@ -1492,12 +1492,12 @@ rc = qmckl_set_mo_basis_mo_num(context, mo_num);
</div> </div>
</div> </div>
<div id="outline-container-org2e2dcc3" class="outline-3"> <div id="outline-container-org7a83c32" class="outline-3">
<h3 id="org2e2dcc3"><span class="section-number-3">1.6</span> <span class="todo TODO">TODO</span> ECP</h3> <h3 id="org7a83c32"><span class="section-number-3">1.6</span> <span class="todo TODO">TODO</span> ECP</h3>
</div> </div>
</div> </div>
<div id="outline-container-orgc2c2334" class="outline-2"> <div id="outline-container-org125eb64" class="outline-2">
<h2 id="orgc2c2334"><span class="section-number-2">2</span> Read everything</h2> <h2 id="org125eb64"><span class="section-number-2">2</span> Read everything</h2>
<div class="outline-text-2" id="text-2"> <div class="outline-text-2" id="text-2">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span> <pre class="src src-c"><span style="color: #228b22;">qmckl_exit_code</span>
@ -1572,8 +1572,8 @@ rc = qmckl_set_mo_basis_mo_num(context, mo_num);
</div> </div>
</div> </div>
<div id="outline-container-orgb26ee6a" class="outline-2"> <div id="outline-container-orge3c9e17" class="outline-2">
<h2 id="orgb26ee6a"><span class="section-number-2">3</span> Test</h2> <h2 id="orge3c9e17"><span class="section-number-2">3</span> Test</h2>
<div class="outline-text-2" id="text-3"> <div class="outline-text-2" id="text-3">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-c"><span style="color: #483d8b;">#ifdef</span> HAVE_TREXIO <pre class="src src-c"><span style="color: #483d8b;">#ifdef</span> HAVE_TREXIO
@ -1597,8 +1597,8 @@ rc = qmckl_trexio_read(context, filename, 255);
</div> </div>
</div> </div>
<div id="outline-container-org62c82c6" class="outline-4"> <div id="outline-container-org3eb8bdb" class="outline-4">
<h4 id="org62c82c6"><span class="section-number-4">3.0.1</span> Electrons</h4> <h4 id="org3eb8bdb"><span class="section-number-4">3.0.1</span> Electrons</h4>
<div class="outline-text-4" id="text-3-0-1"> <div class="outline-text-4" id="text-3-0-1">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-c">printf(<span style="color: #8b2252;">"Electrons\n"</span>); <pre class="src src-c">printf(<span style="color: #8b2252;">"Electrons\n"</span>);
@ -1616,8 +1616,8 @@ rc = qmckl_get_electron_down_num(context, &amp;dn_num);
</div> </div>
</div> </div>
<div id="outline-container-org652ea9a" class="outline-4"> <div id="outline-container-orgeceb2d5" class="outline-4">
<h4 id="org652ea9a"><span class="section-number-4">3.0.2</span> Nuclei</h4> <h4 id="orgeceb2d5"><span class="section-number-4">3.0.2</span> Nuclei</h4>
<div class="outline-text-4" id="text-3-0-2"> <div class="outline-text-4" id="text-3-0-2">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-c">printf(<span style="color: #8b2252;">"Nuclei\n"</span>); <pre class="src src-c">printf(<span style="color: #8b2252;">"Nuclei\n"</span>);
@ -1657,8 +1657,8 @@ coord = <span style="color: #008b8b;">NULL</span>;
</div> </div>
</div> </div>
<div id="outline-container-orgc9288da" class="outline-4"> <div id="outline-container-orgcfadbb4" class="outline-4">
<h4 id="orgc9288da"><span class="section-number-4">3.0.3</span> Atomic basis</h4> <h4 id="orgcfadbb4"><span class="section-number-4">3.0.3</span> Atomic basis</h4>
<div class="outline-text-4" id="text-3-0-3"> <div class="outline-text-4" id="text-3-0-3">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-c">printf(<span style="color: #8b2252;">"Atomic basis\n"</span>); <pre class="src src-c">printf(<span style="color: #8b2252;">"Atomic basis\n"</span>);
@ -1766,8 +1766,8 @@ prim_factor = <span style="color: #008b8b;">NULL</span>;
</div> </div>
</div> </div>
<div id="outline-container-orga1f1295" class="outline-4"> <div id="outline-container-org7fa02bb" class="outline-4">
<h4 id="orga1f1295"><span class="section-number-4">3.0.4</span> MO Basis</h4> <h4 id="org7fa02bb"><span class="section-number-4">3.0.4</span> MO Basis</h4>
<div class="outline-text-4" id="text-3-0-4"> <div class="outline-text-4" id="text-3-0-4">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-c">printf(<span style="color: #8b2252;">"MOs\n"</span>); <pre class="src src-c">printf(<span style="color: #8b2252;">"MOs\n"</span>);
@ -1798,7 +1798,7 @@ charge = <span style="color: #008b8b;">NULL</span>;
</div> </div>
<div id="postamble" class="status"> <div id="postamble" class="status">
<p class="author">Author: TREX CoE</p> <p class="author">Author: TREX CoE</p>
<p class="date">Created: 2024-03-29 Fri 08:29</p> <p class="date">Created: 2024-04-10 Wed 14:39</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p> <p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div> </div>
</body> </body>

View File

@ -3,7 +3,7 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head> <head>
<!-- 2024-03-29 Fri 08:29 --> <!-- 2024-04-10 Wed 14:39 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Verificarlo CI</title> <title>Verificarlo CI</title>
@ -324,22 +324,22 @@ for the JavaScript code in this tag.
<h2>Table of Contents</h2> <h2>Table of Contents</h2>
<div id="text-table-of-contents"> <div id="text-table-of-contents">
<ul> <ul>
<li><a href="#org5c7c78e">1. Verificarlo probes</a> <li><a href="#orgf481662">1. Verificarlo probes</a>
<ul> <ul>
<li><a href="#orgcb42723">1.1. Automatically initialize the <code>vfc_probe</code> object if <code>VFC_CI</code> is defined</a></li> <li><a href="#org0e76b28">1.1. Automatically initialize the <code>vfc_probe</code> object if <code>VFC_CI</code> is defined</a></li>
<li><a href="#org8881d39">1.2. Standard probe, without check</a></li> <li><a href="#orgfbf638c">1.2. Standard probe, without check</a></li>
<li><a href="#org96f80b9">1.3. Probe with absolute check</a></li> <li><a href="#org31c4b59">1.3. Probe with absolute check</a></li>
<li><a href="#org0e4bcb2">1.4. Probe with relative check</a></li> <li><a href="#org7646584">1.4. Probe with relative check</a></li>
<li><a href="#orgb4f5b1a">1.5. Automatically delete and dump the vfc<sub>probe</sub> object if <code>VFC_CI</code> is defined</a></li> <li><a href="#org4785cdc">1.5. Automatically delete and dump the vfc<sub>probe</sub> object if <code>VFC_CI</code> is defined</a></li>
</ul> </ul>
</li> </li>
<li><a href="#org5b7f0d1">2. Fortran wrappers</a></li> <li><a href="#orgf0f1e5b">2. Fortran wrappers</a></li>
</ul> </ul>
</div> </div>
</div> </div>
<div id="outline-container-org5c7c78e" class="outline-2"> <div id="outline-container-orgf481662" class="outline-2">
<h2 id="org5c7c78e"><span class="section-number-2">1</span> Verificarlo probes</h2> <h2 id="orgf481662"><span class="section-number-2">1</span> Verificarlo probes</h2>
<div class="outline-text-2" id="text-1"> <div class="outline-text-2" id="text-1">
<p> <p>
This file contains utility functions to enable the Verificarlo This file contains utility functions to enable the Verificarlo
@ -390,8 +390,8 @@ To learn more about Verificarlo CI :
</div> </div>
<div id="outline-container-orgcb42723" class="outline-3"> <div id="outline-container-org0e76b28" class="outline-3">
<h3 id="orgcb42723"><span class="section-number-3">1.1</span> Automatically initialize the <code>vfc_probe</code> object if <code>VFC_CI</code> is defined</h3> <h3 id="org0e76b28"><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="outline-text-3" id="text-1-1">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-c"><span style="color: #228b22;">void</span> <span style="color: #0000ff;">qmckl_init_probes</span>(); <pre class="src src-c"><span style="color: #228b22;">void</span> <span style="color: #0000ff;">qmckl_init_probes</span>();
@ -409,8 +409,8 @@ To learn more about Verificarlo CI :
</div> </div>
</div> </div>
<div id="outline-container-org8881d39" class="outline-3"> <div id="outline-container-orgfbf638c" class="outline-3">
<h3 id="org8881d39"><span class="section-number-3">1.2</span> Standard probe, without check</h3> <h3 id="orgfbf638c"><span class="section-number-3">1.2</span> Standard probe, without check</h3>
<div class="outline-text-3" id="text-1-2"> <div class="outline-text-3" id="text-1-2">
<ul class="org-ul"> <ul class="org-ul">
<li>if <code>VFC_CI</code> is defined, place a standard probe</li> <li>if <code>VFC_CI</code> is defined, place a standard probe</li>
@ -445,8 +445,8 @@ if <code>VFC_CI</code> is undefined, return <code>false</code> (no error)
</div> </div>
</div> </div>
<div id="outline-container-org96f80b9" class="outline-3"> <div id="outline-container-org31c4b59" class="outline-3">
<h3 id="org96f80b9"><span class="section-number-3">1.3</span> Probe with absolute check</h3> <h3 id="org31c4b59"><span class="section-number-3">1.3</span> Probe with absolute check</h3>
<div class="outline-text-3" id="text-1-3"> <div class="outline-text-3" id="text-1-3">
<ul class="org-ul"> <ul class="org-ul">
<li>if <code>VFC_CI</code> is defined, place a probe with an absolute check</li> <li>if <code>VFC_CI</code> is defined, place a probe with an absolute check</li>
@ -486,8 +486,8 @@ and accuracy
</div> </div>
</div> </div>
<div id="outline-container-org0e4bcb2" class="outline-3"> <div id="outline-container-org7646584" class="outline-3">
<h3 id="org0e4bcb2"><span class="section-number-3">1.4</span> Probe with relative check</h3> <h3 id="org7646584"><span class="section-number-3">1.4</span> Probe with relative check</h3>
<div class="outline-text-3" id="text-1-4"> <div class="outline-text-3" id="text-1-4">
<ul class="org-ul"> <ul class="org-ul">
<li>if <code>VFC_CI</code> is defined, place a probe with a relative check</li> <li>if <code>VFC_CI</code> is defined, place a probe with a relative check</li>
@ -527,8 +527,8 @@ and accuracy
</div> </div>
</div> </div>
<div id="outline-container-orgb4f5b1a" class="outline-3"> <div id="outline-container-org4785cdc" class="outline-3">
<h3 id="orgb4f5b1a"><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> <h3 id="org4785cdc"><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="outline-text-3" id="text-1-5">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-c"><span style="color: #228b22;">void</span> <span style="color: #0000ff;">qmckl_dump_probes</span>(); <pre class="src src-c"><span style="color: #228b22;">void</span> <span style="color: #0000ff;">qmckl_dump_probes</span>();
@ -547,8 +547,8 @@ and accuracy
</div> </div>
</div> </div>
<div id="outline-container-org5b7f0d1" class="outline-2"> <div id="outline-container-orgf0f1e5b" class="outline-2">
<h2 id="org5b7f0d1"><span class="section-number-2">2</span> Fortran wrappers</h2> <h2 id="orgf0f1e5b"><span class="section-number-2">2</span> Fortran wrappers</h2>
<div class="outline-text-2" id="text-2"> <div class="outline-text-2" id="text-2">
<div class="org-src-container"> <div class="org-src-container">
<pre class="src src-c"><span style="color: #228b22;">bool</span> <span style="color: #0000ff;">qmckl_probe_f</span>( <pre class="src src-c"><span style="color: #228b22;">bool</span> <span style="color: #0000ff;">qmckl_probe_f</span>(
@ -672,7 +672,7 @@ and accuracy
</div> </div>
<div id="postamble" class="status"> <div id="postamble" class="status">
<p class="author">Author: TREX CoE</p> <p class="author">Author: TREX CoE</p>
<p class="date">Created: 2024-03-29 Fri 08:29</p> <p class="date">Created: 2024-04-10 Wed 14:39</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p> <p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div> </div>
</body> </body>