This is an old revision of the document!


Response function

One simple way to represent a spectrum, for example one that is calculated using the function CreateSpectra(), is a sum over the poles multiplied by the residues: \begin{equation} I(\omega) = \sum_{k} \frac{R_k}{\omega - \omega_k + i \gamma/2} \qquad \qquad \qquad (1) \end{equation} A more compact way to store this spectrum is by just using two arrays for the values of $ \{R_k\} $ (residues) and $ \{\omega_k\} $ (poles). This is precicely the purpose of the object Response Function.

There are different ways to represent the same spectrum objects. The spectrum can also be obtained using the Green's function form $ G(\omega) = \frac{1}{\omega - H + E_0 + i \gamma/2} \Big|_{(0,0)} $, where $ H $ is a matrix. Any unitary transformation of the matrix $H$ which leaves the $(0,0)$ element unchanged results in the same spectrum. In Quanty, there are 4 different representations for the response function:

  • list of poles (ListOfPoles)
  • tri-diagonal (Tri)
  • Anderson (And)
  • natural impurity orbital (NaturalImpurityOrbital)

The function ChangeType() can be used to transform between these types. List of poles is exactly the representation in Eq. (1).

In order to define a response function,

Table of contents

Result

text produced as output

Table of contents

Print/export