Thanks a lot for your quick response. I appreciate it.
Please note that I have carefully tested the two approaches (see below) in a clean 1D system without random onsite potential. Only in that case, two approaches match, so my equations are correct. However, when on-site potential is present, then two approaches do not match at all.
I just want to clarify a few things:
First, in 1D, there is only one mode present, so both wave function and Greens function approaches take into account the same number of modes. There are no additional modes that Greens function somehow finds and takes into account. This cannot be the reason for discrepancy.
Second clarification is, my approach (I) is direct inversion:
G^{r}(E) = [E+i\eta - H - \Sigma^r_{leads}]^{-1} .
I can directly invert a small matrix to compute G^{r}. I don’t use this formula to derive my wave function approach. This is used to test whether Greens function computed using scattering wave function is accurate or not.
My approach (II) is based on *scattering wave function* (note the emphasis on scattering, these are not eigen modes!!) of the scattering region of the system. The connection between the scattering wave function and retarded Green’s function is provided in Eq. 25 of the reference I quoted earlier. Please check the reference before you do your derivation, which I believe is incorrect. You are using equations that is neither related to Eq 25, nor related to what I am using.
In that reference, Green’s function is given in time domain (t, t’). It is a straightforward task to write that in frequency or energy domain since the system is time independent, so G is time translationally invariant (t-t’). The energy domain expression is:
G^r(E) = -i \Psi_{\alpha}(E)*\Psi^\dag_{\alpha}(E).
Here \Psi_{\alpha}(E) is a *scattering wave function* at arbitrary energy E. Again, I want to emphasize that these are scattering states not some eigenmodes.
I would appreciate if you could start your own derivation for Greens function using *scattering wave function* (please not that our system is open system) starting from Eq. 25 of the reference I mentioned. You will end up with
-i \Psi_{\alpha}(E)*\Psi^\dag_{\alpha}(E) for a stationary or time independent system.
If you run my Python example file, which I included in my previous email, by removing the on-site potential (comment out that line), you will see that two approaches exactly match and both give the same Greens function. If I had missed a velocity or something like you said, then two quantities would not have matched in a clean 1D system. Please try my code yourself and see for yourself (a small typo in the code in the if statement for onsite potential, instead of “or” use “and”).
I would really appreciate if we could resolve this discrepancy. I look forward to any suggestions.
Thanks for your time!