{{indexmenu_n>999}}
====== CalculateSelfEnergy ======
###
ResponseFunction.CalculateSelfEnergy($G_0$,$G$) calculates
\begin{equation}
\Sigma = G_0^{-1} - G^{-1}
\end{equation}
###
===== Input =====
* $G_0$ : ResponseFunction object
* $G$ : ResponseFunction object
* Possible options are:
* "epsilon" : minimal distance between two poles to be considered different in energy (default value 2.3E-13)
===== Output =====
* $\Sigma$ : ResponseFunction object
===== Example =====
###
###
==== Input ====
-- H0, H1, Npsi, TPes, TIPes are defined beforehand
psiList = Eigensystem(H0,StartRestrictions, Npsi)
G0PESIPES_Spectra, G0PESIPES_ResponseFunction = CreateSpectra(H0, {TPes, TIPes}, psiList[1], {{"Emin",-1}, {"Emax",9}, {"NE",1000}, {"Gamma",0.25}})
G0 = G0PESIPES_ResponseFunction[2] + ResponseFunction.InvertEnergy(G0PESIPES_ResponseFunction[1])
Eigensystem(H0+H1, psiList[1]) -- Use H0 groundstate as Ansatz for Full Hamiltonian groundstate calculation
--For memory efficiency, this way of calling Eigensystem overwrites Ansatz wavefunction with a new one.
GPESIPES_Spectra, GPESIPES_ResponseFunction = CreateSpectra(H0+H1, {TPes, TIPes}, psiList[1], {{"Emin",-1}, {"Emax",9}, {"NE",1000}, {"Gamma",0.25}})
G = GPESIPES_ResponseFunction[2] + ResponseFunction.InvertEnergy(GPESIPES_ResponseFunction[1])
Sigma = ResponseFunction.CalculateSelfEnergy(G0,G)
print(ResponseFunction.ToTable(Sigma))
==== Result ====
{ { 0.5 , 6.9374060711003e-16 , 3.0413812651491 } ,
{ 0.085601012694643 , 0.16439898730536 } ,
name = Self energy ,
mu = 0 ,
type = ListOfPoles }
===== Table of contents =====
{{indexmenu>.#1|msort}}