mirror of
https://github.com/triqs/dft_tools
synced 2024-12-26 14:23:38 +01:00
3fe400d34c
- examples split from the rst file using a python script (split_code). - Final result for the doc is unchanged. - examples are compiled and tested with the other tests. - examples' code have been clang-formatted, with triqs style. - doc compiles much faster, and with the same options as the rest of the test. - examples are added as tests, so they are run by make test, as simple C tests. - done for the tutorials and the reference. - autocompile removed (changed into triqs_example directive). - add triqs_example : - make a literal include of the source code. - runs the compiled example - add, as before, the result to the source code in the doc. - added the script split_code, used to make the changes automatically, maybe for later reuse. (in _tools)
86 lines
2.2 KiB
ReStructuredText
86 lines
2.2 KiB
ReStructuredText
.. highlight:: c
|
|
|
|
.. _gf_imfreq:
|
|
|
|
Green function on Matsubara frequencies
|
|
==========================================================
|
|
|
|
This is a specialisation of :ref:`gf<gf_and_view>` for imaginary Matsubara frequencies.
|
|
|
|
Synopsis
|
|
------------
|
|
|
|
.. code::
|
|
|
|
gf<imfreq, Target, Opt>
|
|
|
|
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. |
|
|
+-------------------------+-----------------------------------------------------+
|
|
|
|
Domain & mesh
|
|
----------------
|
|
|
|
The domain is :doxy:`matsubara_freq_domain<triqs::gfs::matsubara_domain>`.
|
|
|
|
The Matsubara frequencies are :math:`\omega_n=\frac{(2n+1)\pi}{\beta}` for fermions and :math:`\omega_n=\frac{2n\pi}{\beta}` for bosons.
|
|
|
|
The mesh is :doc:`matsubara_freq_mesh<matsubara_freq_mesh>`.
|
|
|
|
|
|
Singularity
|
|
-------------
|
|
|
|
The singularity is a high frequency expansion, :ref:`gf_tail`.
|
|
|
|
|
|
Evaluation method
|
|
---------------------
|
|
|
|
* No interpolation.
|
|
|
|
* 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
|
|
|
|
|
|
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>.
|
|
|
|
* g.data()(i, range(), range()) is the value of g for the i-th point of the mesh.
|
|
|
|
HDF5 storage convention
|
|
---------------------------
|
|
|
|
h5 tag : `ImFreq`
|
|
|
|
TODO : DECIDE if we have 2 tag, one for scalar, one for matrix....
|
|
|
|
Examples
|
|
---------
|
|
|
|
|
|
.. triqs_example:: ./gf_imfreq_0.cpp
|