-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Allow setting imaginary parts of traces to zero #81
Comments
How do I know which traces could have a vanishing imaginary part? Can all traces potentially have that, or just the tr(Q0Q2) and/or the tr(Q1Q1)? @maowerner, do you have some general guidance? |
write them down and take the complex conjugate |
for example:
where I've used gamma_5 gamma_0 = - gamma_0 gamma_5 twice. |
If you take a correlation function consisting of only up-quarks, then choosing the right Γ-structure (identity, γ₀ or γ₅) one should be able to construct a correlation function with arbitrary many propagators that is purely real. This works for a three point function like ππ→σ: Similarly one can do correlation functions with arbitrary many σ and that will give something real as well: So it seems that potentially any trace in our contraction code can be real, it just depends on the operators that one puts in. If that is correct, then there is no point in specifying which traces might be real as all of them could be. In the multiplication of traces to form a full diagram we either take all imaginary parts or we ignore all of them. Would that be useful then? |
Yes, contraction codes are generally equipped with a table specifying how the 16 independent quark bilinear operators behave under complex conjugation. |
We should be able to infer behavior under complex conjugation numerically with matrix of integers. The distinction between the neutral and charged/conjugated diagrams makes fully automatic detection of purely real (or purely imaginary, while we are at it) traces more difficult. I wonder whether we really need the conjugated diagram versions or whether it would be cleaner to let the user specify the Γ-structure with an additional γ₅ if they want to use the conjugation trick? If so, the code would be simpler and inference of vanishing real or imaginary parts would become easier. Independent of that I have not understood where the non-zero imaginary part comes from. This is a lattice artifact because we do not average over infinite space? Could it be that this artifact in the imaginary part which is somehow correlated with the real part such that neglecting it would actually give a worse signal compared to including it? |
That's not all that happens. Daggering transposes all indices. Let's do that for the explicit case of up and down. 'x' and 'y' here are super-indices inlcuding spin, colour and spacetime.
that' s why the 'c' type diagrams have a different type of contraction. An excellent if somewhat chaotic resource, in my opinion is https://arxiv.org/abs/hep-lat/9807028, which covers some details (page 108+) about quark bilinears which are unfortunately not covered in basic textbooks.
The correlation function that you write on paper is in the continuum limit. For general combinations of quark bilinears at finite a, there are other contributions, see https://www2.physik.uni-bielefeld.de/fileadmin/user_upload/workshops/strongnet/sint_bielefeld_11.pdf for a sketch of what these can look like (simplifications and complications apply when working with tmLQCD at maximal twist). For some of these it can be shown that they only contribute to the imaginary (real) part and the signal is in the real (imaginary) part, where the two cases depend on the CPT behaviour of the N quark blinears entering the correlation function. |
Note that there are some further caveats about the form of the charge conjugation operator in the twisted basis, see the review by Shindler in the appendices. |
Note also that since we have all-to-all, one could rewrite the 'c' type diagrams to be of the same form as the '0' type diagrams, but the current 'c'-type memory access should actually be more efficient. |
After discussing with Bartek today I think that there is no point in having this full and selective result. For the one case where we are sure that the trace is purely real (pion → pion, zero momenta), the imaginary part is numerically zero. In the other cases it is not as clear. So I propose to remove all this |
I am fine with that |
There are some traces where the imaginary part is zero analytically. The values that it has numerically are then just noise and might be omitted for better signal quality. In the multiplications of traces with each other we want to offer two results, (1) with normal complex multiplication and (2) with ignoring the imaginary part of the factors before multiplying. Since not all operators give purely real traces, we want to mark candidates in the code and then offer both results in the end. The user then has to decide which result to use for the analysis.
The text was updated successfully, but these errors were encountered: