This is an old revision of the document!


New

ResponseFunction.New(Table) creates a new response function object according to the values in Table. Response functions can be of 4 different types (ListOfPoles, Tri, And, or Nat) and single-valued or matrix-valued. Below 8 examples for creating each of these response functions by hand at some arbitrary values.

ListOfPoles representation

Response functions stored as list of poles are defined via $$ G(\omega,\Gamma) = A_0 + \sum_{i=1}^{n} B_{i-1} \frac{1}{\omega + \mathrm{i}\Gamma/2 - a_i} $$

Single valued functions

Example.Quanty
a = {10, -1,-0.5, 0,   0.5,  1,  1.5}
b = {  0.1, 0.1, 0.1, 0.1, 0.2, 0.3}
G = ResponseFunction.New( {a,b,mu=0,type="ListOfPoles", name="A"} )
print("The resposne function definition is")
print(G)
omega = 1.1
Gamma = 0.001
print()
print("Evaluated at omega =",omega," and Gamma =",Gamma," yields ",G(omega,Gamma))

Generates the output

The resposne function definition is
{ { 10 , -1 , -0.5 , 0 , 0.5 , 1 , 1.5 } , 
  { 0.1 , 0.1 , 0.1 , 0.1 , 0.2 , 0.3 } ,
  name = A ,
  type = ListOfPoles ,
  mu = 0 }
 
Evaluated at omega =	1.1	 and Gamma =	0.001	 yields 	(11.617645834991 - 0.011148328755289 I)

Matrix valued functions

Example.Quanty
-- some example code

Generates the output

text produced as output

Tridiagonal representation

Response functions stored in tridiagonal format are defined via $$ G(\omega,\Gamma) = A_0 + B_0^* \frac{1}{\omega + \mathrm{i}\Gamma/2 - A_1 - B_{1}^{\phantom{\dagger}} \frac{1}{\omega + \mathrm{i}\Gamma/2 - A_2 - B_{2}^{\phantom{\dagger}} \frac{1}{\omega + \mathrm{i}\Gamma/2 - A_2 - B_{3}^{\phantom{\dagger}} \frac{...}{\omega + \mathrm{i}\Gamma/2 - A_{n-1} - B_{n-1}^{\phantom{\dagger}} \frac{1}{\omega + \mathrm{i}\Gamma/2 - A_n } B_{n-1}^{\dagger}} B_{3}^{\dagger} } B_{2}^{\dagger} } B_{1}^{\dagger} } B_0^T $$

Single valued functions

Example.Quanty
 

Generates the output

 

Matrix valued functions

Example.Quanty
-- some example code

Generates the output

text produced as output

Anderson representation

Response functions stored in Anderson format are defined via $$ G(\omega,\Gamma) = A_0 + B_0^* \frac{1}{\omega + \mathrm{i}\Gamma/2 - A_1 - \sum_{i=2}^{n} B_{i-1}^{\phantom{\dagger}} \frac{1}{\omega + \mathrm{i}\Gamma/2 - A_{i} } B_{i-1}^{\dagger} } B_0^T $$

Single valued functions

Example.Quanty
 

Generates the output

 

Matrix valued functions

Example.Quanty
-- some example code

Generates the output

text produced as output

Natural impurity orbital representation

Response functions stored in Natural impurity format are defined via $$ G(\omega,\Gamma) = A_0 + B_0^* \left( G_{val}(\omega,\Gamma) + G_{con}(\omega,\Gamma) \right) B_0^T$$, with $G_{val}(\omega,\Gamma)$ and $G_{con}(\omega,\Gamma)$ as response functions with poles either at positive energy ($G_{con}(\omega,\Gamma)$) or poles at negative energy ($G_{val}(\omega,\Gamma)$).

Single valued functions

Example.Quanty
 

Generates the output

 

Matrix valued functions

Example.Quanty
-- some example code

Generates the output

text produced as output

Table of contents

Print/export