InvertEnergy

InvertEnergy(G) takes response function $G(\omega)$ as an argument and returns $G(-\omega)$. Argument response function doesn't get overwritten.

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
 
a0 = {0}
b0 = {}
 
for i=-NEDOS,NEDOS do
  a0[#a0+1] = i * dE -- energy axis from -1 to 1
  b0[#b0+1] = 0.5 -- flat density of states
end
 
G0 = ResponseFunction.New( {a0,b0,mu=0,type="ListOfPoles", name="G0"} )
G0_inv = ResponseFunction.InvertEnergy(G0)
 
print(ResponseFunction.ToTable(G0))
print(ResponseFunction.ToTable(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