Closed johfer closed 12 years ago
Hi Johannes,
Sorry for this late answer. I don't really have a reference for the tail algebra. In the end, it is not so tricky. For example, for the inverse, you would proceed like this. Imagine that G has a tail
a_1 / omega + a_2 / omega^2 + a_3 / omega^3
Now suppose you know the inverse Ginv and it has a tail
\sum_n b_n / omega^n
The idea is to write that G * Ginv = 1 and to get coupled equations for the tail coefficients b{n}. In doing so, you will realize that the lowest order in Ginv has to be omega^3. Any higher order is allowed and in principle non-zero. So you have to set a cutoff, e.g. omega^10. You then have to solve the equation for the b{n}. For example, b{-3} = 1 / a{3}. Then you must have b{-4} a{3} + b{-3} a{2} = 0 which you solve for b{-4}. And so on for the other b{n} up to the chosen cutoff.
I hope this helps!
Hi Michel,
ah, I see.
Thanks a lot, best regards,
Johannes
Dear TRIQS-Team,
thanks for sharing this great code! In particular I find the built-in tail algebra for Green's functions very useful so that all operations on the Greens functions are also reflected in the tail coefficients. I wonder whether any of you can give me the respective reference where this is written down? For instance the inversion in TailGF::invert seems kind of tricky. I've seen something related in some work by Oudovenko, but not quite yet. Could you give me the exact reference?
Thanks a lot,
Johannes Ferber