vermaseren / form

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

Pattern matching for products of vectors #300

Open a-maier opened 5 years ago

a-maier commented 5 years ago

Hello,

it seems that for patterns with products of vectors not all orderings are matched. Here is a short example tested with v4.2.0-52-gf94c1c8:

v l1,l2;
i mu1,mu2,mu3;

l foo =
+ l1(mu1)*l2(mu2)*l2(mu3)
+ l1(mu1)*l1(mu2)*l2(mu3)
;

id l1?(mu1?)*l1?(mu2?)*l2?(mu3?)=0;

print;
.end

The output I would expect is 0, what I get instead is l1(mu1)*l2(mu2)*l2(mu3). I do get 0 if I change l1,l2 to commuting functions or tensors.

Cheers Andreas

benruijl commented 3 years ago

This is a known (to the developers) shortcoming of FORM, where indeed not all orderings are tried on anything that is not a function. Since this bug requires a large rewrite that is not going to happen in the near future, it is best if we mention this shortcoming in the manual instead.