Skip to content

Commit 1546e50

Browse files
committed
[doc] Tutorails update, BlockSparseSolver printout cleanup
1 parent c9f0267 commit 1546e50

16 files changed

Lines changed: 1533 additions & 1594 deletions

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ added regularly. Until a stable release is announced, use at your own risk!
77

88
### Documentation
99

10-
For documentation and installation instructions see [triqs.github.io/xca](https://triqs.github.io/xca).
10+
For documentation and installation instructions see [triqs.github.io/xca/tree/block_sparse](https://triqs.github.io/xca/tree/block_sparse).
1111

1212
### References and citation
1313

doc/about.rst

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,20 @@
44
About
55
*****
66

7-
The TRIQS Sum-Of-Exponentials bold HYBridization expansion impurity solver was originally developed by Z. Huang, J. Kaye, and H. U.R. Strand. We thank N. Wentzell for contributions, support and guidance in using the `TRIQS library <https://github.com/TRIQS/triqs>`_ and its related packages.
7+
The TRIQS arbitrary Crossing Approximation (XCA) impurity solver has been developed by F. Rilloraza, Z. Huang, J. Kaye, and H. U.R. Strand. We thank N. Wentzell for contributions, support and guidance in using the `TRIQS library <https://github.com/TRIQS/triqs>`_ and its related packages.
88

9-
For compact representation of imaginary time propagators we use the C++ implementation of the Discrete Lehmann Representation provided by the ` ``cppdlr`` library <github.com/flatironinstitute/cppdlr/>`_. The TRIQS application structure is inherited from the `app4triqs <https://github.com/TRIQS/app4triqs>`_ framework.
9+
For compact representation of imaginary time propagators we use the C++ implementation of the Discrete Lehmann Representation provided by the `cppdlr library <github.com/flatironinstitute/cppdlr/>`_. The TRIQS application structure is inherited from the `app4triqs framework. <https://github.com/TRIQS/app4triqs>`_
1010

1111

1212
License
1313
=======
1414

15-
The TPRF application is published under the `GNU General Public License, version 3. <http://www.gnu.org/licenses/gpl.html>`_
15+
The ``triqs_xca`` application is published under the `GNU General Public License, version 3. <http://www.gnu.org/licenses/gpl.html>`_
1616

17-
Note that it implies that applications using TPRF must also be GPL.
17+
Note that it implies that applications using ``triqs_xca`` must also be GPL.
1818

1919

2020
Disclaimer
2121
==========
2222

23-
The program is provided as is, i.e. WITHOUT ANY WARRANTY of any kind, as stated in the license. In particular, its authors and contributors will take no responsability for any possible bugs or any improper use of these programs, including those resulting in incorrect scientific publications.
23+
The program is provided as is, i.e. WITHOUT ANY WARRANTY of any kind, as stated in the license. In particular, its authors and contributors will take no responsibility for any possible bugs or any improper use of these programs, including those resulting in incorrect scientific publications.

doc/background/ppsc.rst

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,17 @@ In the bold formulation :math:`G(\tau)` is self-consistently computed using the
99

1010
.. math::
1111
12-
(1 - G_0 \ast \Sigma \ast) G = G_0 \\
12+
(1 - G_0 \ast ( \Sigma + \eta) \ast) G = G_0 \\
1313
1414
where :math:`G_0(\tau)` is the atomic many-body propagator and :math:`\Sigma(\tau)` is the pseudo-particle self-energy truncated at a finite expansion order :math:`n` in the hybridization function :math:`\Delta(\tau)`.
1515

1616
.. math::
1717
1818
\Sigma[G] = \Sigma_1[G] + \Sigma_2[G] + \dots + \Sigma_n[G]
1919
20-
Once convergence is reached physical response functions like the single particle Green's function :math:`g(\tau) = \langle \mathcal{T} c(\tau) c^\dagger(0) \rangle` can be evaluted by a separate diagrammatic series (similar to :math:`\Sigma`).
20+
Once convergence is reached physical response functions like the single particle Green's function :math:`g(\tau) = -\langle \mathcal{T} c(\tau) c^\dagger(0) \rangle` can be evaluated by a separate diagrammatic series (similar to :math:`\Sigma`).
21+
22+
To stabilize the self consistency the pseudo particle Green's function :math:`G(\tau)` is normalized in between each new evaluaton of the self-energy :math:`\Sigma` by enforcing that :math:`\textrm{Tr}[G(\beta)] = -1` by tuning the pseudo particle chemical potential :math:`\eta` in the Dyson equation. This is essential to avoid numerical overflow.
2123

2224
The ``triqs_xca`` solver implements the bold hybridization expansion using the Discrete Lehmann Representation (DLR) [#dlr]_ [#cppdlr]_ for compact representation of propagators in imaginary time :math:`\tau` and a separate hybridization function compression approach [#xca]_ (based on the famous AAA algorithm) to evaluate the diagram series for :math:`\Sigma` with lower computational complexity than standard quadrature integration. [#dlrhyb]_
2325

doc/conf.py.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ rst_epilog = """
5757
version = version,
5858
)
5959

60-
copyright = '2022-2025 Z. Huang, H. U.R. Strand, The Simons Foundation, authors: Z. Huang, H. U.R. Strand, J. Kaye, N. Wentzell'
60+
copyright = '2022-2026 H. U.R. Strand, Z. Huang, F. Rilloraza, The Simons Foundation, authors: J. Kaye, N. Wentzell'
6161

6262
mathjax_path = "https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=default"
6363
templates_path = ['@CMAKE_CURRENT_SOURCE_DIR@/_templates']

doc/index.rst

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,22 @@
11
.. _welcome:
22

3-
The TRIQS Sum-Of-Exponentials bold HYBridization expansion impurity solver (triqs_xca)
3+
The TRIQS arbitrary Crossing Approximation (XCA) impurity solver
44
*********
55

6-
.. sidebar:: triqs_xca |PROJECT_VERSION|
6+
.. sidebar:: triqs_xca/block_sparse |PROJECT_VERSION|
77

8-
This is the homepage of triqs_xca |PROJECT_VERSION|.
8+
This is the homepage of ``triqs_xca/block_sparse`` |PROJECT_VERSION|.
99
For changes see the :doc:`changelog page <ChangeLog>`.
1010

1111
.. image:: _static/logo_github.png
1212
:width: 75%
1313
:align: center
14-
:target: https://github.com/triqs/xca
14+
:target: https://github.com/triqs/xca/tree/block_sparse
1515

1616

17-
The TRIQS Sum-Of-Exponentials bold HYBridization expansion impurity solver (triqs_xca) can solve generic multiband Anderson impurity problems approximately by perturbative expansion in the coupling to the environment (a.k.a. the hybridization function :math:`\Delta(\tau)`).
17+
The TRIQS arbitrary Crossing Approximation (**XCA**) impurity solver ``triqs_xca`` can solve generic multiband Anderson impurity problems approximately by perturbative expansion in the coupling to the environment (a.k.a. the hybridization function :math:`\Delta(\tau)`).
1818

19-
This implementation is leveraging the sum-of-exponentials (SOE) trick to acheive parametrically better computational complexity compared to direct integration and uses the Discrete Lehmann Representation (DLR) for representing response functions.
19+
This implementation is leveraging the sum-of-exponentials (SOE) trick to achieve parametrically better computational complexity compared to direct integration and uses the Discrete Lehmann Representation (DLR) for representing response functions.
2020

2121
Learn how to use triqs_xca in the :ref:`documentation`.
2222

@@ -31,8 +31,8 @@ We kindly ask you to cite the following method papers when using triqs_xca in yo
3131
.. [#cppdlr] `J. Kaye, H. U.R. Strand, N. Wentzell, J. Open Source Softw., 9(100), 6297, (2024) <https://doi.org/10.21105/joss.06297>`_
3232
.. [#dlr] `J. Kaye, K. Chen, O. Parcollet, Phys. Rev. B 105, 235115 (2021) <https://doi.org/10.1103/PhysRevB.105.235115>`_
3333
34-
Note that this application uses the TRIQS library please also see its `citation page. <https://triqs.github.io/triqs/latest/about.html#citation>`_
35-
34+
Note that this application uses the TRIQS library, please also see its `citation page <https://triqs.github.io/triqs/latest/about.html#citation>`_,
35+
as well as the Adapol package, see its `citation page. <https://flatironinstitute.github.io/adapol/latest/index.html#references>`_
3636

3737
.. toctree::
3838
:maxdepth: 2

doc/install.rst

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,11 @@ Compiling xca from source
1111
Prerequisites
1212
-------------
1313

14-
#. The :ref:`TRIQS <triqslibs:welcome>` library, see :ref:`TRIQS installation instruction <triqslibs:triqs_install>`.
14+
#. The :ref:`TRIQS <triqslibs:welcome>` library, see :ref:`TRIQS installation instructions. <triqslibs:triqs_install>`
15+
We are currently depending on the ``unstable`` development branch of TRIQS that has to be compiled from source. (*Note that the packaged versions of TRIQS are not supported.*)
1516
In the following, we assume that TRIQS is installed in the directory ``path_to_triqs``.
1617

17-
We are currently depending on the `unstable` development branch of TRIQS that has to be compiled from source. (Note that the packaged versions of TRIQS are not supported.)
18-
19-
#. The `adapol <https://github.com/flatironinstitute/adapol>`_ package (Adaptive Pole Fitting for Quantum Many-Body Physics) has to be installed on the `triqs_xca` branch. This can be achieved using a local `pip` install, e.g.::
18+
#. The `Adapol <https://github.com/flatironinstitute/adapol>`_ package (Adaptive Pole Fitting for Quantum Many-Body Physics) has to be installed on the ``triqs_xca`` branch. This can be achieved using a local ``pip`` install, e.g.::
2019

2120
$ git clone git@github.com:flatironinstitute/adapol.git --branch triqs_xca
2221
$ python -m pip install -e ./adapol
@@ -25,7 +24,7 @@ Prerequisites
2524

2625
$ python -c "import pyed.TriqsExactDiagonalization"
2726

28-
.. note:: The `pyed` python module has to be installed manually. Trying to install it using `pip` will not work since there is another python module with the same name (doing something completely different) registered in the PIP package index.
27+
.. note:: The ``pyed`` python module has to be installed manually. Trying to install it using ``pip`` will not work since there is another python module with the same name (doing something completely different) registered in the PIP package index.
2928

3029
Installation steps
3130
------------------
@@ -64,7 +63,7 @@ To use a particular version, go into the directory with the sources, and look at
6463

6564
Checkout the version of the code that you want::
6665

67-
$ git checkout 2.1.0
66+
$ git checkout block_sparse
6867

6968
and follow steps 2 to 4 above to compile the code.
7069

@@ -78,11 +77,13 @@ The compilation of ``xca`` can be configured using CMake-options::
7877
+-----------------------------------------------------------------+-----------------------------------------------+
7978
| Options | Syntax |
8079
+=================================================================+===============================================+
81-
| Specify an installation path other than path_to_triqs | -DCMAKE_INSTALL_PREFIX=path_to_xca |
80+
| Specify an installation path other than path_to_triqs | -DCMAKE_INSTALL_PREFIX=path_to_xca |
8281
+-----------------------------------------------------------------+-----------------------------------------------+
8382
| Build in Debugging Mode | -DCMAKE_BUILD_TYPE=Debug |
8483
+-----------------------------------------------------------------+-----------------------------------------------+
8584
| Disable testing (not recommended) | -DBuild_Tests=OFF |
8685
+-----------------------------------------------------------------+-----------------------------------------------+
8786
| Build the documentation | -DBuild_Documentation=ON |
8887
+-----------------------------------------------------------------+-----------------------------------------------+
88+
| Update the Python bindings (developers only) | -DUpdate_Python_Bindings=ON |
89+
+-----------------------------------------------------------------+-----------------------------------------------+

0 commit comments

Comments
 (0)