triqs.mesh.meshes.MeshDLRImTime
- class triqs.mesh.meshes.MeshDLRImTime
Bases:
objectImaginary time discrete Lehmann representation (DLR) mesh type.
An imaginary time DLR mesh is defined by the inverse temperature \(\beta > 0\), the particle statistics, a DLR energy cutoff \(\omega_{\text{max}}\), an error tolerance \(\epsilon\) and a boolean flag specifying if the mesh should be symmetric around \(\tau = \beta / 2\) (a symmetric mesh enforces the DLR rank to be even for Fermions and odd for Bosons).
An imaginary time DLR mesh has the following properties:
Each mesh point is identified by a unique index \(l \in \{0, 1, \ldots, N-1\}\).
The size of the mesh \(N\) depends on \(\beta\) and the choice of \(\omega_{\text{max}}\) and \(\epsilon\). It is equal to the DLR rank \(r\) and the number of DLR basis functions \(K(\tau, \omega_l)\).
An index \(l\) is mapped to the corresponding data index \(d\) by the identity function \(d(l) = l\) and vice versa.
An index \(l\) is mapped to the corresponding value \(\tau_l\), where \(\tau_l\) is the l-th DLR interpolation node in imaginary time space.
Green’s function containers that are based on an imaginary time DLR mesh store the function values at the discrete time points \(\tau_l\), i.e. \(f_l = f(\tau_l)\). In contrast to DLR and imaginary-time meshes, the GF container cannot evaluate the function at an arbitrary imaginary time \(\tau \in [0, \beta]\) (evaluation at arbitrary points is intentionally unsupported).
Dispatched C++ constructor(s).
[1] () [2] (beta: float, statistic: Statistic ("Fermion" | "Boson"), w_max: float, eps: float, symmetrize: bool = True) [3] (m: MeshDLRImFreq) [4] (m: MeshDLR)
[1] Default constructor constructs an empty mesh.
[2] Construct an imaginary time DLR mesh with a given energy cutoff \(\omega_{\text{max}}\) and error tolerance \(\epsilon\).
It builds the DLR frequencies \(\omega_l\) from \(\Lambda = \omega_{\text{max}} \beta\) and the error tolerance \(\epsilon\), then constructs the imaginary-time and imaginary-frequency DLR operator tables from them.
[3, 4] Construct an imaginary time DLR mesh from another DLR type mesh.
- Parameters:
- betafloat
Inverse temperature \(\beta > 0\).
- statisticStatistic (“Fermion” | “Boson”)
Particle statistics.
- w_maxfloat
DLR energy cutoff \(\omega_{\text{max}} = \Lambda / \beta\).
- epsfloat
Error tolerance \(\epsilon\).
- symmetrizebool
Whether to choose the imaginary time points symmetrically around \(\tau = \beta / 2\).
- mMeshDLRImFreq, MeshDLR
Other mesh.
Attributes
Get the inverse temperature \(\beta\).
Get the array of DLR frequencies \(\omega_l\).
Get the DLR error tolerance \(\epsilon\).
Get the hash value of the mesh.
Get the particle statistics.
Is the mesh symmetric around \(\tau = \beta / 2\)?
Get the DLR energy cutoff \(\omega_{\text{max}} = \Lambda / \beta\).
Methods
__call__(*args, **kwargs)Call self as a function.
Get a copy of a mesh (for Python bindings).
Copy one mesh into another (for Python bindings).
Check if an index \(l\) is valid.
Map an index \(l \in \{0, 1, \ldots, N-1\}\) to its corresponding data index \(d(l)\).
Map a data index \(d \in \{0, 1, \ldots, N-1\}\) to the corresponding index \(l(d)\).
Map an index \(l \in \{0, 1, \ldots, N-1\}\) to its corresponding value \(\tau_l\).
Get the values of all mesh points in a mesh.