Skip to content

Commit

Permalink
Deploying to github.io from @ 443b9b8 🚀
Browse files Browse the repository at this point in the history
  • Loading branch information
jasonkaye committed Jul 25, 2024
1 parent 6216acb commit 49d12bb
Show file tree
Hide file tree
Showing 79 changed files with 764 additions and 878 deletions.
Binary file modified docs/main/.doctrees/environment.pickle
Binary file not shown.
Binary file modified docs/main/.doctrees/index.doctree
Binary file not shown.
Binary file modified docs/main/.doctrees/issues.doctree
Binary file not shown.
2 changes: 1 addition & 1 deletion docs/main/ChangeLog.html
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="documentation.html">Reference documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="issues.html">Issues and contributions</a></li>
<li class="toctree-l1"><a class="reference internal" href="issues.html">Reporting issues</a></li>
</ul>

</div>
Expand Down
13 changes: 1 addition & 12 deletions docs/main/_sources/index.rst.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,7 @@

``cppdlr`` is a C++ library implementing the discrete Lehmann representation (DLR) of
imaginary time single-particle Green's functions and other imaginary time
quantities, including standard operations. It can be downloaded `from GitHub <https://github.com/flatironinstitute/cppdlr>`_.

The DLR has been implemented in other programming languages (see the :ref:`related libraries<otherlibraries>` below).
``cppdlr`` offers a particularly simple high-level user interface, enabled by
the use of C++ templating and the `nda library <https://github.com/TRIQS/nda>`_ for array types and BLAS/LAPACK
compatibility. This facilitates its use both in small-scale applications and in
existing large-scale software projects such as the `TRIQS library
<https://triqs.github.io>`_ for quantum many-body calculations, which has
incorporated the DLR via ``cppdlr``.
quantities. It can be downloaded `from GitHub <https://github.com/flatironinstitute/cppdlr>`_.

Getting started
---------------
Expand Down Expand Up @@ -41,9 +33,6 @@ development and maintainence of open-source scientific software.
- The companion paper to ``cppdlr``: `J. Kaye, H. U. R. Strand, N. Wentzell, "cppdlr: Imaginary time calculations using the discrete Lehmann representation", arXiv:2404.02334 (2024).
<https://arxiv.org/abs/2404.02334>`_


.. _otherlibraries:

Related libraries
-----------------

Expand Down
13 changes: 4 additions & 9 deletions docs/main/_sources/issues.rst.txt
Original file line number Diff line number Diff line change
@@ -1,12 +1,7 @@
.. _issues:

Issues and contributions
************************
Reporting issues
****************

Please report all bugs, as well as new feature requests, on the `GitHub issues page <https://github.com/flatironinstitute/cppdlr/issues>`_.

If you wish to contribute new features to ``cppdlr``, please do so by creating a
`Github pull request <https://github.com/flatironinstitute/cppdlr/pulls>`_,
using the "main" branch, which serves as a development branch of ``cppdlr``, as
the target branch. For major changes or new features, we recommend coordinating
with the developers of ``cppdlr``.
Please report all problems and bugs on the GitHub issues page
`<https://github.com/flatironinstitute/cppdlr/issues>`_.
2 changes: 1 addition & 1 deletion docs/main/background.html
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="documentation.html">Reference documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="issues.html">Issues and contributions</a></li>
<li class="toctree-l1"><a class="reference internal" href="issues.html">Reporting issues</a></li>
</ul>

</div>
Expand Down
6 changes: 3 additions & 3 deletions docs/main/documentation.html
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
<script src="_static/js/theme.js"></script>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="Issues and contributions" href="issues.html" />
<link rel="next" title="Reporting issues" href="issues.html" />
<link rel="prev" title="Examples" href="examples.html" />
</head>

Expand Down Expand Up @@ -77,7 +77,7 @@
</ul>
</li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">Reference documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="issues.html">Issues and contributions</a></li>
<li class="toctree-l1"><a class="reference internal" href="issues.html">Reporting issues</a></li>
</ul>

</div>
Expand Down Expand Up @@ -113,7 +113,7 @@
</div>
<footer><div class="rst-footer-buttons" role="navigation" aria-label="Footer">
<a href="examples.html" class="btn btn-neutral float-left" title="Examples" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
<a href="issues.html" class="btn btn-neutral float-right" title="Issues and contributions" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
<a href="issues.html" class="btn btn-neutral float-right" title="Reporting issues" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
</div>

<hr/>
Expand Down
51 changes: 25 additions & 26 deletions docs/main/doxygen/html/classcppdlr_1_1imtime__ops-members.html

