3
0
mirror of https://github.com/triqs/dft_tools synced 2024-12-27 06:43:40 +01:00
dft_tools/doc/reference/c++/gf/gf_refreq.rst

97 lines
2.3 KiB
ReStructuredText
Raw Normal View History

2013-08-22 16:55:51 +02:00
.. highlight:: c
.. _gf_refreq:
Real frequencies
==========================================================
2013-08-22 16:55:51 +02:00
This is a specialisation of :ref:`gf<gf_and_view>` for real frequencies.
Synopsis
------------
.. code::
gf<refreq, Target, Opt>
The *Target* template parameter can take the following values :
2013-08-22 16:55:51 +02:00
+-------------------------+-----------------------------------------------------+
| Target | Meaning |
+=========================+=====================================================+
| scalar_valued | The function is scalar valued (double, complex...). |
+-------------------------+-----------------------------------------------------+
| matrix_valued [default] | The function is matrix valued. |
+-------------------------+-----------------------------------------------------+
2013-08-22 16:55:51 +02:00
Domain & mesh
----------------
CORRECT THIS !! PUT OUT THE C++ impl for doxy doc
The domain is :doxy:`matsubara_freq_domain<triqs::gfs::matsubara_domain>`.
The mesh is :doxy:`matsubara_freq_mesh<triqs::gfs::matsubara_freq_mesh>`.
2013-08-22 16:55:51 +02:00
Singularity
-------------
The singularity is a high frequency expansion, :ref:`gf_tail`.
Evaluation method
2013-08-22 16:55:51 +02:00
---------------------
* Linear interpolation on the mesh.
* Return type :
* If Target==scalar_valued : a complex
* If Target==matrix_valued : an object modeling ImmutableMatrix concept.
* When the point is outside of the mesh, the evaluation of the gf returns :
* the evaluation of the high frequency tail if no_tail is not set.
* 0 otherwise
2013-09-18 15:13:23 +02:00
2013-08-22 16:55:51 +02:00
Data storage
---------------
* If Target==scalar_valued :
* `data_t` : 1d array of complex<double>.
* g.data()(i) is the value of g for the i-th point of the mesh.
* If Target==matrix_valued :
* `data_t` : 3d array (C ordered) of complex<double>.
2013-09-18 15:13:23 +02:00
* g.data()(i, range(), range()) is the value of g for the i-th point of the mesh.
2013-08-22 16:55:51 +02:00
HDF5 storage convention
---------------------------
2013-09-18 15:13:23 +02:00
h5 tag : `ReFreq`
2013-08-22 16:55:51 +02:00
Examples
---------
.. compileblock::
#include <triqs/gfs.hpp>
2013-08-22 16:55:51 +02:00
using namespace triqs::gfs;
2013-09-18 15:13:23 +02:00
2013-08-22 16:55:51 +02:00
int main() {
2013-09-18 15:13:23 +02:00
double wmin=0, wmax=10; // Frequencies interval
auto n_freq=100; // Number of points
// We want a 2x2 matrix valued function on this mesh...
auto g = gf<refreq> { {wmin, wmax, n_freq}, {2,2} };
2013-08-22 16:55:51 +02:00
};
2013-09-18 15:13:23 +02:00