NESSi  v1.0.2
The NonEquilibrium Systems Simulation Library

◆ rcorr()

template<typename T = double>
T integration::Integrator< T >::rcorr ( int  m,
int  j,
int  l 

Returns the special quadrature weights for computing integrals on the Matsubara axis.


For calculation integrals on the Matsubara axis of the type

\begin{align*} R(\tau_m) = \int^{\tau_m}_0 d\tau\, A(\tau_m-\tau)B(\tau) \ , \end{align*}

Gregory quadrature can only be used for \(m \ge k\). For \(m < k\), special weights are needed, since the Matsubara Green's functions can not contuinuously be continued to \(\tau <0\) and \(\tau >\beta\). Using two-dimensional polynomial interpolation, one can represent the convolution integral by

\begin{align*} R(\tau_m) = \Delta\tau\sum^k_{j,l=0} w_{m,j,l}\, A(\tau_j) B(\tau_l) \ . \end{align*}

rcorr returns the quadrature weights \(w_{m,j,l}\) for given indices.


The index of the upper integration bound.


The second indes of the weights.


The second indes of the weights.

Definition at line 439 of file integration.hpp.

439  {
440  int k1=k_+1;
441  if(k_<2) return 0;
442  assert(m<k_ && j<=k_ && l<=k_);
443  return *(rcorr_ + (m-1)*k1*k1 + j*k1 +l);
444 }