Large diffs are not rendered by default.

81 changes: 17 additions & 64 deletions docs/main/doxygen/html/classcppdlr_1_1imtime__ops.html
Original file line number Diff line number Diff line change
Expand Up @@ -94,10 +94,10 @@
<tr class="separator:a43a9b5fb6aeefad7d8ae6865329e69de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8da78cf54d39d48d2be19ad1f146b03c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppdlr_1_1imtime__ops.html#a8da78cf54d39d48d2be19ad1f146b03c">imtime_ops</a> ()=default</td></tr>
<tr class="separator:a8da78cf54d39d48d2be19ad1f146b03c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af5bafac0dcc76bd713c732a3792c6e0c"><td class="memTemplParams" colspan="2">template&lt;nda::MemoryArray T, nda::Scalar S = nda::get_value_t&lt;T&gt;&gt; </td></tr>
<tr class="memitem:af5bafac0dcc76bd713c732a3792c6e0c"><td class="memTemplItemLeft" align="right" valign="top">T::regular_type&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classcppdlr_1_1imtime__ops.html#af5bafac0dcc76bd713c732a3792c6e0c">vals2coefs</a> (T const &amp;g, bool transpose=false) const</td></tr>
<tr class="memdesc:af5bafac0dcc76bd713c732a3792c6e0c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transform values of Green's function G on DLR imaginary time grid to DLR coefficients. <a href="classcppdlr_1_1imtime__ops.html#af5bafac0dcc76bd713c732a3792c6e0c">More...</a><br /></td></tr>
<tr class="separator:af5bafac0dcc76bd713c732a3792c6e0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b83b15a4fa3eefe8f10d65a53b5885d"><td class="memTemplParams" colspan="2">template&lt;nda::MemoryArray T, nda::Scalar S = nda::get_value_t&lt;T&gt;&gt; </td></tr>
<tr class="memitem:a8b83b15a4fa3eefe8f10d65a53b5885d"><td class="memTemplItemLeft" align="right" valign="top">T::regular_type&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classcppdlr_1_1imtime__ops.html#a8b83b15a4fa3eefe8f10d65a53b5885d">vals2coefs</a> (T const &amp;g) const</td></tr>
<tr class="memdesc:a8b83b15a4fa3eefe8f10d65a53b5885d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transform values of Green's function G on DLR imaginary time grid to DLR coefficients. <a href="classcppdlr_1_1imtime__ops.html#a8b83b15a4fa3eefe8f10d65a53b5885d">More...</a><br /></td></tr>
<tr class="separator:a8b83b15a4fa3eefe8f10d65a53b5885d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6f6d71c061aec134df9edf1255e19dfb"><td class="memTemplParams" colspan="2">template&lt;nda::MemoryArray T, nda::Scalar S = nda::get_value_t&lt;T&gt;&gt; </td></tr>
<tr class="memitem:a6f6d71c061aec134df9edf1255e19dfb"><td class="memTemplItemLeft" align="right" valign="top">T::regular_type&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classcppdlr_1_1imtime__ops.html#a6f6d71c061aec134df9edf1255e19dfb">coefs2vals</a> (T const &amp;gc) const</td></tr>
<tr class="memdesc:a6f6d71c061aec134df9edf1255e19dfb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transform DLR coefficients of Green's function G to values on DLR imaginary time grid. <a href="classcppdlr_1_1imtime__ops.html#a6f6d71c061aec134df9edf1255e19dfb">More...</a><br /></td></tr>
Expand Down Expand Up @@ -129,10 +129,10 @@
<tr class="memitem:a4b0899c199459a76210d535eab89fd3a"><td class="memTemplItemLeft" align="right" valign="top">nda::matrix&lt; S &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classcppdlr_1_1imtime__ops.html#a4b0899c199459a76210d535eab89fd3a">convmat</a> (double beta, <a class="el" href="namespacecppdlr.html#ad0a7e33d9a03f4986937032c25ee7435">statistic_t</a> statistic, T const &amp;fc, bool <a class="el" href="namespacecppdlr.html#afef0a162a809071b83fd09f578db52bf">time_order</a>=false) const</td></tr>
<tr class="memdesc:a4b0899c199459a76210d535eab89fd3a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute matrix of convolution by an imaginary time Green's function. <a href="classcppdlr_1_1imtime__ops.html#a4b0899c199459a76210d535eab89fd3a">More...</a><br /></td></tr>
<tr class="separator:a4b0899c199459a76210d535eab89fd3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaaa4303e1ee0897417308f380bb75de8"><td class="memTemplParams" colspan="2">template&lt;nda::MemoryArray T, nda::Scalar S = nda::get_value_t&lt;T&gt;&gt; </td></tr>
<tr class="memitem:aaaa4303e1ee0897417308f380bb75de8"><td class="memTemplItemLeft" align="right" valign="top">S&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classcppdlr_1_1imtime__ops.html#aaaa4303e1ee0897417308f380bb75de8">innerprod</a> (T const &amp;fc, T const &amp;gc) const</td></tr>
<tr class="memdesc:aaaa4303e1ee0897417308f380bb75de8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute inner product of two imaginary time Green's functions. <a href="classcppdlr_1_1imtime__ops.html#aaaa4303e1ee0897417308f380bb75de8">More...</a><br /></td></tr>
<tr class="separator:aaaa4303e1ee0897417308f380bb75de8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a45496ed46dbf01e8a70baa687d9c8f5c"><td class="memTemplParams" colspan="2">template&lt;nda::MemoryArray T, nda::Scalar S = nda::get_value_t&lt;T&gt;&gt; </td></tr>
<tr class="memitem:a45496ed46dbf01e8a70baa687d9c8f5c"><td class="memTemplItemLeft" align="right" valign="top">std::complex&lt; double &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="classcppdlr_1_1imtime__ops.html#a45496ed46dbf01e8a70baa687d9c8f5c">innerprod</a> (T const &amp;fc, T const &amp;gc) const</td></tr>
<tr class="memdesc:a45496ed46dbf01e8a70baa687d9c8f5c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compute inner product of two imaginary time Green's functions. <a href="classcppdlr_1_1imtime__ops.html#a45496ed46dbf01e8a70baa687d9c8f5c">More...</a><br /></td></tr>
<tr class="separator:a45496ed46dbf01e8a70baa687d9c8f5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a89451028e273c8753d87621081a16cee"><td class="memItemLeft" align="right" valign="top">nda::vector_const_view&lt; double &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppdlr_1_1imtime__ops.html#a89451028e273c8753d87621081a16cee">get_itnodes</a> () const</td></tr>
<tr class="memdesc:a89451028e273c8753d87621081a16cee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get DLR imaginary time nodes. <a href="classcppdlr_1_1imtime__ops.html#a89451028e273c8753d87621081a16cee">More...</a><br /></td></tr>
<tr class="separator:a89451028e273c8753d87621081a16cee"><td class="memSeparator" colspan="2">&#160;</td></tr>
Expand Down Expand Up @@ -160,9 +160,6 @@
<tr class="separator:a88f437cb31c98929ab8a1e6dadb174aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a401521dedc309ca12c1ec345da983c80"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppdlr_1_1imtime__ops.html#a401521dedc309ca12c1ec345da983c80">lambda</a> () const</td></tr>
<tr class="separator:a401521dedc309ca12c1ec345da983c80"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6c1c9607902f7f82d93ea8710efc9882"><td class="memItemLeft" align="right" valign="top">nda::matrix_const_view&lt; double &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppdlr_1_1imtime__ops.html#a6c1c9607902f7f82d93ea8710efc9882">get_ipmat</a> () const</td></tr>
<tr class="memdesc:a6c1c9607902f7f82d93ea8710efc9882"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get inner product matrix. <a href="classcppdlr_1_1imtime__ops.html#a6c1c9607902f7f82d93ea8710efc9882">More...</a><br /></td></tr>
<tr class="separator:a6c1c9607902f7f82d93ea8710efc9882"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6257e0b3f43733c5ac06c8af11a47bb3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcppdlr_1_1imtime__ops.html#a6257e0b3f43733c5ac06c8af11a47bb3">convolve_init</a> () const</td></tr>
<tr class="memdesc:a6257e0b3f43733c5ac06c8af11a47bb3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialization for convolution methods. <a href="classcppdlr_1_1imtime__ops.html#a6257e0b3f43733c5ac06c8af11a47bb3">More...</a><br /></td></tr>
<tr class="separator:a6257e0b3f43733c5ac06c8af11a47bb3"><td class="memSeparator" colspan="2">&#160;</td></tr>
Expand Down Expand Up @@ -767,36 +764,6 @@ <h2 class="memtitle"><span class="permalink"><a href="#a278304f50e778063a60df49b
<p>Get transformation matrix from DLR coefficients to values at DLR imaginary time nodes. </p>
<dl class="section return"><dt>Returns</dt><dd>Transformation matrix </dd></dl>

