This is an old revision of the document!


InvertEnergy

InvertEnergy(G) takes response function $G(\omega)$ as an argument and returns $G(-\omega)$.

Example

This example initializes a response function in the “list of poles” representation and inverts its energy.

Input

Example.Quanty
NEDOS   = 10
HalfBW = 1
dE =HalfBW/NEDOS
 
a = {0}
b = {}
 
for I=1,NEDOS do
  a[#a+1] = (i+0.5) * dE -- energy axis from 0 to 1
  b[#b+1] = 0.5 -- flat density of states
end
 
G0 = ResponseFunction.New( {a,b,mu=0,type="ListOfPoles", name="G0"} )
G0_inv = ResponseFunction.InvertEnergy(G0)
 
print(G0)
print(G0_inv)

Result

{ { 0 , -1 , -0.9 , -0.8 , -0.7 , -0.6 , -0.5 , -0.4 , -0.3 , -0.2 , -0.1 , 0 , 0.1 , 0.2 , 0.3 , 0.4 , 0.5 , 0.6 , 0.7 , 0.8 , 0.9 , 1 } , 
  { 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 } ,
  type = ListOfPoles ,
  mu = 0 ,
  name = G0 }
 
{ { 0 , 1 , 0.9 , 0.8 , 0.7 , 0.6 , 0.5 , 0.4 , 0.3 , 0.2 , 0.1 , 0 , -0.1 , -0.2 , -0.3 , -0.4 , -0.5 , -0.6 , -0.7 , -0.8 , -0.9 , -1 } , 
  { 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 , 0.5 } ,
  type = ListOfPoles ,
  mu = 0 ,
  name = G0 }

Table of contents

Print/export