|
NESSi
v1.0.2
The NonEquilibrium Systems Simulation Library
|
Class herm_matrix_timestep deals with contour objects \( C(t,t') \) at a particular timestep \(t'\).
More...
#include <cntr_equilibrium_decl.hpp>
Public Types | |
| typedef std::complex< T > | cplx |
| typedef T | scalar_type |
Public Member Functions | |
| void | Bcast_timestep (int tstp, int root) |
Broadcasts the herm_matrix_timestep at a given time step to all ranks. More... | |
| void | clear (void) |
| Sets all values to zero. More... | |
| template<class Matrix > | |
| void | density_matrix (int tstp, Matrix &M) |
| Returns the density matrix at given time step. More... | |
| void | density_matrix (int tstp, cplx &rho) |
| Returns the density matrix at given time step. More... | |
| void | get_matrixelement (int i1, int i2, herm_matrix< T > &g) |
| herm_matrix_timestep () | |
| herm_matrix_timestep (int tstp, int ntau, int size1=1) | |
Initializes the herm_matrix_timestep class for a square-matrix for fermions. More... | |
| herm_matrix_timestep (int tstp, int ntau, int size1, int sig) | |
Initializes the herm_matrix_timestep class for a square-matrix for fermions/bosons. More... | |
| herm_matrix_timestep (int tstp, int ntau, int size1, int size2, int sig) | |
Initializes the herm_matrix_timestep class for a general matrix. More... | |
| herm_matrix_timestep (const herm_matrix_timestep &g) | |
Initializes the herm_matrix_timestep class with the same layout as a given herm_matrix_timestep. More... | |
| herm_matrix_timestep (herm_matrix_timestep &&g) noexcept | |
| void | incr (herm_matrix_timestep< T > &g1, T weight) |
Increase the value of the herm_matrix_timestep by weight \( * g(t) \) More... | |
| void | incr (herm_matrix< T > &g, T weight=1.0) |
Increase the value of the herm_matrix_timestep by \(\alpha g(t)\) More... | |
| void | incr_timestep (int tstp, herm_matrix_timestep< T > &g1, T weight) |
Increase the value of the herm_matrix_timestep by weight \( * g(t) \) More... | |
| void | incr_timestep (int tstp, herm_matrix< T > &g, T weight=1.0) |
Increase the value of the herm_matrix_timestep by \(\alpha g(t)\) More... | |
| void | left_multiply (function< T > &ft, T weight=1.0) |
Left-multiplication of the herm_matrix_timestep with a contour function More... | |
| void | left_multiply (int tstp, function< T > &ft, T weight=1.0) |
Left-multiplication of the herm_matrix_timestep with a contour function More... | |
| void | left_multiply_hermconj (int tstp, function< T > &ft, T weight=1.0) |
Left-multiplies the herm_matrix_timestep with the hermitian conjugate of a contour function. More... | |
| cplx * | lesptr (int i) |
| cplx * | matptr (int i) |
| int | ntau (void) const |
| herm_matrix_timestep & | operator= (const herm_matrix_timestep &g) |
| herm_matrix_timestep & | operator= (herm_matrix_timestep &&g) noexcept |
| void | read_from_hdf5 (hid_t group_id, const char *groupname) |
Read herm_matrix_timestep from hdf5 group given by group_id and group name groupname More... | |
| void | read_from_hdf5 (hid_t group_id) |
Read herm_matrix_timestep from hdf5 group given by group_id More... | |
| void | read_from_hdf5 (const char *filename, const char *groupname) |
Read herm_matrix_timestep from hdf5 group given by group name groupname in file filename More... | |
| void | Recv_timestep (int tstp, int root, int tag) |
Recevies the herm_matrix at a given time step from a specific task. More... | |
| void | Reduce_timestep (int tstp, int root) |
MPI reduce for the herm_matrix_timestep More... | |
| void | resize (int nt, int ntau, int size1) |
Resizes herm_matrix_timestep object with respect to the number of points on the Matsubara branch and the matrix size at a given timestep . More... | |
| cplx * | retptr (int i) |
| void | right_multiply (function< T > &ft, T weight=1.0) |
Right-multiplication of the herm_matrix_timestep with a contour function More... | |
| void | right_multiply (int tstp, function< T > &ft, T weight=1.0) |
Right-multiplication of the herm_matrix_timestep with a contour function More... | |
| void | right_multiply_hermconj (int tstp, function< T > &ft, T weight=1.0) |
Right-multiplies the herm_matrix_timestep with the hermitian conjugate of a contour function. More... | |
| void | Send_timestep (int tstp, int dest, int tag) |
Sends the herm_matrix_timestep at a given time step to a specific task. More... | |
| void | set_matrixelement (int i1, int i2, herm_matrix_timestep_view< T > &g, int j1, int j2) |
| Set the matrix element of \(C_{[i1,i2]}\) for each component from \( g_{[i1,i2]} \) More... | |
| void | set_matrixelement (int tstp, int i1, int i2, herm_matrix_timestep_view< T > &g, int j1, int j2) |
| Set the matrix element of \(C_{[i1,i2]}\) for each component from \( g_{[i1,i2]} \) More... | |
| void | set_matrixelement (int i1, int i2, herm_matrix_timestep< T > &g, int j1, int j2) |
| Set the matrix element of \(C_{[i1,i2]}\) for each component from \( g_{[i1,i2]} \) More... | |
| void | set_matrixelement (int tstp, int i1, int i2, herm_matrix_timestep< T > &g, int j1, int j2) |
| Set the matrix element of \(C_{[i1,i2]}\) for each component from \( g_{[i1,i2]} \) More... | |
| void | set_matrixelement (int i1, int i2, herm_matrix< T > &g, int j1, int j2) |
| Set the matrix element of \(C_{[i1,i2]}\) for each component from \( g_{[i1,i2]} \) More... | |
| void | set_matrixelement (int tstp, int i1, int i2, herm_matrix< T > &g, int j1, int j2) |
| Set the matrix element of \(C_{[i1,i2]}\) for each component from \( g_{[i1,i2]} \) More... | |
| void | set_submatrix (int tstp, std::vector< int > &i1, std::vector< int > &i2, herm_matrix< T > &g, std::vector< int > &j1, std::vector< int > &j2) |
Sets a (sub-) matrix of this contour object at a given time step to a (sub-) matrix of a given herm_matrix. More... | |
| void | set_submatrix (int tstp, std::vector< int > &i1, std::vector< int > &i2, herm_matrix_timestep< T > &g, std::vector< int > &j1, std::vector< int > &j2) |
Sets a (sub-) matrix of this contour object at a given time step to a (sub-) matrix of a given herm_matrix_timestep. More... | |
| void | set_timestep (cyclic_timestep< T > ×tep, cyclic_timestep< T > ×tep_cc, int sig) |
| void | set_timestep (cyclic_timestep< T > ×tep, int sig) |
| void | set_timestep (int tstp, herm_matrix< T > &g1) |
Sets all components of herm_matrix_timestep to the components of a given herm_matrix at time step tstp. More... | |
| void | set_timestep (int tstp, herm_matrix_timestep< T > &g1) |
Sets all components of herm_matrix_timestep to the components of a given herm_matrix_timestep at time step tstp. More... | |
| void | set_timestep_pseudo (cyclic_timestep< T > ×tep, cyclic_timestep< T > ×tep_cc, int sig) |
| void | set_timestep_pseudo (cyclic_timestep< T > ×tep, int sig) |
| void | set_timestep_zero (int tstp) |
Sets all components at time step tstp to zero. More... | |
| int | sig (void) const |
| int | size1 (void) const |
| int | size2 (void) const |
| void | smul (int tstp, T weight) |
Multiply herm_matrix_timestep with scalar weight. More... | |
| void | smul (T weight) |
Multiply herm_matrix_timestep with scalar weight. More... | |
| int | tstp (void) const |
| cplx * | tvptr (int i) |
| void | write_to_hdf5 (hid_t group_id) |
Write herm_matrix_timestep to hdf5 group given by group_id More... | |
| void | write_to_hdf5 (hid_t group_id, const char *groupname) |
Write herm_matrix_timestep to hdf5 group given by group_id and name groupname More... | |
| void | write_to_hdf5 (const char *filename, const char *groupname) |
Write herm_matrix_timestep to hdf5 group given by name groupname and store in file filename More... | |
| ~herm_matrix_timestep () | |
Class herm_matrix_timestep deals with contour objects \( C(t,t') \) at a particular timestep \(t'\).
The class 'herm_matrix_timestep' describes a time slice \(\mathcal{T}[C]_n\) of the contour function \(C(t,t')\) at the time step \( n \), storing \(C^<(t_j, t_n), C^\mathrm{R}(t_n, t_j)\) for \(j=0,\dots,n\) and \(C^\mathrm{M}(\tau_m), C^\rceil(t_n, \tau_m)\) for \(m=0,\dots,N_\tau\). The contour function \( C(t,t') \) can be of scalar type or matrix-valued.
Definition at line 10 of file cntr_equilibrium_decl.hpp.