NESSi
v1.0.2
The NonEquilibrium Systems Simulation Library
|
Class function
for objects \( f(t) \) with time on real axis.
More...
#include <cntr_convolution_decl.hpp>
Public Types | |
typedef std::complex< T > | cplx |
Public Member Functions | |
void | Bcast_timestep (int tstp, int root) |
Broadcast a time step of the function using MPI More... | |
function () | |
function (int nt, int size1=1) | |
Initializes the function class for a square-matrix-valued function of time. More... | |
function (int nt, int size1, int size2) | |
Initializes the function class for a non-square-matrix-valued function of time. More... | |
function (const function &f) | |
Initializes the function class from an existing function object More... | |
function (function &&f) noexcept | |
Initializes the function class from an existing function object(right-value reference) More... | |
void | get_matrixelement (int i1, int i2, function< T > &g) |
Get a matrix element of the function object More... | |
template<class EigenMatrix > | |
void | get_value (int tstp, EigenMatrix &M) const |
Get matrix value of this function object at a specific time point More... | |
void | incr (function< T > &g, T weight=1.0) |
Increase the function object by another function. More... | |
void | left_multiply (cplx *f, T weight=1.0) |
Multiply function values with a matrix-valued function from the left More... | |
void | left_multiply (function< T > &f, T weight=1.0) |
Multiply function values with a matrix-valued function from the left More... | |
int | nt (void) const |
function & | operator= (const function &f) |
Overloaded operator '='. It copies data from an existing function object More... | |
function & | operator= (function &&f) noexcept |
Overloaded operator '=', which copies data from an existing function object(right-value reference) More... | |
cplx & | operator[] (int t) |
const cplx & | operator[] (int t) const |
void | print_to_file (const char *file, int precision=16) const |
Store the function data to a txt file More... | |
cplx * | ptr (int t) |
const cplx * | ptr (int t) const |
void | read_from_file (const char *file) |
Read the function data from a txt file More... | |
void | read_from_file (int nt1, const char *file) |
Read the function data from a txt file More... | |
void | read_from_hdf5 (hid_t group_id) |
Read the function data from a hdf5 file More... | |
void | read_from_hdf5 (hid_t group_id, const char *groupname) |
Read the function data from a hdf5 file More... | |
void | read_from_hdf5 (const char *filename, const char *groupname) |
Read the function data from a hdf5 file More... | |
void | read_from_hdf5 (int nt1, hid_t group_id) |
Read the function data from a hdf5 file More... | |
void | read_from_hdf5 (int nt1, hid_t group_id, const char *groupname) |
Read the function data from a hdf5 file More... | |
void | read_from_hdf5 (int nt1, const char *filename, const char *groupname) |
Read the function data from a hdf5 file More... | |
void | resize (int nt, int size1) |
Resize the time length and/or matrix dimension of a square-matrix function More... | |
void | right_multiply (cplx *f, T weight=1.0) |
Multiply the function with another matrix-valued function from the right More... | |
void | right_multiply (function< T > &f, T weight=1.0) |
Multiply function values with a matrix-valued function from the right More... | |
void | set_constant (cplx *f0) |
Set all data to a constant(scalar or matrix) for the function class More... | |
template<class EigenMatrix > | |
void | set_constant (EigenMatrix &M) |
Set all data to a constant matrix for the function class More... | |
template<class EigenMatrix > | |
void | set_matrixelement (int tstp, int i1, int i2, EigenMatrix &M, int j1, int j2) |
Set a matrix element from an Eigen matrix More... | |
void | set_matrixelement (int i1, int i2, function &g, int j1, int j2) |
Set a matrix element from a function object More... | |
template<class EigenMatrix > | |
void | set_value (int tstp, EigenMatrix &M) |
Set matrix value at a specific time point More... | |
template<class EigenMatrix > | |
void | set_value (int tstp, cplx x) |
Set scalar value at a specific time point More... | |
void | set_zero (void) |
Set all data to zero for the function class More... | |
int | size1 (void) const |
int | size2 (void) const |
void | smul (T weight) |
Multiply the function with a scalar More... | |
void | write_to_hdf5 (hid_t group_id) const |
Write the function data to a hdf5 file More... | |
void | write_to_hdf5 (hid_t group_id, const char *groupname) const |
Write the function data to a hdf5 file More... | |
void | write_to_hdf5 (const char *filename, const char *groupname) const |
Write the function data to a hdf5 file More... | |
~function () | |
Public Attributes | |
cplx * | data_ |
Pointer to the function in the Matrix form on the real-time axis ( \(f(t)\)) ; 'data_+ \( (t+1)\;*\)element_size' corresponds to (0,0)-component of \(f(t)\). More... | |
int | nt_ |
Maximum number of the time steps. More... | |
int | size1_ |
Number of the colums in the Matrix form. More... | |
int | size2_ |
Number of the rows in the Matrix form. More... | |
int | total_size_ |
Size of the data stored for the function on the real-time axis including \( t=-1\); \( (n_t + 2)\) * size1 * size2 . More... | |
Class function
for objects \( f(t) \) with time on real axis.
This class contains the data of a function of time on real axis. The function can be scalar/matrix valued. The class also contains various operations on functions. t = -1 means the function on the imaginary(Matsubara) axis.
Definition at line 9 of file cntr_convolution_decl.hpp.