Summary: Member Functions of herm_matrix and herm_matrix_timestep[_view]

The following table gives a brief summary of member functions of a herm_matrix and herm_matrix_timestep object A, with reference to the documentation section:

Constructors and file I/O of herm_matrix

Description

Reference

herm_matrix<T>()

Default constructor

Constructors

herm_matrix<T>(int nt,int ntau,int size1,int sig)

Constructor

Constructors

void print_to_file(const char* filename)

Create a textfile filename and write human readable data (large files!)

File I/O

void read_from_file(const char* filename)

Read a textfile filename previously created with print_to_file, and resize/set A to content of file

File I/O

void write_to_hdf5(const char *filename, const char *groupname)

Write a data group groupname into a HDF5 file filename

HDF5 Usage

void read_from_hdf5(const char *filename, const char *groupname)

Read a group groupname from HDF5 file filename and resize/set A to content of file

HDF5 Usage

Constructors of herm_matrix_timestep

Description

Reference

herm_matrix_timestep()

Default constructor

Constructors

herm_matrix_timestep(int nt,int ntau,int size1,int sig)

Constructor

Constructors

Constructors of herm_matrix_timestep_view

Description

Reference

herm_matrix_timestep_view()

Default constructor

Constructors

herm_matrix_timestep_view(int nt,int ntau,int size1,int size2,int sig)

Constructor

Constructors

herm_matrix_timestep_view(int tstp, GG &g)

Constructor, GG = herm_matrix<T> or herm_matrix_timestep<T>

Constructors

Member functions of herm_matrix, herm_matrix_timestep, herm_matrix_timestep_view with the same syntax

Description

Reference

void set_[XXX](time_arguments,matrix &M)

Set component XXX=mat,ret,les,tv at given time arguments of the hermitian domain from a matrix or scalar M

Accessing individual elements

void get_[XXX](time_arguments,matrix &M)

Read component XXX=mat,ret,les,tv at given time arguments of the hermitian domain to a matrix or scalar M

Accessing individual elements

void density_matrix(int tstp,matrix &M)

Read density matrix at time tstp to a matrix or scalar M

Density matrix

void set_timestep(int tstp,GG &B)

Set data at timestep tstp to data of B, where B is herm_matrix<T> or herm_matrix_timestep<T>

Timestep-wise data exchange between Green’s functions

void set_matrixelement(int tstp,int i1,int i2,GG &B,int j1,int j2)

Set matrixelement (i1,i2) at timestep tstp to matrixelement (j1,j2) of B, where B is herm_matrix<T> or herm_matrix_timestep<T>

Timestep-wise data exchange between Green’s functions

void set_timestep_zero(int tstp)

Set elements at timestep tstp to 0

Simple Algebra

void smul(int tstp, std::complex<T> x)

\(A(t,t')\) set to \(xA(t,t')\) on timestep tstp of A

Simple Algebra

void incr_timestep(int tstp,GG &B, std::complex<T> x)

\(A(t,t')\) set to \(A(t,t')+xB(t,t')\) on timestep tstp of A, where B is herm_matrix<T> or herm_matrix_timestep<T>

Simple Algebra

void left_multiply(int tstp,cntr::function<T> &f, T x)

\(A(t,t')\) set to \(x f(t) A(t,t')\) at timestep tstp of A

Multiplication with one-time contour functions

void right_multiply(int tstp,cntr::function<T> &f, T x)

\(A(t,t')\) set to \(x A(t,t') f(t')\) at timestep tstp of A

Multiplication with one-time contour functions

void left_multiply_hermconj(int tstp,cntr::function<T> &f, T x)

\(A(t,t')\) set to \(x f(t)^\dagger A(t,t')\) at timestep tstp of A

Multiplication with one-time contour functions

void right_multiply_hermconj(int tstp,cntr::function<T> &f, T x)

\(A(t,t')\) set to \(x A(t,t') f(t')^\dagger\) at timestep tstp of A

Multiplication with one-time contour functions

void Bcast_timestep(int tstp, int root)

Broadcast the data of \(A(t,t')\) on timestep tstp from rank root to all other ranks.

Communicating timesteps

void Reduce_timestep(int tstp, int root)

In place reduction, replacing \(A(t,t')\) on rank root by \(\sum_{\text{rank}\,j} A_{\text{at rank}\,j}(t,t')\) for one timestep tstp.

Communicating timesteps

void Send_timestep(int tstp, int dest, int tag)

Send the data of \(A(t,t')\) on timestep tstp to rank dest with a message tag tag.

Communicating timesteps

void Recv_timestep(int tstp, int root, int tag)

Receive a message with tag tag from rank root which contains the data of \(A(t,t')\) on timestep.

Communicating timesteps