I'm trying to do some computations involving bilinears of vector spinors \psi_a
and it seems that using canonicalise
eliminates terms which shouldn't be zero.
In particular this applies to terms like \psi^a \bar{\psi^b}
, as showcased by the following minimal example:
# Setup properties needed
{a, b}::Indices.
\psi^a::SelfAntiCommuting.
{\psi^a, \rho, \chi}::Spinor(dimension=10).
{\psi^a, \rho, \chi}::AntiCommuting.
\bar{#}::DiracBar.
A{#}::AntiSymmetric.
# Non-zero canonicalisation
ex := A_{a b} \bar{\psi^b} \rho \bar{\psi^a} \chi.
canonicalise(_);
returns -A_{a b} \bar{\psi^a} \rho \bar{\psi^b} \chi
as expected, while
# Zero canonicalisation
ex := A_{a b} \bar{\rho} \psi^b\bar{\psi^a} \chi.
canonicalise(_);
returns 0
, even though it should not be zero.
Stripping everything else away, also the following canonicalises to zero, even though it should not:
# Zero canonicalisation
ex := A_{a b} \psi^b\bar{\psi^a}.
canonicalise(_);
Did I forget something in the setup of my spinors, or is that a genuine error in canonicalise
?