FeynCalc / feyncalc

Mathematica package for algebraic calculations in elementary particle physics.
https://feyncalc.github.io
GNU General Public License v3.0
310 stars 87 forks source link

FermionSpinSum does not work in WolframScript #57

Closed rsato64 closed 4 years ago

rsato64 commented 4 years ago

I tried to use FermionSpinSum in WolframScript. In[2]:= Spinor[p].Spinor[q] Spinor[q].Spinor[p] // FermionSpinSum

However, I just got the following error message, and I cannot get correct result. FermionSpinSum::spinorsleft: Error! After applying FermionSpinSum to all spinor chains the output still contains spinors. Out[2]= u[p] . u[q] u[q] . u[p]

vsht commented 4 years ago

The syntax Spinor[p] is not supported since FeynCalc 9.3.1 https://github.com/FeynCalc/feyncalc/blob/master/FeynCalc/Changelog.md#important-changes

Either you use the complete FCI-notation

Spinor[Momentum[p], 0].Spinor[Momentum[q], 0] Spinor[Momentum[q], 
    0].Spinor[Momentum[p], 0] // FermionSpinSum

or the FCE shortcuts

SpinorUBar[p].SpinorU[q] SpinorUBar[q].SpinorU[p] // FermionSpinSum
vsht commented 4 years ago

To give a bit more details on why it was necessary:

The current syntax for external states (spinors and polarization vectors) is rather limited and is difficult to extend. Yet an extension is clearly necessary: We'd like to have support for specific external states (e.g. L/R-handed spinors, vectors with circular polarizations etc.). Pauli spinors (with full momentum dependence) are still missing as well as Dirac spinors at p=0. The first step is to get rid of all weird and not well-defined constructions like Spinor[p], to have a clear separation between FCI and FCE objects.

rsato64 commented 4 years ago

Thanks a lot! I did not know that... Both of SpinorU and Spinor[Momentum[p], 0] work properly in my environment.