Skip to content

Commit

Permalink
Deploying to github.io from @ 807bb96 🚀
Browse files Browse the repository at this point in the history
  • Loading branch information
jasonkaye committed Sep 21, 2023
1 parent 91ec0c6 commit 0cb65f9
Show file tree
Hide file tree
Showing 15 changed files with 98 additions and 15 deletions.
Binary file modified docs/main/.doctrees/background.doctree
Binary file not shown.
Binary file modified docs/main/.doctrees/environment.pickle
Binary file not shown.
Binary file modified docs/main/.doctrees/examples.doctree
Binary file not shown.
1 change: 1 addition & 0 deletions docs/main/ChangeLog.html
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@
<li class="toctree-l2"><a class="reference internal" href="background.html#operations-in-the-dlr-basis">Operations in the DLR basis</a></li>
<li class="toctree-l2"><a class="reference internal" href="background.html#imaginary-time-point-format">Imaginary time point format</a></li>
<li class="toctree-l2"><a class="reference internal" href="background.html#matsubara-frequency-point-format">Matsubara frequency point format</a></li>
<li class="toctree-l2"><a class="reference internal" href="background.html#symmetrized-dlr-grids">Symmetrized DLR grids</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="examples.html">Examples</a><ul>
Expand Down
26 changes: 25 additions & 1 deletion docs/main/_sources/background.rst.txt
Original file line number Diff line number Diff line change
Expand Up @@ -243,4 +243,28 @@ We define the Matsubara (or imaginary) frequency points as :math:`i \nu_n = (2 n
i/\beta` for bosonic Green's functions. In ``cppdlr``, Matsubara frequency
points are represented by specifying the integer ``n``, the inverse temperature
:math:`\beta`, and whether the point is a fermionic or bosonic Matsubara
frequency using the ``statistic_t`` specifier.
frequency using the ``statistic_t`` specifier.

Symmetrized DLR grids
---------------------

By default, the DLR frequencies :math:`\omega_l` are not chosen to be symmetrized
about :math:`\omega = 0`, nor are the DLR imaginary time nodes :math:`\tau_k`
chosen to be symmetrized about :math:`\tau = \beta/2` or the imaginary frequency
nodes about :math:`i \nu_n = 0`. Indeed, this would represent an additional
constraint in the pivoted Gram-Schmidt procedure used to select the points, and
is not necessary in most applications. However, in some cases, it might be
desirable to have symmetric frequencies and grids, and ``cppdlr`` provides this
functionality via symmetrization flags. Please see the section :ref:`List of
other cppdlr capabilities<listofothercapabilities>` on the :ref:`examples
page<examples>` for a list of `cppdlr` tests which showcase this functionality.

We make a small note about symmetrization for bosonic Green's functions. In this
case, we always select the DLR frequency :math:`\omega = 0`, the DLR imaginary
time node :math:`\tau = \beta/2`, and the DLR imaginary frequency node
:math:`i \nu_n = 0`. The reason is as follows. A symmetric DLR imaginary frequency grid
containing the point :math:`i \nu_n = 0` must have an odd number of points.
Since it is undesirable to disallow this point, and to make sure all grids have
the same number :math:`r` of points, we force :math:`r` to be odd. This requires
including in each grid, by hand, a single point of high symmetry, and then allowing the
pivoted Gram-Schmidt procedure to select the rest of the points symmetrically.
9 changes: 9 additions & 0 deletions docs/main/_sources/examples.rst.txt
Original file line number Diff line number Diff line change
Expand Up @@ -195,6 +195,15 @@ list several such use cases below.
- Obtain a DLR expansion by interpolation on the DLR Matsubara frequency nodes:
see the tests ``imfreq_ops.interp_scalar`` and ``imfreq_ops.interp_matrix`` in
the file ``test/imfreq_ops.cpp``.
- Obtain symmetrized DLR grids, and obtain a DLR expansion by interpolation on
these grids: see the tests ``imtime_ops.interp_matrix_sym_fer`` and
``imtime_ops.interp_matrix_sym_bos`` in the file ``test/imtime_ops.cpp`` for
fermionic and bosonic Green's functions, respectively, on a symmetric
imaginary time grid. See the tests ``imfreq_ops.interp_matrix_sym_fer`` and
``imfreq_ops.interp_matrix_sym_bos`` in the file ``test/imfreq_ops.cpp`` for
fermionic and bosonic Green's functions, respectively, on a symmetric
Matsubara frequency grid. All of these tests show how to obtain a symmetric
set of DLR frequencies.
- Given a fixed self-energy, solve the Dyson equation in imaginary time to
obtain the Green's function: see the tests ``dyson_it.dyson_vs_ed_real``,
``dyson_it.dyson_vs_ed_cmplx``, and ``dyson_it.dyson_bethe`` in the file
Expand Down
23 changes: 23 additions & 0 deletions docs/main/background.html
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@
<li class="toctree-l2"><a class="reference internal" href="#operations-in-the-dlr-basis">Operations in the DLR basis</a></li>
<li class="toctree-l2"><a class="reference internal" href="#imaginary-time-point-format">Imaginary time point format</a></li>
<li class="toctree-l2"><a class="reference internal" href="#matsubara-frequency-point-format">Matsubara frequency point format</a></li>
<li class="toctree-l2"><a class="reference internal" href="#symmetrized-dlr-grids">Symmetrized DLR grids</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="examples.html">Examples</a><ul>
Expand Down Expand Up @@ -294,6 +295,28 @@ <h2>Matsubara frequency point format<a class="headerlink" href="#matsubara-frequ
<span class="math notranslate nohighlight">\(\beta\)</span>, and whether the point is a fermionic or bosonic Matsubara
frequency using the <code class="docutils literal notranslate"><span class="pre">statistic_t</span></code> specifier.</p>
</div>
<div class="section" id="symmetrized-dlr-grids">
<h2>Symmetrized DLR grids<a class="headerlink" href="#symmetrized-dlr-grids" title="Permalink to this heading"></a></h2>
<p>By default, the DLR frequencies <span class="math notranslate nohighlight">\(\omega_l\)</span> are not chosen to be symmetrized
about <span class="math notranslate nohighlight">\(\omega = 0\)</span>, nor are the DLR imaginary time nodes <span class="math notranslate nohighlight">\(\tau_k\)</span>
chosen to be symmetrized about <span class="math notranslate nohighlight">\(\tau = \beta/2\)</span> or the imaginary frequency
nodes about <span class="math notranslate nohighlight">\(i \nu_n = 0\)</span>. Indeed, this would represent an additional
constraint in the pivoted Gram-Schmidt procedure used to select the points, and
is not necessary in most applications. However, in some cases, it might be
desirable to have symmetric frequencies and grids, and <code class="docutils literal notranslate"><span class="pre">cppdlr</span></code> provides this
functionality via symmetrization flags. Please see the section <a class="reference internal" href="examples.html#listofothercapabilities"><span class="std std-ref">List of
other cppdlr capabilities</span></a> on the <a class="reference internal" href="examples.html#examples"><span class="std std-ref">examples
page</span></a> for a list of <cite>cppdlr</cite> tests which showcase this functionality.</p>
<p>We make a small note about symmetrization for bosonic Green’s functions. In this
case, we always select the DLR frequency <span class="math notranslate nohighlight">\(\omega = 0\)</span>, the DLR imaginary
time node <span class="math notranslate nohighlight">\(\tau = \beta/2\)</span>, and the DLR imaginary frequency node
<span class="math notranslate nohighlight">\(i \nu_n = 0\)</span>. The reason is as follows. A symmetric DLR imaginary frequency grid
containing the point <span class="math notranslate nohighlight">\(i \nu_n = 0\)</span> must have an odd number of points.
Since it is undesirable to disallow this point, and to make sure all grids have
the same number <span class="math notranslate nohighlight">\(r\)</span> of points, we force <span class="math notranslate nohighlight">\(r\)</span> to be odd. This requires
including in each grid, by hand, a single point of high symmetry, and then allowing the
pivoted Gram-Schmidt procedure to select the rest of the points symmetrically.</p>
</div>
</div>


