{{indexmenu_n>999}} ====== InvertEnergy ====== ### InvertEnergy(G) takes response function $G(\omega)$ as an argument and returns $-G(-\omega)^*$. As we only store the poles and their residues we can do this by negating the energy of the poles without the need to change the size of the residue ### ===== Example ===== ### This example initializes a response function in the "list of poles" representation and inverts its energy. ### ==== Input ==== 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 / NEDOS -- 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 , 0.05 , 0.15 , 0.25 , 0.35 , 0.45 , 0.55 , 0.65 , 0.75 , 0.85 , 0.95 } , { 0.05 , 0.05 , 0.05 , 0.05 , 0.05 , 0.05 , 0.05 , 0.05 , 0.05 , 0.05 } , mu = 0 , name = G0 , type = ListOfPoles } { { 0 , -0.05 , -0.15 , -0.25 , -0.35 , -0.45 , -0.55 , -0.65 , -0.75 , -0.85 , -0.95 } , { 0.05 , 0.05 , 0.05 , 0.05 , 0.05 , 0.05 , 0.05 , 0.05 , 0.05 , 0.05 } , mu = 0 , name = G0 , type = ListOfPoles } ===== Table of contents ===== {{indexmenu>../#2|tsort}}