|
NESSi
v1.0.2
The NonEquilibrium Systems Simulation Library
|
Class herm_matrix_timestep_view serves for interfacing with class herm_matrix_timestep without copying the data.
More...
#include <cntr_getset_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_view at a given time step to all ranks. More... | |
| void | density_matrix (int tstp, std::complex< T > &M) |
Return single particle density matrix from herm_matrix_timestep_view. More... | |
| template<class Matrix > | |
| void | density_matrix (int tstp, Matrix &M) |
Return single particle density matrix as Eigen matrix from herm_matrix_timestep_view. More... | |
| void | get_data (herm_matrix_timestep_view< T > &g) |
Return the data into herm_matrix_timestep_view More... | |
| template<class GG > | |
| void | get_data (GG &g) |
Return the data into object given by the template argument More... | |
| void | get_data (std::complex< T > *ret, std::complex< T > *les, std::complex< T > *tv, std::complex< T > *mat) |
| template<typename T > | |
| void | get_data (CPLX *ret, CPLX *les, CPLX *tv, CPLX *mat) |
| Return the data More... | |
| void | get_timestep (int tstp, herm_matrix_timestep< T > ×tep) |
| Get timestep into herm_matrix_timestep More... | |
| herm_matrix_timestep_view () | |
| herm_matrix_timestep_view (const herm_matrix_timestep_view &g) | |
Initializes the herm_matrix_timestep_view class with the same layout as a given herm_matrix_timestep_view g. More... | |
| herm_matrix_timestep_view (herm_matrix_timestep< T > &g) | |
Initializes the herm_matrix_timestep_view class with the same layout as a given herm_matrix_timestep g. More... | |
| herm_matrix_timestep_view (int tstp, herm_matrix< T > &g, bool check_assert=true) | |
Initializes the herm_matrix_timestep_view class with the same layout as a given herm_matrix g. More... | |
| herm_matrix_timestep_view (int tstp, int ntau, int size1, int size2, int sig) | |
Initializes the herm_matrix_timestep_view class for a general matrix. More... | |
| herm_matrix_timestep_view (int tstp, herm_matrix_timestep< T > &g, bool check_assert=true) | |
Initializes the herm_matrix_timestep_view class with the same layout as a given herm_matrix_timestep g. More... | |
| herm_matrix_timestep_view (int tstp, herm_matrix_timestep_view< T > &g) | |
Initializes the herm_matrix_timestep_view class with the same layout as a given herm_matrix_timestep_view g. More... | |
| void | incr_timestep (herm_matrix_timestep_view< T > &g, std::complex< T > alpha) |
| void | incr_timestep (herm_matrix_timestep_view< T > &g, T alpha) |
Increase the value of the herm_matrix_timestep_view for \(\alpha g(t) \). More... | |
| template<class GG > | |
| void | incr_timestep (GG &g, std::complex< T > alpha) |
| template<class GG > | |
| void | incr_timestep (GG &g, T alpha) |
| Increase the value of the `template argument for \(\alpha g(t) \). More... | |
| template<typename T > | |
| void | incr_timestep (herm_matrix_timestep_view< T > &g, CPLX alpha) |
Increase the value of the herm_matrix_timestep_view for \(\alpha g(t) \) More... | |
| template<class GG > | |
| void | incr_timestep (GG &g, CPLX alpha) |
Increase the value of the herm_matrix_timestep_view for \(\alpha g(t) \). More... | |
| void | left_multiply (int tstp, function< T > &ft, T weight=1.0) |
Left-multiplication of the herm_matrix_timestep_view with a contour function More... | |
| void | left_multiply_hermconj (int tstp, function< T > &ft, T weight=1.0) |
Left-multiplies the herm_matrix_timestep_view with the hermitian conjugate of a contour function. More... | |
| int | ntau (void) const |
| herm_matrix_timestep_view & | operator= (const herm_matrix_timestep_view &g) |
Copy assignment operator for herm_matrix_timestep_view g class. More... | |
| void | read_from_hdf5 (hid_t group_id, const char *groupname) |
Read herm_matrix_timestep_view from hdf5 group given by group ID group_id and group name groupname. More... | |
| void | read_from_hdf5 (hid_t group_id) |
Read herm_matrix_timestep_view from hdf5 group given by group ID group_id. More... | |
| void | read_from_hdf5 (const char *filename, const char *groupname) |
Read herm_matrix_timestep_view from hdf5 group groupname in file filename. More... | |
| void | Recv_timestep (int tstp, int root, int tag) |
Recevies the herm_matrix_timestep_view at a given time step from a specific task. More... | |
| void | Reduce_timestep (int tstp, int root) |
MPI reduce for the herm_matrix_timestep_view. More... | |
| void | right_multiply (int tstp, function< T > &ft, T weight=1.0) |
Right-multiplication of the herm_matrix_timestep_view with a contour function More... | |
| void | right_multiply_hermconj (int tstp, function< T > &ft, T weight=1.0) |
| void | Send_timestep (int tstp, int dest, int tag) |
Sends the herm_matrix_timestep_view 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... | |
| template<class GG > | |
| void | set_matrixelement (int i1, int i2, GG &g, int j1, int j2) |
| Set the matrix element of \(C_{[i1,i2]}\) for each component from \( g_{[i1,i2]} \) More... | |
| void | set_timestep (int tstp, herm_matrix< T > &g1) |
Sets all components of herm_matrix_timestep_view 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_view to the components of a given herm_matrix_timestep at time step tstp. More... | |
| void | set_timestep_zero (int tstp) |
Sets all components at time step tstp to zero. More... | |
| void | set_to_data (std::complex< T > *data, int tstp, int ntau, int size, int sig) |
| void | set_to_data (int tstp, herm_matrix< T > &g) |
Reset the pointers of herm_matrix_timestep_view class to the pointer given by herm_matrix g at timestep tstp. More... | |
| void | set_to_data (herm_matrix_timestep< T > &g) |
Reset the pointers of herm_matrix_timestep_view class to the pointer given by herm_matrix_timestep g at timestep tstp More... | |
| int | sig (void) const |
| int | size1 (void) const |
| int | size2 (void) const |
| void | smul (T alpha) |
Multiply herm_matrix_timestep_view with scalar weight. More... | |
| int | tstp (void) const |
| void | write_to_hdf5 (hid_t group_id) |
Write herm_matrix_timestep_view to hdf5 group given by group_id. More... | |
| void | write_to_hdf5 (hid_t group_id, const char *groupname) |
Write herm_matrix_timestep_view 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_view to hdf5 group groupname in file filename. More... | |
| ~herm_matrix_timestep_view () | |
Class herm_matrix_timestep_view serves for interfacing with class herm_matrix_timestep without copying the data.
Occasionally you may have a pre-defined object of herm_matrix or herm_matrix_timestep that you want to use. While one option is to make a copy of the data, most commonly you probably want to re-use this memory as a libcntr type, and this class serves as an interface. Mark similar concept of a map class in Eigen. To construct this class you need: a pointers to the region of memory defining different components (ret,tv,les,mat) and usual defining constants for the herm_matrix_timestep. The contour function can be of scalar type or matrix-valued.
Square-matrix-type contour functions are fully supported, while non-square- matrix contour functions are under development.!! NOTE: MIND DANGLING POINTERS
Definition at line 11 of file cntr_getset_decl.hpp.