NESSi  v1.0.2 The NonEquilibrium Systems Simulation Library
cntr::function< T > Class Template Reference

Class function for objects $$f(t)$$ with time on real axis. More...

#include <cntr_convolution_decl.hpp>

Collaboration diagram for cntr::function< T >:

## 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

functionoperator= (const function &f)
Overloaded operator '='. It copies data from an existing function object More...

functionoperator= (function &&f) noexcept
Overloaded operator '=', which copies data from an existing function object(right-value reference) More...

cplxoperator[] (int t)

const cplxoperator[] (int t) const

void print_to_file (const char *file, int precision=16) const
Store the function data to a txt file More...

cplxptr (int t)

const cplxptr (int t) const

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...

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

cplxdata_
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...

## Detailed Description

### template<typename T> class cntr::function< T >

Class function for objects $$f(t)$$ with time on real axis.

Purpose

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.

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