41 template <
typename G,
typename Target>
constexpr bool gf_has_target() {
return std::is_same_v<typename G::target_t, Target>; }
64 template <
typename M,
typename T>
struct gf_h5_after_read {
65 template <
typename G>
static void invoke(h5::group, G &) {}
69 template <
typename T>
struct gf_h5_after_read<mesh::
imfreq, T> {
70 template <
typename G>
static void invoke(h5::group, G &g) {
76 if (g.mesh().positive_only())
95 template <
typename V,
typename T>
struct gf_h5_rw {
99 template <
typename G>
static void write(h5::group gr, G
const &g) {
109 template <
typename G>
static void read(h5::group gr, G &g) {
112 gf_h5_after_read<V, T>::invoke(gr, g);
friend void h5_read(h5::group fg, std::string const &subgroup_name, this_t &g)
Read a block Green's function from HDF5.
friend void h5_write(h5::group fg, std::string const &subgroup_name, this_t const &g)
Write a block Green's function to HDF5.
A mutable, non-owning view of a Green's function.
The owning Green's function container.
Imaginary frequency mesh type.
Provides tail fitting, slicing, inversion, reality and matrix-multiplication functions for Green's fu...
Provides a mutable non-owning view of a Green's function.
Provides Matsubara-frequency-specific functions and reality / hermiticity helpers for Green's functio...
Provides the Green's function class.
gf< mesh::imfreq, T > make_gf_from_real_gf(gf_const_view< mesh::imfreq, T, Layout > g)
Build a full-mesh Matsubara Green's function from one defined on positive frequencies only.
auto make_const_view(Gf const &g)
Make a const view of a Green's function.
Provides a mesh type on the imaginary frequency axis.
Traits class for reading/writing a Green's function from/to HDF5.