TRIQS/TRIQS 4.0.0
Researching Interacting Quantum Systems
Loading...
Searching...
No Matches
matsubara_freq.hpp
#include "./utils.hpp"
#include "../utility/kronecker.hpp"
#include "../utility/macros.hpp"
#include <compare>
#include <complex>
#include <iostream>
#include <numbers>
#include <type_traits>
#include <utility>

Detailed Description

Provides a struct to represent Matsubara frequencies.

Definition in file matsubara_freq.hpp.

Go to the source code of this file.

Classes

struct  triqs::mesh::matsubara_freq
 Represents a Matsubara frequency \( i\omega_n \). More...

Functions

bool triqs::mesh::kronecker (matsubara_freq const &iw)
 Kronecker delta function for a single Matsubara frequency.
bool triqs::mesh::kronecker (matsubara_freq const &iw1, matsubara_freq const &iw2)
 Kronecker delta function for two Matsubara frequencies.
template<typename T>
requires (not std::is_base_of_v<matsubara_freq, std::decay_t<T>>)
auto triqs::mesh::operator* (matsubara_freq const &iw, T &&y)
 Binary * operation for a triqs::mesh::matsubara_freq and some numeric type.
auto triqs::mesh::operator* (matsubara_freq const &iw1, matsubara_freq const &iw2)
 Multiplication operator for two triqs::mesh::matsubara_freq objects.
template<typename T>
requires (not std::is_base_of_v<matsubara_freq, std::decay_t<T>>)
auto triqs::mesh::operator* (T &&x, matsubara_freq const &iw)
 Binary * operation for some numeric type and a triqs::mesh::matsubara_freq.
template<typename T>
requires (not std::is_base_of_v<matsubara_freq, std::decay_t<T>>)
auto triqs::mesh::operator+ (matsubara_freq const &iw, T &&y)
 Binary + operation for a triqs::mesh::matsubara_freq and some numeric type.
matsubara_freq triqs::mesh::operator+ (matsubara_freq const &iw1, matsubara_freq const &iw2)
 Addition operator for two triqs::mesh::matsubara_freq objects.
template<typename T>
requires (not std::is_base_of_v<matsubara_freq, std::decay_t<T>>)
auto triqs::mesh::operator+ (T &&x, matsubara_freq const &iw)
 Binary + operation for some numeric type and a triqs::mesh::matsubara_freq.
matsubara_freq triqs::mesh::operator- (matsubara_freq const &iw)
 Unary minus operator for a triqs::mesh::matsubara_freq object.
template<typename T>
requires (not std::is_base_of_v<matsubara_freq, std::decay_t<T>>)
auto triqs::mesh::operator- (matsubara_freq const &iw, T &&y)
 Binary - operation for a triqs::mesh::matsubara_freq and some numeric type.
matsubara_freq triqs::mesh::operator- (matsubara_freq const &iw1, matsubara_freq const &iw2)
 Subtraction operator for two triqs::mesh::matsubara_freq objects.
template<typename T>
requires (not std::is_base_of_v<matsubara_freq, std::decay_t<T>>)
auto triqs::mesh::operator- (T &&x, matsubara_freq const &iw)
 Binary - operation for some numeric type and a triqs::mesh::matsubara_freq.
template<typename T>
requires (not std::is_base_of_v<matsubara_freq, std::decay_t<T>>)
auto triqs::mesh::operator/ (matsubara_freq const &iw, T &&y)
 Binary / operation for a triqs::mesh::matsubara_freq and some numeric type.
auto triqs::mesh::operator/ (matsubara_freq const &iw1, matsubara_freq const &iw2)
 Divison operator for two triqs::mesh::matsubara_freq objects.
template<typename T>
requires (not std::is_base_of_v<matsubara_freq, std::decay_t<T>>)
auto triqs::mesh::operator/ (T &&x, matsubara_freq const &iw)
 Binary / operation for some numeric type and a triqs::mesh::matsubara_freq.
std::ostream & triqs::mesh::operator<< (std::ostream &sout, matsubara_freq const &iw)
 Write a triqs::mesh::matsubara_freq to a std::ostream.