Closed aichhorn closed 9 years ago
To be rechecked in branch 1.2-dev.
@pseth, @aichhorn: can you recheck ? Is it fixed in 1.2-dev ?
@parcollet No, it is not fixed.
from pytriqs.gf.local import *
g = GfImFreq(indices = [0], beta = 1)
g <<= inverse(Omega)
print g.tail[1] # [[ 1.-0.j]]
print g.conjugate().tail[1] # [[ 1.+0.j]]
Retested. IT works now. Closed.
It's not fixed... The tail of the conjugate of a Green's function is not the conjugate of the tail. The conjugate has to be specialized for the different kinds of GFs...
We need to fix this asap.
Ah, ok. @mferrero : Can you be more precise what you mean by specialized ?
Take 1/i\omega_n. Its first moment is 1. The complex conjugate is -1/i\omega_n with first moment -1. Clearly the tail of the conjugate is not the conjugate of the tail. It has an extra -1 factor. On the other hand, take the function 1/\omega. The complex conjugate is 1/\omega. Both first moments are 1. In that case, no need to take an extra -1 factor. So according to the type of the Green's function, the procedure to get the tail of the conjugate is different. We will have to code a specialized version of conjugate for all Green's functions no?
Ah right ... Needs to be done soon, Leonid needs it...
+1
there is a problem with the conjugate of the tail of a Greens function. Because of the expansion in 1/iomega, one has to conjugate to whole tail, not only its coefficients. bug is in tail.pyx maybe put a special function for ImFreq GF's, since it is not needed anywhere else.