TRIQS/TRIQS 4.0.0
Researching Interacting Quantum Systems
Loading...
Searching...
No Matches
gfs.hpp
Go to the documentation of this file.
1// Copyright (c) 2013-2018 Commissariat à l'énergie atomique et aux énergies alternatives (CEA)
2// Copyright (c) 2013-2018 Centre national de la recherche scientifique (CNRS)
3// Copyright (c) 2018-2023 Simons Foundation
4// Copyright (c) 2023 Hugo U.R. Strand
5//
6// This program is free software: you can redistribute it and/or modify
7// it under the terms of the GNU General Public License as published by
8// the Free Software Foundation, either version 3 of the License, or
9// (at your option) any later version.
10//
11// This program is distributed in the hope that it will be useful,
12// but WITHOUT ANY WARRANTY; without even the implied warranty of
13// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14// GNU General Public License for more details.
15//
16// You may obtain a copy of the License at
17// https://www.gnu.org/licenses/gpl-3.0.txt
18//
19// Authors: Michel Ferrero, Olivier Parcollet, Hugo U. R. Strand, Nils Wentzell
20
25
26#pragma once
27
32
33// for python code generator, we need to know what has to been included.
34#define TRIQS_INCLUDED_GF
35
36// BACKWARD COMPAT
37#include "./arrays.hpp"
38
39// the meshes
40#include "./mesh.hpp"
41namespace triqs::gfs {
42 using mesh::brzone;
43 using mesh::chebyshev;
44 using mesh::cyclat;
45 using mesh::dlr;
46 using mesh::dlr_imfreq;
47 using mesh::dlr_imtime;
48 using mesh::imfreq;
49 using mesh::imtime;
50 using mesh::legendre;
52 using mesh::prod;
53 using mesh::refreq;
54 using mesh::retime;
55} // namespace triqs::gfs
56
57// the targets
58#include "./gfs/gf/defs.hpp"
59#include "./gfs/gf/targets.hpp"
60
61// gf class and its mechanisms
62#include "./gfs/gf/gf.hpp"
63#include "./gfs/gf/gf_view.hpp"
65#include "./gfs/make_gf.hpp"
67#include "./gfs/gf/mpi.hpp"
68
69// expression template
70#include "./gfs/gf/gf_expr.hpp"
71
72// evaluator
73#include "./gfs/evaluator.hpp"
74
75// block gf
78#include "./gfs/block/mpi.hpp"
81#include "./gfs/block/expr.hpp"
83#include "./gfs/block/map.hpp"
85
86// hdf5
87#include "./gfs/h5.hpp"
88
95
96// fourier
99
101
102#ifdef C2PY_INCLUDED
103#include "./c2py_converters/gf.hpp"
104#endif
Backward-compatibility umbrella header pulling in the nda array library.
Provides the CLEF auto-assignment hooks for block Green's functions.
Provides MPI routines for block Green's function objects.
Provides the block Green's function container.
Provides a non-owning view of a block Green's function.
Provides common type aliases, forward declarations and internal helpers for the Green's function cont...
Provides functions to compute the density (occupation) from Green's functions.
Provides the gf_evaluator that evaluates a Green's function at arbitrary mesh points.
Provides the lazy expression templates that fuse arithmetic operations on block Green's functions.
Provides the free factory functions for block Green's functions.
Provides the Fourier transform factories and the lazy fourier(...) assignment for Green's functions.
Provides tail fitting, slicing, inversion, reality and matrix-multiplication functions for Green's fu...
Provides the CLEF auto-assignment hooks for Green's functions.
Provides MPI routines for Green's function objects.
Provides the triqs::gfs::gf_const_view container, a read-only non-owning view of a Green's function.
Provides the lazy expression templates that fuse arithmetic operations on Green's functions.
Provides a mutable non-owning view of a Green's function.
Provides the block-wise lazy Fourier transform for block Green's functions.
Provides conversions between Green's functions and the Discrete Lehmann Representation (DLR).
Provides Matsubara-frequency-specific functions and reality / hermiticity helpers for Green's functio...
Provides imaginary-time Green's function utilities.
Provides functions specific to Legendre-basis Green's functions.
Provides the Green's function class.
imfreq make_adjoint_mesh(imtime const &m, long n_iw=-1)
Create the adjoint imaginary-frequency mesh to a given imaginary-time mesh.
Definition adjoint.hpp:50
Provides the HDF5 read/write machinery for Green's functions.
Provides transformations between Legendre-basis and Matsubara (imaginary-time / imaginary-frequency) ...
Provides factory functions to construct Green's functions from a mesh and target, or from another Gre...
Provides the function applying a callable block by block to a block Green's function.
Provides block-wise applications (via triqs::gfs::map_block_gf) of common Green's function operations...
Umbrella header for the TRIQS mesh types.
Provides a helper to apply a transform to a single component of a product-mesh Green's function.
Provides the target types that fix the value stored at each mesh point of a Green's function.