vermaseren / form

The FORM project for symbolic manipulation of very big expressions
GNU General Public License v3.0
982 stars 118 forks source link

Jacobi identity of structure constants. #393

Closed AdityaS-r closed 2 years ago

AdityaS-r commented 2 years ago

Hi all,

I was trying to do some color algebra. Is it possible that we can write a procedure like the preprocessor calculator, for Jacobi's identity. So that whenever I want to use Jacobi's identity I just call it in the current file and it work? I was using following commands, but each time I get no cancellation. Manually I am getting zero.


function T1,...,T10,Tn; Cfunction f(antisymmetric); index N1,...,N20,d,e,x,a,c,b,g;

CommuteInSet{T1,T2,T3,T4,T5};

local A2 = 2f(d,c,N1)f(d,b,N2)f(g,N1,N2) - 2f(d,c,N1)f(d,g,N2)f(b,N1,N2) + 2f(d,c,N1)f(d,N1,N2)f(b,g,N2) ; id f(a?,d?,g?)f(a?,b?,e?) = - f(b,g,a)f(e,d,a) - f(g,a,e)*f(a,b,e); print +s; .sort .end


Any help would be great.........

Thanks Aditya

vermaseren commented 2 years ago

Implementing Jacobi identies generically is a famous problem that by my knowledge has not been solved. It is similar to the so-called Schouten identity for Levi-Civita tensors. The reason that your solution does not work is that it applies your id statement to all terms in the expression. If it applies it only to a single term it could work. With Levi-Civita tensors you would get that they are contracted with 4-vectors and the d that you need extra would be a dotproduct. But this dotproduct might cancel a denominator and then you would have to pull that part of the term from the ‘vacuum’. Because of this it is important to have your input in a notation that makes that the color algebra gives as few f’s as possible, or your trace algorithms give as few e’s as possible. The Form trace algorithms for products of traces in 4 dimensions do exactly that. It makes them at the same time very efficient. Unfortunately I cannot give you an equivalent formulation for the color traces.

On 2 Sep 2021, at 13:57, AdityaS-r @.***> wrote:

Hi all,

I was trying to do some color algebra. Is it possible that we can write a procedure like the preprocessor calculator, for Jacobi's identity. So that whenever I want to use Jacobi's identity I just call it in the current file and it work? I was using following commands, but each time I get no cancellation. Manually I am getting zero.

function T1,...,T10,Tn; Cfunction f(antisymmetric); index N1,...,N20,d,e,x,a,c,b,g;

CommuteInSet{T1,T2,T3,T4,T5};

local A2 = 2f(d,c,N1)f(d,b,N2)f(g,N1,N2) - 2f(d,c,N1)f(d,g,N2)f(b,N1,N2) + 2f(d,c,N1)f(d,N1,N2)f(b,g,N2) ; id f(a?,d?,g?)f(a?,b?,e?) = - f(b,g,a)f(e,d,a) - f(g,a,e)*f(a,b,e); print +s; .sort .end

Any help would be great.........

Thanks Aditya

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/vermaseren/form/issues/393, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABJPCEXALX72WM27CKD2XULT75RDBANCNFSM5DI5PWZQ. Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

AdityaS-r commented 2 years ago

Thanks for the details ......