Hey Joe, You're absolutely right. One additional reason why a routine for the lead's Green's function doesn't exist is also that it was not a priority so far.
It should be possible to obtain the lead's Green's function though. We would need to take the appropriate linear superpositions of the modes, which we would then expand (using the identically called function in modes.py) to the original tight-binding basis. Cheers, Anton On Fri, 13 Mar 2020 at 08:43, Joseph Weston (Aquent LLC - Canada) <v-jos...@microsoft.com> wrote: > > Good day, > > > > I have a question about how best to obtain the retarded Green’s function for > a lead in Kwant. > > > > Kwant already has a way of calculating the retarded self-energy of a lead > (the ‘selfenergy’ method of ‘StabilizedModes’ [1]), however there is no > equivalent routine for the retarded Green’s function. As far as I am aware > one may obtain the self-energy from the Green’s function by sandwiching it > between a V (inter-cell hopping) and a V^\dagger, and I was wondering if > there is a reason why there is not a routine that returns the Green’s > function directly. > > > > One possibility is because the modes, as calculated by Kwant, are (in > general) in a weird basis related to the singular value decomposition of V, > and only a part of the SVD is stored with the stabilized modes, which makes > it impossible to “get out” the modes in the tight-binding basis as required > for the Green’s function. > > > > Is my understanding correct, or am I missing something? > > > > Thanks, > > > > Joe > > > > [1]: > https://gitlab.kwant-project.org/kwant/kwant/-/blob/master/kwant/physics/leads.py#L185