TRIQS/triqs_ctseg 4.0.0
A TRIQS application
Loading...
Searching...
No Matches
triqs_ctseg::tau_t

#include <triqs_ctseg/tau_t.hpp>

Detailed Description

Discretized Imaginary Time type tau_t. A point in imaginary time, i.e. $\tau \in [0,\beta]$, but defined on a very thin grid.

  • Regular type.
  • Rationale: the position in the segment is given by an uint64_t, i.e. a very long integer. This allows exact comparisons, which are notoriously dangerous on floating point number.

Definition at line 29 of file tau_t.hpp.

Public Member Functions

 tau_t (double x)
 For test only, not for users. Use the factories.
 tau_t (uint64_t n_)
 Not for users. Use the factories.
 operator double () const
 To cast to double, but it has to be done explicitly.
auto operator<=> (tau_t const &tau) const
 Comparisons (using integer, so it is safe).

Static Public Member Functions

static tau_t beta ()
 tau_t at tau = beta
static tau_t epsilon ()
 Get epsilon, defined as $\epsilon = \beta /N_max$.
static tau_t random (auto &rng, tau_t const &tau)
 Get a random point in $]0, tau[$.
static void set_beta (double beta)
 Set the temperature.
static tau_t zero ()
 $\tau = 0$

Static Public Attributes

static constexpr uint64_t n_max = std::numeric_limits<uint64_t>::max()
 Maximum value that can be stored inside a uint64_t.

Friends

std::ostream & operator<< (std::ostream &out, tau_t const &p)
 Stream insertion.

The documentation for this class was generated from the following file: