triqs::gfs::is_gf_hermitian

#include <triqs/gfs.hpp>

Synopsis

template<typename G>
bool is_gf_hermitian (G const & g, double tolerance = 1.e-12)

Test if a Green function object fullfills the fundamental property mentioned below up to a fixed tolerance \(\epsilon\) Depending on the mesh and target rank one of the following properties is checked \(G[i\omega] == \frac{1}{2} ( G[i\omega] + conj(G[-i\omega]) )\) \(G[\tau] == \frac{1}{2} ( G[\tau] + conj(G[\tau]) )\) \(G[i\omega](i,j) == \frac{1}{2} ( G[i\omega](i,j) + conj(G[-i\omega](j,i)) )\) \(G[\tau](i,j) == \frac{1}{2} ( G[\tau](i,j) + conj(G[\tau](j,i)) )\) \(G[i\omega](i,j,k,l) == \frac{1}{2} ( G[i\omega](i,j,k,l) + conj(G[-i\omega](k,l,i,j)) )\) \(G[\tau](i,j,k,l) == \frac{1}{2} ( G[\tau](i,j,k,l) + conj(G[\tau](k,l,i,j)) )\)

Template parameters

  • The Green function type

Parameters

  • g The Green function object to check the symmetry for

  • tolerance The tolerance \(\epsilon\) for the check [default=1e-12]

Returns

true iif the fundamental property holds for all points of the mesh