TRIQS/TRIQS 4.0.0
Researching Interacting Quantum Systems
Loading...
Searching...
No Matches
mapped_functions.hxx
Go to the documentation of this file.
1
5
6#pragma once
8/*
9 File is generated by vim.
10 To regenerate the file,
11 1- load the vim function by (or add this to your .vim ?)
12 source vimexpand.vim
13 2- all it
14 call VimExpandSimple()
15
16
17 It is better than C macro, it gives a cleaner code
18 (for error messages, no preproc, doc generation : otherwise no doc string ...)
19
20 ---- normal mapping -------
21
22 VIMEXPAND inverse reinterpret_scalar_valued_gf_as_matrix_valued make_gf_from_fourier make_gf_from_inverse_fourier
25 template <typename M, typename T, typename L, int A> auto @(block_gf<M, T, L, A> &g) {
26 auto l = [](auto &&x) { return @(x); };
27 return map_block_gf(l, g);
28 }
31 template <typename M, typename T, typename L, int A> auto @(block_gf<M, T, L, A> const &g) {
32 auto l = [](auto &&x) { return @(x); };
33 return map_block_gf(l, g);
34 }
37 template <typename M, typename T, typename L, int A, bool C> auto @(block_gf_view<M, T, L, A, C> g) {
38 auto l = [](auto &&x) { return @(x); };
39 return map_block_gf(l, g);
40 }
41
42*/
43
44namespace triqs::gfs {
45
46 // --- VIMEXPAND_START --DO NOT EDIT BELOW --
47
50 template <typename M, typename T, typename L, int A> auto inverse(block_gf<M, T, L, A> &g) {
51 auto l = [](auto &&x) { return inverse(x); };
52 return map_block_gf(l, g);
53 }
54
56 template <typename M, typename T, typename L, int A> auto inverse(block_gf<M, T, L, A> const &g) {
57 auto l = [](auto &&x) { return inverse(x); };
58 return map_block_gf(l, g);
59 }
60
62 template <typename M, typename T, typename L, int A, bool C> auto inverse(block_gf_view<M, T, L, A, C> g) {
63 auto l = [](auto &&x) { return inverse(x); };
64 return map_block_gf(l, g);
65 }
66
69 template <typename M, typename T, typename L, int A> auto reinterpret_scalar_valued_gf_as_matrix_valued(block_gf<M, T, L, A> &g) {
70 auto l = [](auto &&x) { return reinterpret_scalar_valued_gf_as_matrix_valued(x); };
71 return map_block_gf(l, g);
72 }
73
75 template <typename M, typename T, typename L, int A> auto reinterpret_scalar_valued_gf_as_matrix_valued(block_gf<M, T, L, A> const &g) {
76 auto l = [](auto &&x) { return reinterpret_scalar_valued_gf_as_matrix_valued(x); };
77 return map_block_gf(l, g);
78 }
79
81 template <typename M, typename T, typename L, int A, bool C> auto reinterpret_scalar_valued_gf_as_matrix_valued(block_gf_view<M, T, L, A, C> g) {
82 auto l = [](auto &&x) { return reinterpret_scalar_valued_gf_as_matrix_valued(x); };
83 return map_block_gf(l, g);
84 }
85
88 template <typename M, typename T, typename L, int A> auto make_gf_from_fourier(block_gf<M, T, L, A> &g) {
89 auto l = [](auto &&x) { return make_gf_from_fourier(x); };
90 return map_block_gf(l, g);
91 }
92
94 template <typename M, typename T, typename L, int A> auto make_gf_from_fourier(block_gf<M, T, L, A> const &g) {
95 auto l = [](auto &&x) { return make_gf_from_fourier(x); };
96 return map_block_gf(l, g);
97 }
98
100 template <typename M, typename T, typename L, int A, bool C> auto make_gf_from_fourier(block_gf_view<M, T, L, A, C> g) {
101 auto l = [](auto &&x) { return make_gf_from_fourier(x); };
102 return map_block_gf(l, g);
103 }
104
107 template <typename M, typename T, typename L, int A> auto make_gf_from_inverse_fourier(block_gf<M, T, L, A> &g) {
108 auto l = [](auto &&x) { return make_gf_from_inverse_fourier(x); };
109 return map_block_gf(l, g);
110 }
111
113 template <typename M, typename T, typename L, int A> auto make_gf_from_inverse_fourier(block_gf<M, T, L, A> const &g) {
114 auto l = [](auto &&x) { return make_gf_from_inverse_fourier(x); };
115 return map_block_gf(l, g);
116 }
117
119 template <typename M, typename T, typename L, int A, bool C> auto make_gf_from_inverse_fourier(block_gf_view<M, T, L, A, C> g) {
120 auto l = [](auto &&x) { return make_gf_from_inverse_fourier(x); };
121 return map_block_gf(l, g);
122 }
123
124} // namespace triqs::gfs
A non-owning view of a block Green's function.
The owning block Green's function container.
Definition block_gf.hpp:259
auto inverse(block_gf< M, T, L, A > &g)
Apply inverse block-wise to each block of the block Green's function.
auto reinterpret_scalar_valued_gf_as_matrix_valued(block_gf< M, T, L, A > &g)
Apply reinterpret_scalar_valued_gf_as_matrix_valued block-wise to each block of the block Green's fun...
auto make_gf_from_fourier(block_gf< M, T, L, A > &g)
Apply make_gf_from_fourier block-wise to each block of the block Green's function.
auto make_gf_from_inverse_fourier(block_gf< M, T, L, A > &g)
Apply make_gf_from_inverse_fourier block-wise to each block of the block Green's function.
auto map_block_gf(F &&f, G &&g)
Apply a callable to each block of a block Green's function.
Definition map.hpp:131
Provides the function applying a callable block by block to a block Green's function.