NESSi  v1.0.2
The NonEquilibrium Systems Simulation Library

◆ green_from_H() [3/6]

template<typename T >
void cntr::green_from_H ( int  tstp,
herm_matrix< T > &  G,
mu,
cdmatrix &  eps,
beta,
h 
)

Propagator for time-independent free Hamiltonian

Purpose

Calculate the free propagator G from fixed quadratic Hamiltonian using high-order commutator-free exponential time-propagation, see https://doi.org/10.1016/j.jcp.2011.04.006 for the description. Currently implemented versions are the second order using one exponential CF2:1 (order=2) and fourth order using two exponentials CF4:2 (order=4), see also article for more details.

Parameters
tstp

the index of the time step

G

The output: a time step of the Greens function set to time dependent free propagator

mu

chemical potential

eps

time-independent representation of quadratical hamiltonian

beta

inverse temperature

h

timestep interval

Definition at line 1288 of file cntr_equilibrium_impl.hpp.

References cntr::herm_matrix< T >::ntau(), cntr::herm_matrix< T >::set_timestep(), cntr::herm_matrix< T >::sig(), and cntr::herm_matrix< T >::size1().

1288  {
1289  assert(G.size1()==eps.rows());
1290  assert(eps.rows()==eps.cols());
1291  herm_matrix_timestep<T> Gstep(tstp,G.ntau(),G.size1(),G.sig());
1292 
1293  int size=G.size1();
1294  if(size==1) green_from_H_const_dispatch<T,1>(Gstep,mu,eps,beta,h);
1295  else green_from_H_const_dispatch<T,LARGESIZE>(Gstep,mu,eps,beta,h);
1296 
1297  G.set_timestep(tstp, Gstep);
1298 }
+ Here is the call graph for this function: