TRIQS/TRIQS 4.0.0
Researching Interacting Quantum Systems
Loading...
Searching...
No Matches

Detailed Description

Tools to represent and manipulate Matsubara frequencies.

Arithmetic operations between Matsubara frequencies and scalars are performed using the complex values of the Matsubara frequencies.

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.

Function Documentation

◆ kronecker() [1/2]

bool triqs::mesh::kronecker ( matsubara_freq const & iw)
inlinenodiscard

#include <triqs/mesh/matsubara_freq.hpp>

Kronecker delta function for a single Matsubara frequency.

Parameters
iwtriqs::mesh::matsubara_freq object.
Returns
True, if the index of the Matsubara frequency is zero, false otherwise.

Definition at line 201 of file matsubara_freq.hpp.

◆ kronecker() [2/2]

bool triqs::mesh::kronecker ( matsubara_freq const & iw1,
matsubara_freq const & iw2 )
inlinenodiscard

#include <triqs/mesh/matsubara_freq.hpp>

Kronecker delta function for two Matsubara frequencies.

Parameters
iw1triqs::mesh::matsubara_freq object.
iw2triqs::mesh::matsubara_freq object.
Returns
True, if the indices of the Matsubara frequencies are equal, false otherwise.

Definition at line 210 of file matsubara_freq.hpp.

◆ operator*()

auto triqs::mesh::operator* ( matsubara_freq const & iw1,
matsubara_freq const & iw2 )
inlinenodiscard

#include <triqs/mesh/matsubara_freq.hpp>

Multiplication operator for two triqs::mesh::matsubara_freq objects.

The mulitiplication is performed on the complex numbers corresponding to the Matsubara frequencies.

Parameters
iw1Left hand side frequency operand.
iw2Right hand side frequency operand.
Returns
Resulting std::complex<double>.

Definition at line 172 of file matsubara_freq.hpp.

◆ operator+()

matsubara_freq triqs::mesh::operator+ ( matsubara_freq const & iw1,
matsubara_freq const & iw2 )
inlinenodiscard

#include <triqs/mesh/matsubara_freq.hpp>

Addition operator for two triqs::mesh::matsubara_freq objects.

The addition is performed directly on the indices. The resulting Matsubara frequency has

  • fermionic statistics, if one and only one of the operands has fermionic statistics and
  • bosonic statistics otherwise.
Parameters
iw1Left hand side frequency operand.
iw2Right hand side frequency operand.
Returns
Resulting triqs::mesh::matsubara_freq object.

Definition at line 118 of file matsubara_freq.hpp.

◆ operator-() [1/2]

matsubara_freq triqs::mesh::operator- ( matsubara_freq const & iw)
inlinenodiscard

#include <triqs/mesh/matsubara_freq.hpp>

Unary minus operator for a triqs::mesh::matsubara_freq object.

For fermions, it adds \( +1 \) to the index and flips its sign. For bosons, it just flips the sign of the index.

Parameters
iwFrequency operand.
Returns
Resulting triqs::mesh::matsubara_freq object.

Definition at line 146 of file matsubara_freq.hpp.

◆ operator-() [2/2]

matsubara_freq triqs::mesh::operator- ( matsubara_freq const & iw1,
matsubara_freq const & iw2 )
inlinenodiscard

#include <triqs/mesh/matsubara_freq.hpp>

Subtraction operator for two triqs::mesh::matsubara_freq objects.

The subtraction is performed directly on the indices. The resulting Matsubara frequency has

  • fermionic statistics, if one and only one of the operands has fermionic statistics and
  • bosonic statistics otherwise.
Parameters
iw1Left hand side frequency operand.
iw2Right hand side frequency operand.
Returns
Resulting triqs::mesh::matsubara_freq object.

Definition at line 133 of file matsubara_freq.hpp.

◆ operator/()

auto triqs::mesh::operator/ ( matsubara_freq const & iw1,
matsubara_freq const & iw2 )
inlinenodiscard

#include <triqs/mesh/matsubara_freq.hpp>

Divison operator for two triqs::mesh::matsubara_freq objects.

The division is performed on the complex numbers corresponding to the Matsubara frequencies.

Parameters
iw1Left hand side frequency operand.
iw2Right hand side frequency operand.
Returns
Resulting std::complex<double>.

Definition at line 159 of file matsubara_freq.hpp.

◆ operator<<()

std::ostream & triqs::mesh::operator<< ( std::ostream & sout,
matsubara_freq const & iw )
inline

#include <triqs/mesh/matsubara_freq.hpp>

Write a triqs::mesh::matsubara_freq to a std::ostream.

Parameters
soutstd::ostream object.
iwFrequency to be written.
Returns
Reference to std::ostream object.

Definition at line 105 of file matsubara_freq.hpp.