vermaseren / form

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

Tensors don't accept argument field wildcards anymore #523

Closed a-maier closed 6 months ago

a-maier commented 6 months ago

The following code crashes with Illegal substitution of argument field in tensor:

t t;

l foo = t;

id t(?a) = t(?a);
.end

Adding actual index arguments to t does not seem to change anything.

git bisect tells me that the new behaviour was introduced in 029a64708c9. Since this change is not mentioned in the commit message I assume it was not intentional?

jodavies commented 6 months ago

Hi Andreas,

The fix for that is coming in #519 . I think @tueda is just testing carefully.

tueda commented 6 months ago

OK, I'm still unsure how a certain code path is used that is not covered by the tests, but I will merge the PR, as it should resolve the issue.

jodavies commented 6 months ago

OK, I'm still unsure how a certain code path is used that is not covered by the tests, but I will merge the PR, as it should resolve the issue.

I just remembered that MATAD has some weird syntax that I was not aware of, does this hit your code path?

Vector p,q;
Tensor T;
Local test = p.q;
Identify p = T(?);
Print +s;
.end
tueda commented 6 months ago

I just remembered that MATAD has some weird syntax that I was not aware of, does this hit your code path?

This doesn't seem related to EATTENSOR, though it would be interesting to see whether T(?) is covered by the current test suite.

jodavies commented 6 months ago

I just remembered that MATAD has some weird syntax that I was not aware of, does this hit your code path?

This doesn't seem related to EATTENSOR, though it would be interesting to see whether T(?) is covered by the current test suite.

Right, and it is already there actually: Issue125_{1,2}.