Table of Contents
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 }