</div>
</div>
<a id="a6c1c9607902f7f82d93ea8710efc9882"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6c1c9607902f7f82d93ea8710efc9882">&#9670;&nbsp;</a></span>get_ipmat()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">nda::matrix_const_view&lt;double&gt; cppdlr::imtime_ops::get_ipmat </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">

<p>Get inner product matrix. </p>
<p>Given the vector f and g of DLR coefficients of scalar-valued imaginary time functions F and G, respectively, the inner product matrix M gives</p>
<p>f^T M g = 1/beta int_0^beta dt f(t) g(t).</p>
<dl class="section return"><dt>Returns</dt><dd>Inner product matrix </dd></dl>

</div>
</div>
<a id="af2b17e780b762dde6a25d8f8e844dab3"></a>
Expand Down Expand Up @@ -1017,8 +984,8 @@ <h2 class="memtitle"><span class="permalink"><a href="#a649d9f6c3d257661818c3f47

</div>
</div>
<a id="aaaa4303e1ee0897417308f380bb75de8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaaa4303e1ee0897417308f380bb75de8">&#9670;&nbsp;</a></span>innerprod()</h2>
<a id="a45496ed46dbf01e8a70baa687d9c8f5c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a45496ed46dbf01e8a70baa687d9c8f5c">&#9670;&nbsp;</a></span>innerprod()</h2>

