Projection operators for propagators

32 views
Skip to first unread message

Elias Leite Mendonça

unread,
May 28, 2024, 12:15:16 AMMay 28
to xAct Tensor Computer Algebra

Dear colleagues,

I have a simple question: I would like to implement projection operators to calculate propagators of field theories. Specifically, I need to define expressions in xAct like this:

\omega_{\mu\nu}=\frac{k_{\mu}k_{\nu}}{k^2}

Note that in this expression, I am using kμ  and k^2=k_{\alpha}k^{\alpha}  which are supposed to represent the momentum and its square. Besides, I would like xAct to understand that:

k^{\mu}\omega_{\mu\nu}=k_{\nu}

Is this possible? Could someone give me an idea on how to construct omega?

All the best!




Jose

unread,
May 28, 2024, 9:25:42 PMMay 28
to xAct Tensor Computer Algebra
Hi,

First, the usual steps:

   <<xAct`xTensor`
   DefManifold[M, 4, {a, b, c, d, e, f}]
   DefMetric[-1, g[-a, -b], cd]
   DefTensor[k[a], M]

There are (at least) two different ways to approach a case like this:

1) Construct omega as follows (no need to declare it with DefTensor):

    omega[a_, b_] := k[a] k[b] / Scalar[k[c] k[-c]]

Then you can do computations simplifying with PutScalar and ToCanonical at the end:

   In[6]:= omega[-a, -b] k[b] // PutScalar // ToCanonical
   Out[6]= k[-a]

   In[7]:=omega[-a, -b] omega[b, c] - omega[-a, c] // PutScalar // ToCanonical
   Out[7]= 0

2) Or you can define a tensor Omega[-a, -b] and declare all its properties as upvalues:

   DefTensor[Omega[-a, -b], M, Symmetric[{-a, -b}], PrintAs -> "\[Omega]"]

You can write the upvalues yourself, or you can use something like this to have xTensor write them for you:

   AutomaticRules[Omega, MakeRule[{Omega[-a, -b] Omega[b, -c], Omega[-a, -c]}, MetricOn -> All]]
   AutomaticRules[Omega, MakeRule[{Omega[-a, -b] k[b], k[-a]}, MetricOn -> All]]

Then you have:

   In[11]:= Omega[-a, -b] k[b]
   Out[11]= k[-a]

   In[12]:= Omega[-a, -b] Omega[b, -c]
   Out[12]= Omega[-a, -c]

Use one method or the other, but not both on the same object. I used different names omega and Omega to have the two methods on different objects.

Cheers,
Jose.

Reply all
Reply to author
Forward
0 new messages