Fixed Lazy

This commit is contained in:
Anthony Scemama 2023-06-17 00:32:39 +02:00
parent 3f0dbfc928
commit 39cdbba97e
3 changed files with 332 additions and 192 deletions

View File

@ -3,12 +3,12 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2023-06-16 Fri 09:49 -->
<!-- 2023-06-17 Sat 00:26 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Gaussian</title>
<title>Gaussian Gaussian</title>
<meta name="generator" content="Org mode" />
<meta name="author" content="Anthony Scemama" />
<meta name="author" content="scemama" />
<style type="text/css">
<!--/*--><![CDATA[/*><!--*/
.title { text-align: center;
@ -40,7 +40,7 @@
}
pre.src {
position: relative;
overflow: auto;
overflow: visible;
padding-top: 1.2em;
}
pre.src:before {
@ -161,19 +161,6 @@
.footdef { margin-bottom: 1em; }
.figure { padding: 1em; }
.figure p { text-align: center; }
.equation-container {
display: table;
text-align: center;
width: 100%;
}
.equation {
vertical-align: middle;
}
.equation-label {
display: table-cell;
text-align: right;
vertical-align: middle;
}
.inlinetask {
padding: 10px;
border: 2px solid gray;
@ -194,14 +181,66 @@
/*]]>*/-->
</style>
<link rel="stylesheet" title="Standard" href="qcaml.css" type="text/css" />
<link rel="stylesheet" title="Standard" href="qcaml.css" type="text/css" />
<script type="text/javascript" src="org-info.js">
// @license magnet:?xt=urn:btih:1f739d935676111cfff4b4693e3816e664797050&amp;dn=gpl-3.0.txt GPL-v3-or-Later
// @license-end
/**
*
* @source: org-info.js
*
* @licstart The following is the entire license notice for the
* JavaScript code in org-info.js.
*
* Copyright (C) 2012-2018 Free Software Foundation, Inc.
*
*
* The JavaScript code in this tag is free software: you can
* redistribute it and/or modify it under the terms of the GNU
* General Public License (GNU GPL) as published by the Free Software
* Foundation, either version 3 of the License, or (at your option)
* any later version. The code is distributed WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU GPL for more details.
*
* As additional permission under GNU GPL version 3 section 7, you
* may distribute non-source (e.g., minimized or compacted) forms of
* that code without the copy of the GNU GPL normally required by
* section 4, provided you include this license notice and a URL
* through which recipients can access the Corresponding Source.
*
* @licend The above is the entire license notice
* for the JavaScript code in org-info.js.
*
*/
</script>
<script type="text/javascript">
// @license magnet:?xt=urn:btih:1f739d935676111cfff4b4693e3816e664797050&amp;dn=gpl-3.0.txt GPL-v3-or-Later
/*
@licstart The following is the entire license notice for the
JavaScript code in this tag.
Copyright (C) 2012-2018 Free Software Foundation, Inc.
The JavaScript code in this tag is free software: you can
redistribute it and/or modify it under the terms of the GNU
General Public License (GNU GPL) as published by the Free Software
Foundation, either version 3 of the License, or (at your option)
any later version. The code is distributed WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU GPL for more details.
As additional permission under GNU GPL version 3 section 7, you
may distribute non-source (e.g., minimized or compacted) forms of
that code without the copy of the GNU GPL normally required by
section 4, provided you include this license notice and a URL
through which recipients can access the Corresponding Source.
@licend The above is the entire license notice
for the JavaScript code in this tag.
*/
<!--/*--><![CDATA[/*><!--*/
org_html_manager.set("TOC_DEPTH", "4");
org_html_manager.set("LINK_HOME", "index.html");
@ -214,29 +253,52 @@ org_html_manager.set("TOC", "1");
org_html_manager.set("VIEW", "info");
org_html_manager.setup(); // activate after the parameters are set
/*]]>*///-->
// @license-end
</script>
<script type="text/javascript">
// @license magnet:?xt=urn:btih:e95b018ef3580986a04669f1b5879592219e2a7a&dn=public-domain.txt Public Domain
/*
@licstart The following is the entire license notice for the
JavaScript code in this tag.
Copyright (C) 2012-2018 Free Software Foundation, Inc.
The JavaScript code in this tag is free software: you can
redistribute it and/or modify it under the terms of the GNU
General Public License (GNU GPL) as published by the Free Software
Foundation, either version 3 of the License, or (at your option)
any later version. The code is distributed WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU GPL for more details.
As additional permission under GNU GPL version 3 section 7, you
may distribute non-source (e.g., minimized or compacted) forms of
that code without the copy of the GNU GPL normally required by
section 4, provided you include this license notice and a URL
through which recipients can access the Corresponding Source.
@licend The above is the entire license notice
for the JavaScript code in this tag.
*/
<!--/*--><![CDATA[/*><!--*/
function CodeHighlightOn(elem, id)
{
var target = document.getElementById(id);
if(null != target) {
elem.classList.add("code-highlighted");
target.classList.add("code-highlighted");
}
}
function CodeHighlightOff(elem, id)
{
var target = document.getElementById(id);
if(null != target) {
elem.classList.remove("code-highlighted");
target.classList.remove("code-highlighted");
}
}
/*]]>*///-->
// @license-end
function CodeHighlightOn(elem, id)
{
var target = document.getElementById(id);
if(null != target) {
elem.cacheClassElem = elem.className;
elem.cacheClassTarget = target.className;
target.className = "code-highlighted";
elem.className = "code-highlighted";
}
}
function CodeHighlightOff(elem, id)
{
var target = document.getElementById(id);
if(elem.cacheClassElem)
elem.className = elem.cacheClassElem;
if(elem.cacheClassTarget)
target.className = elem.cacheClassTarget;
}
/*]]>*///-->
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
@ -267,46 +329,47 @@ org_html_manager.setup(); // activate after the parameters are set
|
<a accesskey="H" href="index.html"> HOME </a>
</div><div id="content">
<h1 class="title">Gaussian</h1>
<h1 class="title">Gaussian Gaussian</h1>
<div id="table-of-contents">
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#org418bb17">1. Summary</a></li>
<li><a href="#org3107c2d">2. Atomic shell</a>
<li><a href="#org75b028d">1. Summary</a></li>
<li><a href="#org0603510">2. Atomic shell</a>
<ul>
<li><a href="#orgd3e8a3d">2.1. Type</a></li>
<li><a href="#org3a79952">2.2. Access</a></li>
<li><a href="#orgf649255">2.3. Creation</a></li>
<li><a href="#orgb538194">2.4. Printers</a></li>
<li><a href="#orgdf52365">2.1. Type</a></li>
<li><a href="#orgc6225f5">2.2. Access</a></li>
<li><a href="#org6b8dfa1">2.3. Creation</a></li>
<li><a href="#orga9e61b8">2.4. Printers</a></li>
</ul>
</li>
<li><a href="#org055d620">3. Atomic shell pair couple</a>
<li><a href="#orgd615a55">3. Atomic shell pair couple</a>
<ul>
<li><a href="#org85660fe">3.1. Type</a></li>
<li><a href="#orgca1d510">3.2. Access</a></li>
<li><a href="#orgd5c48bb">3.3. Creation</a></li>
<li><a href="#org2949ca5">3.4. Printers</a></li>
<li><a href="#orgda0a937">3.1. Type</a></li>
<li><a href="#org4991d87">3.2. Access</a></li>
<li><a href="#orgb976b3f">3.3. Creation</a></li>
<li><a href="#orgc9cfb8d">3.4. Printers</a></li>
</ul>
</li>
<li><a href="#orge44bc1a">4. Atomic shell pair</a>
<li><a href="#orgc9b4c06">4. Atomic shell pair</a>
<ul>
<li><a href="#org8d76a2d">4.1. Type</a></li>
<li><a href="#orgdb75218">4.2. Access</a></li>
<li><a href="#org813d710">4.3. Creation</a></li>
<li><a href="#org864a734">4.4. Printers</a></li>
<li><a href="#org2cc8ae6">4.1. Type</a></li>
<li><a href="#org758a97d">4.2. Access</a></li>
<li><a href="#orgf49ab7d">4.3. Creation</a></li>
<li><a href="#org3b5b666">4.4. Printers</a></li>
</ul>
</li>
<li><a href="#orgfc88a58">5. Summary</a></li>
</ul>
</div>
</div>
<div id="outline-container-org418bb17" class="outline-2">
<h2 id="org418bb17"><span class="section-number-2">1</span> Summary</h2>
<div id="outline-container-org75b028d" class="outline-2">
<h2 id="org75b028d"><span class="section-number-2">1</span> Summary</h2>
</div>
<div id="outline-container-org3107c2d" class="outline-2">
<h2 id="org3107c2d"><span class="section-number-2">2</span> Atomic shell</h2>
<div id="outline-container-org0603510" class="outline-2">
<h2 id="org0603510"><span class="section-number-2">2</span> Atomic shell</h2>
<div class="outline-text-2" id="text-2">
<p>
Set of contracted Gaussians differing only by the powers of \(x\), \(y\) and \(z\), with a
@ -339,32 +402,32 @@ particular powers of \(x,y,z\) (<code>PrimitiveShell.norm_coef_scale</code>)</li
</div>
<div id="outline-container-orgd3e8a3d" class="outline-3">
<h3 id="orgd3e8a3d"><span class="section-number-3">2.1</span> Type</h3>
<div id="outline-container-orgdf52365" class="outline-3">
<h3 id="orgdf52365"><span class="section-number-3">2.1</span> Type</h3>
<div class="outline-text-3" id="text-2-1">
<div class="org-src-container">
<pre class="src src-ocaml"><span class="org-tuareg-font-lock-governing">type</span> <span class="org-type">t</span>
<pre class="src src-ocaml">type t
<span class="org-tuareg-font-lock-governing">open </span><span class="org-tuareg-font-lock-module">Common</span>
open Common
</pre>
</div>
</div>
</div>
<div id="outline-container-org3a79952" class="outline-3">
<h3 id="org3a79952"><span class="section-number-3">2.2</span> Access</h3>
<div id="outline-container-orgc6225f5" class="outline-3">
<h3 id="orgc6225f5"><span class="section-number-3">2.2</span> Access</h3>
<div class="outline-text-3" id="text-2-2">
<div class="org-src-container">
<pre class="src src-ocaml"><span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">ang_mom</span> <span class="org-tuareg-font-lock-operator">:</span> t <span class="org-tuareg-font-lock-operator">-&gt;</span> <span class="org-tuareg-font-lock-module">Angular_momentum.</span>t
<span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">center</span> <span class="org-tuareg-font-lock-operator">:</span> t <span class="org-tuareg-font-lock-operator">-&gt;</span> <span class="org-tuareg-font-lock-module">Coordinate.</span>t
<span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">coefficients</span> <span class="org-tuareg-font-lock-operator">:</span> t <span class="org-tuareg-font-lock-operator">-&gt;</span> float array array
<span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">contracted_shells</span> <span class="org-tuareg-font-lock-operator">:</span> t <span class="org-tuareg-font-lock-operator">-&gt;</span> <span class="org-tuareg-font-lock-module">Contracted_shell.</span>t array
<span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">exponents</span> <span class="org-tuareg-font-lock-operator">:</span> t <span class="org-tuareg-font-lock-operator">-&gt;</span> float array array
<span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">index</span> <span class="org-tuareg-font-lock-operator">:</span> t <span class="org-tuareg-font-lock-operator">-&gt;</span> int
<span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">normalizations</span> <span class="org-tuareg-font-lock-operator">:</span> t <span class="org-tuareg-font-lock-operator">-&gt;</span> float array array
<span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">norm_scales</span> <span class="org-tuareg-font-lock-operator">:</span> t <span class="org-tuareg-font-lock-operator">-&gt;</span> float array
<span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">size_of_shell</span> <span class="org-tuareg-font-lock-operator">:</span> t <span class="org-tuareg-font-lock-operator">-&gt;</span> int
<span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">size</span> <span class="org-tuareg-font-lock-operator">:</span> t <span class="org-tuareg-font-lock-operator">-&gt;</span> int
<pre class="src src-ocaml">val ang_mom : t -&gt; Angular_momentum.t
val center : t -&gt; Coordinate.t
val coefficients : t -&gt; float array array
val contracted_shells : t -&gt; Contracted_shell.t array
val exponents : t -&gt; float array array
val index : t -&gt; int
val normalizations : t -&gt; float array array
val norm_scales : t -&gt; float array
val size_of_shell : t -&gt; int
val size : t -&gt; int
</pre>
</div>
@ -429,19 +492,19 @@ particular powers of \(x,y,z\) (<code>PrimitiveShell.norm_coef_scale</code>)</li
</tbody>
</table>
<pre class="example" id="org2dea601">
<pre class="example">
</pre>
</div>
</div>
<div id="outline-container-orgf649255" class="outline-3">
<h3 id="orgf649255"><span class="section-number-3">2.3</span> Creation</h3>
<div id="outline-container-org6b8dfa1" class="outline-3">
<h3 id="org6b8dfa1"><span class="section-number-3">2.3</span> Creation</h3>
<div class="outline-text-3" id="text-2-3">
<div class="org-src-container">
<pre class="src src-ocaml"><span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">make</span> <span class="org-tuareg-font-lock-operator">:</span> <span class="org-tuareg-font-lock-label">?index</span><span class="org-tuareg-font-lock-operator">:</span>int <span class="org-tuareg-font-lock-operator">-&gt;</span> <span class="org-tuareg-font-lock-module">Contracted_shell.</span>t array <span class="org-tuareg-font-lock-operator">-&gt;</span> t
<pre class="src src-ocaml">val make : ?index:int -&gt; Contracted_shell.t array -&gt; t
<span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">with_index</span> <span class="org-tuareg-font-lock-operator">:</span> t <span class="org-tuareg-font-lock-operator">-&gt;</span> int <span class="org-tuareg-font-lock-operator">-&gt;</span> t
val with_index : t -&gt; int -&gt; t
</pre>
</div>
@ -468,19 +531,19 @@ particular powers of \(x,y,z\) (<code>PrimitiveShell.norm_coef_scale</code>)</li
</div>
</div>
<div id="outline-container-orgb538194" class="outline-3">
<h3 id="orgb538194"><span class="section-number-3">2.4</span> Printers</h3>
<div id="outline-container-orga9e61b8" class="outline-3">
<h3 id="orga9e61b8"><span class="section-number-3">2.4</span> Printers</h3>
<div class="outline-text-3" id="text-2-4">
<div class="org-src-container">
<pre class="src src-ocaml"><span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">pp</span> <span class="org-tuareg-font-lock-operator">:</span> <span class="org-tuareg-font-lock-module">Format.</span>formatter <span class="org-tuareg-font-lock-operator">-&gt;</span> t <span class="org-tuareg-font-lock-operator">-&gt;</span> unit
<pre class="src src-ocaml">val pp : Format.formatter -&gt; t -&gt; unit
</pre>
</div>
</div>
</div>
</div>
<div id="outline-container-org055d620" class="outline-2">
<h2 id="org055d620"><span class="section-number-2">3</span> Atomic shell pair couple</h2>
<div id="outline-container-orgd615a55" class="outline-2">
<h2 id="orgd615a55"><span class="section-number-2">3</span> Atomic shell pair couple</h2>
<div class="outline-text-2" id="text-3">
<p>
An atomic shell pair couple is the cartesian product between two sets of functions, one
@ -496,33 +559,33 @@ acting on different electrons, since they will be coupled by a two-electron oper
</div>
<div id="outline-container-org85660fe" class="outline-3">
<h3 id="org85660fe"><span class="section-number-3">3.1</span> Type</h3>
<div id="outline-container-orgda0a937" class="outline-3">
<h3 id="orgda0a937"><span class="section-number-3">3.1</span> Type</h3>
<div class="outline-text-3" id="text-3-1">
<div class="org-src-container">
<pre class="src src-ocaml"><span class="org-tuareg-font-lock-governing">type</span> <span class="org-type">t</span>
<pre class="src src-ocaml">type t
<span class="org-tuareg-font-lock-governing">open </span><span class="org-tuareg-font-lock-module">Common</span>
open Common
</pre>
</div>
</div>
</div>
<div id="outline-container-orgca1d510" class="outline-3">
<h3 id="orgca1d510"><span class="section-number-3">3.2</span> Access</h3>
<div id="outline-container-org4991d87" class="outline-3">
<h3 id="org4991d87"><span class="section-number-3">3.2</span> Access</h3>
<div class="outline-text-3" id="text-3-2">
<div class="org-src-container">
<pre class="src src-ocaml"><span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">ang_mom</span> <span class="org-tuareg-font-lock-operator">:</span> t <span class="org-tuareg-font-lock-operator">-&gt;</span> <span class="org-tuareg-font-lock-module">Angular_momentum.</span>t
<span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">atomic_shell_a</span> <span class="org-tuareg-font-lock-operator">:</span> t <span class="org-tuareg-font-lock-operator">-&gt;</span> <span class="org-tuareg-font-lock-module">Atomic_shell.</span>t
<span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">atomic_shell_b</span> <span class="org-tuareg-font-lock-operator">:</span> t <span class="org-tuareg-font-lock-operator">-&gt;</span> <span class="org-tuareg-font-lock-module">Atomic_shell.</span>t
<span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">atomic_shell_c</span> <span class="org-tuareg-font-lock-operator">:</span> t <span class="org-tuareg-font-lock-operator">-&gt;</span> <span class="org-tuareg-font-lock-module">Atomic_shell.</span>t
<span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">atomic_shell_d</span> <span class="org-tuareg-font-lock-operator">:</span> t <span class="org-tuareg-font-lock-operator">-&gt;</span> <span class="org-tuareg-font-lock-module">Atomic_shell.</span>t
<span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">atomic_shell_pair_p</span> <span class="org-tuareg-font-lock-operator">:</span> t <span class="org-tuareg-font-lock-operator">-&gt;</span> <span class="org-tuareg-font-lock-module">Atomic_shell_pair.</span>t
<span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">atomic_shell_pair_q</span> <span class="org-tuareg-font-lock-operator">:</span> t <span class="org-tuareg-font-lock-operator">-&gt;</span> <span class="org-tuareg-font-lock-module">Atomic_shell_pair.</span>t
<span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">contracted_shell_pair_couples</span> <span class="org-tuareg-font-lock-operator">:</span> t <span class="org-tuareg-font-lock-operator">-&gt;</span> <span class="org-tuareg-font-lock-module">Contracted_shell_pair_couple.</span>t list
<span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">monocentric</span> <span class="org-tuareg-font-lock-operator">:</span> t <span class="org-tuareg-font-lock-operator">-&gt;</span> bool
<span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">norm_scales</span> <span class="org-tuareg-font-lock-operator">:</span> t <span class="org-tuareg-font-lock-operator">-&gt;</span> float array
<span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">zkey_array</span> <span class="org-tuareg-font-lock-operator">:</span> t <span class="org-tuareg-font-lock-operator">-&gt;</span> <span class="org-tuareg-font-lock-module">Zkey.</span>t array
<pre class="src src-ocaml">val ang_mom : t -&gt; Angular_momentum.t
val atomic_shell_a : t -&gt; Atomic_shell.t
val atomic_shell_b : t -&gt; Atomic_shell.t
val atomic_shell_c : t -&gt; Atomic_shell.t
val atomic_shell_d : t -&gt; Atomic_shell.t
val atomic_shell_pair_p : t -&gt; Atomic_shell_pair.t
val atomic_shell_pair_q : t -&gt; Atomic_shell_pair.t
val contracted_shell_pair_couples : t -&gt; Contracted_shell_pair_couple.t list
val monocentric : t -&gt; bool
val norm_scales : t -&gt; float array
val zkey_array : t -&gt; Zkey.t array
</pre>
</div>
@ -594,11 +657,11 @@ acting on different electrons, since they will be coupled by a two-electron oper
</div>
</div>
<div id="outline-container-orgd5c48bb" class="outline-3">
<h3 id="orgd5c48bb"><span class="section-number-3">3.3</span> Creation</h3>
<div id="outline-container-orgb976b3f" class="outline-3">
<h3 id="orgb976b3f"><span class="section-number-3">3.3</span> Creation</h3>
<div class="outline-text-3" id="text-3-3">
<div class="org-src-container">
<pre class="src src-ocaml"><span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">make</span> <span class="org-tuareg-font-lock-operator">:</span> <span class="org-tuareg-font-lock-label">?cutoff</span><span class="org-tuareg-font-lock-operator">:</span>float <span class="org-tuareg-font-lock-operator">-&gt;</span> <span class="org-tuareg-font-lock-module">Atomic_shell_pair.</span>t <span class="org-tuareg-font-lock-operator">-&gt;</span> <span class="org-tuareg-font-lock-module">Atomic_shell_pair.</span>t <span class="org-tuareg-font-lock-operator">-&gt;</span> t option
<pre class="src src-ocaml">val make : ?cutoff:float -&gt; Atomic_shell_pair.t -&gt; Atomic_shell_pair.t -&gt; t option
</pre>
</div>
<p>
@ -621,25 +684,25 @@ Default cutoff is \(\epsilon\).
</tbody>
</table>
<pre class="example" id="org1d1eb7f">
<pre class="example">
</pre>
</div>
</div>
<div id="outline-container-org2949ca5" class="outline-3">
<h3 id="org2949ca5"><span class="section-number-3">3.4</span> Printers</h3>
<div id="outline-container-orgc9cfb8d" class="outline-3">
<h3 id="orgc9cfb8d"><span class="section-number-3">3.4</span> Printers</h3>
<div class="outline-text-3" id="text-3-4">
<div class="org-src-container">
<pre class="src src-ocaml"><span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">pp</span> <span class="org-tuareg-font-lock-operator">:</span> <span class="org-tuareg-font-lock-module">Format.</span>formatter <span class="org-tuareg-font-lock-operator">-&gt;</span> t <span class="org-tuareg-font-lock-operator">-&gt;</span> unit
<pre class="src src-ocaml">val pp : Format.formatter -&gt; t -&gt; unit
</pre>
</div>
</div>
</div>
</div>
<div id="outline-container-orge44bc1a" class="outline-2">
<h2 id="orge44bc1a"><span class="section-number-2">4</span> Atomic shell pair</h2>
<div id="outline-container-orgc9b4c06" class="outline-2">
<h2 id="orgc9b4c06"><span class="section-number-2">4</span> Atomic shell pair</h2>
<div class="outline-text-2" id="text-4">
<p>
Data structure to represent pairs of atomic shells. The products of
@ -651,30 +714,30 @@ An atomic shell pair is an array of pairs of contracted shells.
</p>
</div>
<div id="outline-container-org8d76a2d" class="outline-3">
<h3 id="org8d76a2d"><span class="section-number-3">4.1</span> Type</h3>
<div id="outline-container-org2cc8ae6" class="outline-3">
<h3 id="org2cc8ae6"><span class="section-number-3">4.1</span> Type</h3>
<div class="outline-text-3" id="text-4-1">
<div class="org-src-container">
<pre class="src src-ocaml"><span class="org-tuareg-font-lock-governing">type</span> <span class="org-type">t</span>
<pre class="src src-ocaml">type t
<span class="org-tuareg-font-lock-governing">open </span><span class="org-tuareg-font-lock-module">Common</span>
open Common
</pre>
</div>
</div>
</div>
<div id="outline-container-orgdb75218" class="outline-3">
<h3 id="orgdb75218"><span class="section-number-3">4.2</span> Access</h3>
<div id="outline-container-org758a97d" class="outline-3">
<h3 id="org758a97d"><span class="section-number-3">4.2</span> Access</h3>
<div class="outline-text-3" id="text-4-2">
<div class="org-src-container">
<pre class="src src-ocaml"><span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">atomic_shell_a</span> <span class="org-tuareg-font-lock-operator">:</span> t <span class="org-tuareg-font-lock-operator">-&gt;</span> <span class="org-tuareg-font-lock-module">Atomic_shell.</span>t
<span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">atomic_shell_b</span> <span class="org-tuareg-font-lock-operator">:</span> t <span class="org-tuareg-font-lock-operator">-&gt;</span> <span class="org-tuareg-font-lock-module">Atomic_shell.</span>t
<span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">contracted_shell_pairs</span> <span class="org-tuareg-font-lock-operator">:</span> t <span class="org-tuareg-font-lock-operator">-&gt;</span> <span class="org-tuareg-font-lock-module">Contracted_shell_pair.</span>t list
<span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">ang_mom</span> <span class="org-tuareg-font-lock-operator">:</span> t <span class="org-tuareg-font-lock-operator">-&gt;</span> <span class="org-tuareg-font-lock-module">Angular_momentum.</span>t
<span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">monocentric</span> <span class="org-tuareg-font-lock-operator">:</span> t <span class="org-tuareg-font-lock-operator">-&gt;</span> bool
<span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">norm_scales</span> <span class="org-tuareg-font-lock-operator">:</span> t <span class="org-tuareg-font-lock-operator">-&gt;</span> float array
<span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">a_minus_b</span> <span class="org-tuareg-font-lock-operator">:</span> t <span class="org-tuareg-font-lock-operator">-&gt;</span> <span class="org-tuareg-font-lock-module">Coordinate.</span>t
<span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">a_minus_b_sq</span> <span class="org-tuareg-font-lock-operator">:</span> t <span class="org-tuareg-font-lock-operator">-&gt;</span> float
<pre class="src src-ocaml">val atomic_shell_a : t -&gt; Atomic_shell.t
val atomic_shell_b : t -&gt; Atomic_shell.t
val contracted_shell_pairs : t -&gt; Contracted_shell_pair.t list
val ang_mom : t -&gt; Angular_momentum.t
val monocentric : t -&gt; bool
val norm_scales : t -&gt; float array
val a_minus_b : t -&gt; Coordinate.t
val a_minus_b_sq : t -&gt; float
</pre>
</div>
@ -731,11 +794,11 @@ An atomic shell pair is an array of pairs of contracted shells.
</div>
</div>
<div id="outline-container-org813d710" class="outline-3">
<h3 id="org813d710"><span class="section-number-3">4.3</span> Creation</h3>
<div id="outline-container-orgf49ab7d" class="outline-3">
<h3 id="orgf49ab7d"><span class="section-number-3">4.3</span> Creation</h3>
<div class="outline-text-3" id="text-4-3">
<div class="org-src-container">
<pre class="src src-ocaml"><span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">make</span> <span class="org-tuareg-font-lock-operator">:</span> <span class="org-tuareg-font-lock-label">?cutoff</span><span class="org-tuareg-font-lock-operator">:</span>float <span class="org-tuareg-font-lock-operator">-&gt;</span> <span class="org-tuareg-font-lock-module">Atomic_shell.</span>t <span class="org-tuareg-font-lock-operator">-&gt;</span> <span class="org-tuareg-font-lock-module">Atomic_shell.</span>t <span class="org-tuareg-font-lock-operator">-&gt;</span> t option
<pre class="src src-ocaml">val make : ?cutoff:float -&gt; Atomic_shell.t -&gt; Atomic_shell.t -&gt; t option
</pre>
</div>
@ -754,7 +817,7 @@ If all the contracted shell pairs are not significant, the function returns
</p>
<div class="org-src-container">
<pre class="src src-ocaml"><span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">of_atomic_shell_array</span> <span class="org-tuareg-font-lock-operator">:</span> <span class="org-tuareg-font-lock-label">?cutoff</span><span class="org-tuareg-font-lock-operator">:</span>float <span class="org-tuareg-font-lock-operator">-&gt;</span> <span class="org-tuareg-font-lock-module">Atomic_shell.</span>t array <span class="org-tuareg-font-lock-operator">-&gt;</span> t option array array
<pre class="src src-ocaml">val of_atomic_shell_array : ?cutoff:float -&gt; Atomic_shell.t array -&gt; t option array array
</pre>
</div>
@ -765,21 +828,25 @@ If an atomic shell pair is not significant, sets the value to <code>None</code>.
</div>
</div>
<div id="outline-container-org864a734" class="outline-3">
<h3 id="org864a734"><span class="section-number-3">4.4</span> Printers</h3>
<div id="outline-container-org3b5b666" class="outline-3">
<h3 id="org3b5b666"><span class="section-number-3">4.4</span> Printers</h3>
<div class="outline-text-3" id="text-4-4">
<div class="org-src-container">
<pre class="src src-ocaml"><span class="org-tuareg-font-lock-governing">val</span> <span class="org-function-name">pp</span> <span class="org-tuareg-font-lock-operator">:</span> <span class="org-tuareg-font-lock-module">Format.</span>formatter <span class="org-tuareg-font-lock-operator">-&gt;</span> t <span class="org-tuareg-font-lock-operator">-&gt;</span> unit
<pre class="src src-ocaml">val pp : Format.formatter -&gt; t -&gt; unit
</pre>
</div>
</div>
</div>
</div>
<div id="outline-container-orgfc88a58" class="outline-2">
<h2 id="orgfc88a58"><span class="section-number-2">5</span> Summary</h2>
</div>
</div>
<div id="postamble" class="status">
<p class="author">Author: Anthony Scemama</p>
<p class="date">Created: 2023-06-16 Fri 09:49</p>
<p class="validation"><a href="https://validator.w3.org/check?uri=referer">Validate</a></p>
<p class="author">Author: scemama</p>
<p class="date">Created: 2023-06-17 Sat 00:26</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>
</html>

View File

@ -3,12 +3,12 @@
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<!-- 2023-06-16 Fri 18:25 -->
<!-- 2023-06-17 Sat 00:26 -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Top-level</title>
<title>Top-level Top-level</title>
<meta name="generator" content="Org mode" />
<meta name="author" content="Anthony Scemama" />
<meta name="author" content="scemama" />
<style type="text/css">
<!--/*--><![CDATA[/*><!--*/
.title { text-align: center;
@ -40,7 +40,7 @@
}
pre.src {
position: relative;
overflow: auto;
overflow: visible;
padding-top: 1.2em;
}
pre.src:before {
@ -161,19 +161,6 @@
.footdef { margin-bottom: 1em; }
.figure { padding: 1em; }
.figure p { text-align: center; }
.equation-container {
display: table;
text-align: center;
width: 100%;
}
.equation {
vertical-align: middle;
}
.equation-label {
display: table-cell;
text-align: right;
vertical-align: middle;
}
.inlinetask {
padding: 10px;
border: 2px solid gray;
@ -194,14 +181,66 @@
/*]]>*/-->
</style>
<link rel="stylesheet" title="Standard" href="qcaml.css" type="text/css" />
<link rel="stylesheet" title="Standard" href="qcaml.css" type="text/css" />
<script type="text/javascript" src="org-info.js">
// @license magnet:?xt=urn:btih:1f739d935676111cfff4b4693e3816e664797050&amp;dn=gpl-3.0.txt GPL-v3-or-Later
// @license-end
/**
*
* @source: org-info.js
*
* @licstart The following is the entire license notice for the
* JavaScript code in org-info.js.
*
* Copyright (C) 2012-2018 Free Software Foundation, Inc.
*
*
* The JavaScript code in this tag is free software: you can
* redistribute it and/or modify it under the terms of the GNU
* General Public License (GNU GPL) as published by the Free Software
* Foundation, either version 3 of the License, or (at your option)
* any later version. The code is distributed WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU GPL for more details.
*
* As additional permission under GNU GPL version 3 section 7, you
* may distribute non-source (e.g., minimized or compacted) forms of
* that code without the copy of the GNU GPL normally required by
* section 4, provided you include this license notice and a URL
* through which recipients can access the Corresponding Source.
*
* @licend The above is the entire license notice
* for the JavaScript code in org-info.js.
*
*/
</script>
<script type="text/javascript">
// @license magnet:?xt=urn:btih:1f739d935676111cfff4b4693e3816e664797050&amp;dn=gpl-3.0.txt GPL-v3-or-Later
/*
@licstart The following is the entire license notice for the
JavaScript code in this tag.
Copyright (C) 2012-2018 Free Software Foundation, Inc.
The JavaScript code in this tag is free software: you can
redistribute it and/or modify it under the terms of the GNU
General Public License (GNU GPL) as published by the Free Software
Foundation, either version 3 of the License, or (at your option)
any later version. The code is distributed WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU GPL for more details.
As additional permission under GNU GPL version 3 section 7, you
may distribute non-source (e.g., minimized or compacted) forms of
that code without the copy of the GNU GPL normally required by
section 4, provided you include this license notice and a URL
through which recipients can access the Corresponding Source.
@licend The above is the entire license notice
for the JavaScript code in this tag.
*/
<!--/*--><![CDATA[/*><!--*/
org_html_manager.set("TOC_DEPTH", "4");
org_html_manager.set("LINK_HOME", "index.html");
@ -214,29 +253,52 @@ org_html_manager.set("TOC", "1");
org_html_manager.set("VIEW", "info");
org_html_manager.setup(); // activate after the parameters are set
/*]]>*///-->
// @license-end
</script>
<script type="text/javascript">
// @license magnet:?xt=urn:btih:e95b018ef3580986a04669f1b5879592219e2a7a&dn=public-domain.txt Public Domain
/*
@licstart The following is the entire license notice for the
JavaScript code in this tag.
Copyright (C) 2012-2018 Free Software Foundation, Inc.
The JavaScript code in this tag is free software: you can
redistribute it and/or modify it under the terms of the GNU
General Public License (GNU GPL) as published by the Free Software
Foundation, either version 3 of the License, or (at your option)
any later version. The code is distributed WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU GPL for more details.
As additional permission under GNU GPL version 3 section 7, you
may distribute non-source (e.g., minimized or compacted) forms of
that code without the copy of the GNU GPL normally required by
section 4, provided you include this license notice and a URL
through which recipients can access the Corresponding Source.
@licend The above is the entire license notice
for the JavaScript code in this tag.
*/
<!--/*--><![CDATA[/*><!--*/
function CodeHighlightOn(elem, id)
{
var target = document.getElementById(id);
if(null != target) {
elem.classList.add("code-highlighted");
target.classList.add("code-highlighted");
}
}
function CodeHighlightOff(elem, id)
{
var target = document.getElementById(id);
if(null != target) {
elem.classList.remove("code-highlighted");
target.classList.remove("code-highlighted");
}
}
/*]]>*///-->
// @license-end
function CodeHighlightOn(elem, id)
{
var target = document.getElementById(id);
if(null != target) {
elem.cacheClassElem = elem.className;
elem.cacheClassTarget = target.className;
target.className = "code-highlighted";
elem.className = "code-highlighted";
}
}
function CodeHighlightOff(elem, id)
{
var target = document.getElementById(id);
if(elem.cacheClassElem)
elem.className = elem.cacheClassElem;
if(elem.cacheClassTarget)
target.className = elem.cacheClassTarget;
}
/*]]>*///-->
</script>
</head>
<body>
@ -245,24 +307,29 @@ org_html_manager.setup(); // activate after the parameters are set
|
<a accesskey="H" href="index.html"> HOME </a>
</div><div id="content">
<h1 class="title">Top-level</h1>
<h1 class="title">Top-level Top-level</h1>
<div id="table-of-contents">
<h2>Table of Contents</h2>
<div id="text-table-of-contents">
<ul>
<li><a href="#orga2f9258">1. Summary</a></li>
<li><a href="#orgadc5251">1. Summary</a></li>
<li><a href="#orgec76ff6">2. Summary</a></li>
</ul>
</div>
</div>
<div id="outline-container-orga2f9258" class="outline-2">
<h2 id="orga2f9258"><span class="section-number-2">1</span> Summary</h2>
<div id="outline-container-orgadc5251" class="outline-2">
<h2 id="orgadc5251"><span class="section-number-2">1</span> Summary</h2>
</div>
<div id="outline-container-orgec76ff6" class="outline-2">
<h2 id="orgec76ff6"><span class="section-number-2">2</span> Summary</h2>
</div>
</div>
<div id="postamble" class="status">
<p class="author">Author: Anthony Scemama</p>
<p class="date">Created: 2023-06-16 Fri 18:25</p>
<p class="validation"><a href="https://validator.w3.org/check?uri=referer">Validate</a></p>
<p class="author">Author: scemama</p>
<p class="date">Created: 2023-06-17 Sat 00:26</p>
<p class="validation"><a href="http://validator.w3.org/check?uri=referer">Validate</a></p>
</div>
</body>
</html>

View File

@ -39,6 +39,13 @@ let cmp a b =
hash a - hash b
let compute_norm_scales p_a p_b =
Array.map (fun v1 ->
Array.map (fun v2 -> v1 *. v2) (Ps.norm_scales p_b)
) (Ps.norm_scales p_a)
|> Array.to_list
|> Array.concat
let create_make_of p_a p_b =
let a_minus_b =
@ -49,13 +56,9 @@ let create_make_of p_a p_b =
Co.dot a_minus_b a_minus_b
in
let norm_scales = lazy (
Array.map (fun v1 ->
Array.map (fun v2 -> v1 *. v2) (Ps.norm_scales p_b)
) (Ps.norm_scales p_a)
|> Array.to_list
|> Array.concat
) in
let norm_scales =
lazy (compute_norm_scales p_a p_b)
in
let ang_mom =
Am.( Ps.ang_mom p_a + Ps.ang_mom p_b )
@ -126,7 +129,10 @@ let make p_a p_b =
let norm_scales x =
Lazy.force x.norm_scales
try
Lazy.force x.norm_scales
with Lazy.Undefined -> (Printf.printf "UNDEFINED\n%!" ; compute_norm_scales x.shell_a x.shell_b
)
let exponent_inv x = x.exponent_inv