<div class="memitem">
<div class="memproto">
Expand All @@ -1029,7 +996,7 @@ <h2 class="memtitle"><span class="permalink"><a href="#aaaa4303e1ee0897417308f38
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">S cppdlr::imtime_ops::innerprod </td>
<td class="memname">std::complex&lt;double&gt; cppdlr::imtime_ops::innerprod </td>
<td>(</td>
<td class="paramtype">T const &amp;&#160;</td>
<td class="paramname"><em>fc</em>, </td>
Expand Down Expand Up @@ -1245,8 +1212,8 @@ <h2 class="memtitle"><span class="permalink"><a href="#ae6116f42e1f17050404974d0

</div>
</div>
<a id="af5bafac0dcc76bd713c732a3792c6e0c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af5bafac0dcc76bd713c732a3792c6e0c">&#9670;&nbsp;</a></span>vals2coefs()</h2>
<a id="a8b83b15a4fa3eefe8f10d65a53b5885d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8b83b15a4fa3eefe8f10d65a53b5885d">&#9670;&nbsp;</a></span>vals2coefs()</h2>

<div class="memitem">
<div class="memproto">
Expand All @@ -1260,18 +1227,8 @@ <h2 class="memtitle"><span class="permalink"><a href="#af5bafac0dcc76bd713c732a3
<td class="memname">T::regular_type cppdlr::imtime_ops::vals2coefs </td>
<td>(</td>
<td class="paramtype">T const &amp;&#160;</td>
<td class="paramname"><em>g</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>transpose</em> = <code>false</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
<td class="paramname"><em>g</em></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
Expand All @@ -1284,15 +1241,11 @@ <h2 class="memtitle"><span class="permalink"><a href="#af5bafac0dcc76bd713c732a3
<p>Transform values of Green's function G on DLR imaginary time grid to DLR coefficients. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">g</td><td>Values of G on DLR imaginary time grid </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">transpose</td><td>Transpose values -&gt; coefficients transformation (default is false)</td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">g</td><td>Values of G on DLR imaginary time grid</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>DLR coefficients of G (if transpose = false, as it is by default; otherwise, see note below)</dd></dl>
<dl class="section note"><dt>Note</dt><dd>By setting the optional argument <code>transpose</code> to true, this method applies the transpose of the values -&gt; coefficients transformation. This is useful for constructing matrices of linear operators which act on vectors of DLR grid values, rather than DLR coefficients. As an example, suppose L is a linear functional such that L[G] = c, G is a Green's function and c is a scalar. If gc is the vector of DLR coefficient of G, then we can represent L by a vector l, with entries given by the action of L on the DLR basis functions, and we have l^T * gc = c. Then</dd></dl>
<p>c = l^T * it2cf * g = (it2cf^T * l)^T * g,</p>
<p>where g is the vector of values of G at the DLR nodes, and it2cf is the imaginary time values -&gt; coefficients matrix. Thus it2cf^T * l is the vector of the linear operator T acting on the vector of values of G at the DLR nodes, and can be precomputed using the vals2coefs method with the transpose option set to true. </p>
<dl class="section return"><dt>Returns</dt><dd>DLR coefficients of G </dd></dl>

</div>
</div>
Expand Down
Loading

0 comments on commit 49d12bb

Please sign in to comment.