NESSi  v1.0.2
The NonEquilibrium Systems Simulation Library

◆ green_from_H() [5/6]

template<typename T >
void cntr::green_from_H ( int  tstp,
herm_matrix_timestep< T > &  G,
mu,
cntr::function< T > &  eps,
beta,
h,
bool  fixHam,
int  SolveOrder,
int  cf_order 
)

Propagator for time-dependent free Hamiltonian

Purpose

Calculate the free propagator G from time dependent 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 timestep of the Greens function set to time dependent free propagator

mu

chemical potential

eps

time dependent representation of quadratical hamiltonian

beta

inverse temperature

h

time step interval

fixHam

If True Hamiltonian is known for all times and no extrapolation is needed for the predictor/corrector

SolveOrder

Order of integrator used for extrapolation and interpolation

cf_order

Order of approximation for commutator-free exponential, currently implemented orders = 2,4

Definition at line 1348 of file cntr_equilibrium_impl.hpp.

References cntr::herm_matrix_timestep< T >::size1(), cntr::function< T >::size1_, cntr::function< T >::size2_, and cntr::herm_matrix_timestep< T >::tstp().

1348  {
1349  assert(tstp == G.tstp());
1350  assert(G.size1()==eps.size2_);
1351  assert(eps.size1_==eps.size2_);
1352  assert(SolveOrder <= MAX_SOLVE_ORDER);
1353  assert(cf_order == 2 || cf_order == 4);
1354 
1355  int size=G.size1();
1356  if(size==1) green_from_H_dispatch<T,1>(G,mu,eps,beta,h,SolveOrder,cf_order,fixHam);
1357  else green_from_H_dispatch<T,LARGESIZE>(G,mu,eps,beta,h,SolveOrder,cf_order,fixHam);
1358 }
int size2_
Number of the rows in the Matrix form.
int size1_
Number of the colums in the Matrix form.
+ Here is the call graph for this function: