gf and views
Synopsis:
template<typename Variable, typename Target=matrix_valued, typename Opt=void> class gf;
template<typename Variable, typename Target=matrix_valued, typename Opt=void> class gf_view;
template<typename Variable, typename Target=matrix_valued, typename Opt=void> class gf_const_view;
Hereafter, we describe the containers, the views. Properties specific to each specializations are described in a specific page, linked in the table below.
Template parameters
Template parameter | Accepted type | Access in the class | Meaning |
---|---|---|---|
Variable | Cf table below | variable_t | The domain of definition of the Green function |
Target | Cf Table below | target_t | The target space of the function |
Opt | void | option_t | Currently unused |
The various specializations of the container and its views are decribed in in the specializations page.
The Variable template parameter can take the following values:
Variable | Meaning |
---|---|
imfreq | Imaginary Matsubara frequency |
imtime | Imaginary Matsubara time |
refreq | Real frequency |
retime | Real time |
legendre | Legendre polynomial representation |
block_index | Block Green function |
prod<Gs…> | Cartesian product of gf<Gs> … functions. |
The Target template parameter can take the following values:
Target | Meaning |
---|---|
scalar_valued | The function is scalar valued (double, complex…). |
matrix_valued [default] | The function is matrix valued. |
tensor_valued<R> | The function is tensor valued with rank |
Member types
Member type | Definitions |
---|---|
view_type | The corresponding view type |
regular_type | The corresponding regular type i.e. the container itself |
mesh_t | The mesh |
target_shape_t | Type storing the information to construct the target space, Depends on the specialisation (a shape for matrix_valued gf, empty for a scalar valued, … Cf Specialisations) |
data_t | Type of the data array |
singularity_t | Type of the singularity (tail, nothing…) |
symmetry_t | Symmetry (unused at this stage). |
Member functions
Member function | Meaning |
---|---|
(constructor) | |
(destructor) | |
operator () | Evaluation on a point of the domain |
operator [] | Access to the value on the mesh |
mesh | Access to the mesh |
singularity | Access to the singularity |
symmetry | Access to the symmetry |
data | Direct view of the data [Advanced] |
operator = | Assigns values to the container |
operator +=,-=,*=,/= | compound assignment operators |
Non-member functions
Member function | Meaning |
---|---|
swap | Swap of 2 containers |
operator<< | Writing to stream |
reinterpret_scalar_valued_gf_as_matrix_valued | Reinterpret a scalar_valued gf as a 1x1 matrix_valued view |