Linearization of anti-symmetric function #639
-
I am writing to ask for clarification regarding an issue I've encountered in FORM related to the loss of antisymmetric behavior in a user-defined commuting function. To illustrate the problem, I have attached test code below. The function in question is essentially a user-defined rank-4 Levi-Civita tensor, which I denote as Levieps(p1, p2, p3, p1 + p2). My goal is to linearize the fourth argument (p1 + p2) using SplitArg, with the expectation that the resulting expression vanishes due to the antisymmetric properties of the Levi-Civita symbol. To avoid writing specific id statements for each possible argument combination, I attempt to generalize the approach by applying SplitArg and converting to non-commuting functions. However, once the expression is linearized, the antisymmetric nature appears to be lost, and the result does not vanish as expected. Here is the test code: #- g TraceExpr = Levieps(p1, p2, p3,p1+p2); print+s TraceExpr; |
Beta Was this translation helpful? Give feedback.
Replies: 4 comments 4 replies
-
Here's the information from our emails: After the This can be resolved by adding |
Beta Was this translation helpful? Give feedback.
-
Also of note is that the manual claims |
Beta Was this translation helpful? Give feedback.
-
This is not a generally applicable method, but it may be useful in diagrammatic calculations (like p4 :=
which gives
This works because |
Beta Was this translation helpful? Give feedback.
-
Fixed in #658 . Still there is the manual-related issue. |
Beta Was this translation helpful? Give feedback.
Also of note is that the manual claims
This statement is obsolete. The user should try to use the funpowers option of the on (see [7.107] or the off (see [7.106]) statements.
but that option doesn't exist there and I don't see it in the code either.