Expand Down
1 change: 1 addition & 0 deletions docs/main/documentation.html
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@
<li class="toctree-l2"><a class="reference internal" href="background.html#operations-in-the-dlr-basis">Operations in the DLR basis</a></li>
<li class="toctree-l2"><a class="reference internal" href="background.html#imaginary-time-point-format">Imaginary time point format</a></li>
<li class="toctree-l2"><a class="reference internal" href="background.html#matsubara-frequency-point-format">Matsubara frequency point format</a></li>
<li class="toctree-l2"><a class="reference internal" href="background.html#symmetrized-dlr-grids">Symmetrized DLR grids</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="examples.html">Examples</a><ul>
Expand Down
45 changes: 32 additions & 13 deletions docs/main/examples.html
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@
<li class="toctree-l2"><a class="reference internal" href="background.html#operations-in-the-dlr-basis">Operations in the DLR basis</a></li>
<li class="toctree-l2"><a class="reference internal" href="background.html#imaginary-time-point-format">Imaginary time point format</a></li>
<li class="toctree-l2"><a class="reference internal" href="background.html#matsubara-frequency-point-format">Matsubara frequency point format</a></li>
<li class="toctree-l2"><a class="reference internal" href="background.html#symmetrized-dlr-grids">Symmetrized DLR grids</a></li>
</ul>
</li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">Examples</a><ul>
Expand Down Expand Up @@ -233,26 +234,44 @@ <h2>Example: form a DLR expansion via interpolation, and evaluate it in imaginar
<p>For <code class="docutils literal notranslate"><span class="pre">cppdlr</span></code> use cases which are not covered by examples in the <code class="docutils literal notranslate"><span class="pre">examples</span></code> directory,
relevant unit tests in the <code class="docutils literal notranslate"><span class="pre">test</span></code> directory can serve as useful examples. We
list several such use cases below.</p>
<ul class="simple">
<li>Obtain a DLR expansion by fitting to data in imaginary time: see the tests <code class="docutils literal notranslate"><span class="pre">imtime_ops.fit_scalar</span></code>,
<code class="docutils literal notranslate"><span class="pre">imtime_ops.fit_matrix</span></code>, and <code class="docutils literal notranslate"><span class="pre">imtime_ops.fit_matrix_cmplx</span></code> in the file <code class="docutils literal notranslate"><span class="pre">test/imtime_ops.cpp</span></code>.</li>
<li>Compute the convolution of two DLR expansions: see the tests
<ul>
<li><p class="first">Obtain a DLR expansion by fitting to data in imaginary time: see the tests <code class="docutils literal notranslate"><span class="pre">imtime_ops.fit_scalar</span></code>,
<code class="docutils literal notranslate"><span class="pre">imtime_ops.fit_matrix</span></code>, and <code class="docutils literal notranslate"><span class="pre">imtime_ops.fit_matrix_cmplx</span></code> in the file <code class="docutils literal notranslate"><span class="pre">test/imtime_ops.cpp</span></code>.</p>
</li>
<li><p class="first">Compute the convolution of two DLR expansions: see the tests
<code class="docutils literal notranslate"><span class="pre">imtime_ops.convolve_scalar_real</span></code>, <code class="docutils literal notranslate"><span class="pre">imtime_ops.convolve_scalar_cmplx</span></code>,
<code class="docutils literal notranslate"><span class="pre">imtime_ops.convolve_matrix_real</span></code>, and <code class="docutils literal notranslate"><span class="pre">imtime_ops.convolve_matrix_cmplx</span></code>
in the file <code class="docutils literal notranslate"><span class="pre">test/imtime_ops.cpp</span></code>.</li>
<li>Perform a “reflection” operation <span class="math notranslate nohighlight">\(G(\tau) \mapsto G(\beta-\tau)\)</span> on a
in the file <code class="docutils literal notranslate"><span class="pre">test/imtime_ops.cpp</span></code>.</p>
</li>
<li><p class="first">Perform a “reflection” operation <span class="math notranslate nohighlight">\(G(\tau) \mapsto G(\beta-\tau)\)</span> on a
Green’s function: see the test <code class="docutils literal notranslate"><span class="pre">imtime_ops.refl_matrix</span></code> in the file
<code class="docutils literal notranslate"><span class="pre">test/imtime_ops.cpp</span></code>.</li>
<li>Obtain a DLR expansion by interpolation on the DLR Matsubara frequency nodes:
<code class="docutils literal notranslate"><span class="pre">test/imtime_ops.cpp</span></code>.</p>
</li>
<li><p class="first">Obtain a DLR expansion by interpolation on the DLR Matsubara frequency nodes:
see the tests <code class="docutils literal notranslate"><span class="pre">imfreq_ops.interp_scalar</span></code> and <code class="docutils literal notranslate"><span class="pre">imfreq_ops.interp_matrix</span></code> in
the file <code class="docutils literal notranslate"><span class="pre">test/imfreq_ops.cpp</span></code>.</li>
<li>Given a fixed self-energy, solve the Dyson equation in imaginary time to
the file <code class="docutils literal notranslate"><span class="pre">test/imfreq_ops.cpp</span></code>.</p>
</li>
<li><p class="first">Obtain symmetrized DLR grids, and obtain a DLR expansion by interpolation on
these grids: see the tests <code class="docutils literal notranslate"><span class="pre">imtime_ops.interp_matrix_sym_fer</span></code> and
<code class="docutils literal notranslate"><span class="pre">imtime_ops.interp_matrix_sym_bos</span></code> in the file <code class="docutils literal notranslate"><span class="pre">test/imtime_ops.cpp</span></code> for
fermionic and bosonic Green’s functions, respectively, on a symmetric
imaginary time grid. See the tests <code class="docutils literal notranslate"><span class="pre">imfreq_ops.interp_matrix_sym_fer</span></code> and</p>
<blockquote>
<div><p><code class="docutils literal notranslate"><span class="pre">imfreq_ops.interp_matrix_sym_bos</span></code> in the file <code class="docutils literal notranslate"><span class="pre">test/imfreq_ops.cpp</span></code> for
fermionic and bosonic Green’s functions, respectively, on a symmetric
Matsubara frequency grid. All of these tests show how to obtain a symmetric
set of DLR frequencies.</p>
</div></blockquote>
</li>
<li><p class="first">Given a fixed self-energy, solve the Dyson equation in imaginary time to
obtain the Green’s function: see the tests <code class="docutils literal notranslate"><span class="pre">dyson_it.dyson_vs_ed_real</span></code>,
<code class="docutils literal notranslate"><span class="pre">dyson_it.dyson_vs_ed_cmplx</span></code>, and <code class="docutils literal notranslate"><span class="pre">dyson_it.dyson_bethe</span></code> in the file
<code class="docutils literal notranslate"><span class="pre">test/dyson_it.cpp</span></code>.</li>
<li>Solve the Dyson equation self-consistently in imaginary time, given an
<code class="docutils literal notranslate"><span class="pre">test/dyson_it.cpp</span></code>.</p>
</li>
<li><p class="first">Solve the Dyson equation self-consistently in imaginary time, given an
expression for the self-energy in terms of the Green’s function: see the test
<code class="docutils literal notranslate"><span class="pre">dyson_it.dyson_bethe_fpi</span></code> in the file <code class="docutils literal notranslate"><span class="pre">test/dyson_it.cpp</span></code>.</li>
<code class="docutils literal notranslate"><span class="pre">dyson_it.dyson_bethe_fpi</span></code> in the file <code class="docutils literal notranslate"><span class="pre">test/dyson_it.cpp</span></code>.</p>
</li>
</ul>
</div>
</div>
Expand Down
1 change: 1 addition & 0 deletions docs/main/genindex.html
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@
<li class="toctree-l2"><a class="reference internal" href="background.html#operations-in-the-dlr-basis">Operations in the DLR basis</a></li>
<li class="toctree-l2"><a class="reference internal" href="background.html#imaginary-time-point-format">Imaginary time point format</a></li>
<li class="toctree-l2"><a class="reference internal" href="background.html#matsubara-frequency-point-format">Matsubara frequency point format</a></li>
<li class="toctree-l2"><a class="reference internal" href="background.html#symmetrized-dlr-grids">Symmetrized DLR grids</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="examples.html">Examples</a><ul>
Expand Down
2 changes: 2 additions & 0 deletions docs/main/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@
<li class="toctree-l2"><a class="reference internal" href="background.html#operations-in-the-dlr-basis">Operations in the DLR basis</a></li>
<li class="toctree-l2"><a class="reference internal" href="background.html#imaginary-time-point-format">Imaginary time point format</a></li>
<li class="toctree-l2"><a class="reference internal" href="background.html#matsubara-frequency-point-format">Matsubara frequency point format</a></li>
<li class="toctree-l2"><a class="reference internal" href="background.html#symmetrized-dlr-grids">Symmetrized DLR grids</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="examples.html">Examples</a><ul>
Expand Down Expand Up @@ -166,6 +167,7 @@ <h2>Related libraries<a class="headerlink" href="#related-libraries" title="Perm
<li class="toctree-l2"><a class="reference internal" href="background.html#operations-in-the-dlr-basis">Operations in the DLR basis</a></li>
<li class="toctree-l2"><a class="reference internal" href="background.html#imaginary-time-point-format">Imaginary time point format</a></li>
<li class="toctree-l2"><a class="reference internal" href="background.html#matsubara-frequency-point-format">Matsubara frequency point format</a></li>
<li class="toctree-l2"><a class="reference internal" href="background.html#symmetrized-dlr-grids">Symmetrized DLR grids</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="examples.html">Examples</a><ul>
Expand Down
1 change: 1 addition & 0 deletions docs/main/install.html
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@
<li class="toctree-l2"><a class="reference internal" href="background.html#operations-in-the-dlr-basis">Operations in the DLR basis</a></li>
<li class="toctree-l2"><a class="reference internal" href="background.html#imaginary-time-point-format">Imaginary time point format</a></li>
<li class="toctree-l2"><a class="reference internal" href="background.html#matsubara-frequency-point-format">Matsubara frequency point format</a></li>
<li class="toctree-l2"><a class="reference internal" href="background.html#symmetrized-dlr-grids">Symmetrized DLR grids</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="examples.html">Examples</a><ul>
Expand Down
1 change: 1 addition & 0 deletions docs/main/issues.html
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@
<li class="toctree-l2"><a class="reference internal" href="background.html#operations-in-the-dlr-basis">Operations in the DLR basis</a></li>
<li class="toctree-l2"><a class="reference internal" href="background.html#imaginary-time-point-format">Imaginary time point format</a></li>
<li class="toctree-l2"><a class="reference internal" href="background.html#matsubara-frequency-point-format">Matsubara frequency point format</a></li>
<li class="toctree-l2"><a class="reference internal" href="background.html#symmetrized-dlr-grids">Symmetrized DLR grids</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="examples.html">Examples</a><ul>
Expand Down
1 change: 1 addition & 0 deletions docs/main/search.html
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@
<li class="toctree-l2"><a class="reference internal" href="background.html#operations-in-the-dlr-basis">Operations in the DLR basis</a></li>
<li class="toctree-l2"><a class="reference internal" href="background.html#imaginary-time-point-format">Imaginary time point format</a></li>
<li class="toctree-l2"><a class="reference internal" href="background.html#matsubara-frequency-point-format">Matsubara frequency point format</a></li>
<li class="toctree-l2"><a class="reference internal" href="background.html#symmetrized-dlr-grids">Symmetrized DLR grids</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="examples.html">Examples</a><ul>
Expand Down
Loading

0 comments on commit 0cb65f9

Please sign in to comment.