Name: Passek Date: 02/08/06-01:14:26 PM Z


What I am talking about is that at the end of my calculation I have the expressions written in terms of scalar products of various four vectors (ex. ScalarProducty[p1,p2] etc.) and contractions of LeviCivita tensor With various four vectors (ex. LeviCivita[p1,p2,k1,k2] etc.). The value of scalar products I can easily implement (actually predefine),
but this is not the case with LeviCivita contractions
(I then make some rules…). Also, the calculation of LeviCivita contractions is not so easy as the calculation
of scalar products (many terms…)…
So, I was wondering if there is something inside FC…
(Actually, some implementation of kinematics and component wise definition of four vectors could be useful for calculation of scalar products, contractions of the above mentioned type etc)

Kornelija

P.S.
I use something like:

eps[a_,b_,c_,d_]:=
  0 /;( a\[Equal]b || a\[Equal]c || a\[Equal]d || b\[Equal]c || b\[Equal]d ||
        c\[Equal]d)

eps[1,2,4,3]=-eps[1,2,3,4];
eps[1,3,2,4]=-eps[1,2,3,4];
eps[1,3,4,2]=eps[1,2,3,4];
eps[1,4,2,3]=eps[1,2,3,4];
eps[1,4,3,2]=-eps[1,2,3,4];
eps[2,1,3,4]=-eps[1,2,3,4];
eps[2,1,4,3]=eps[1,2,3,4];
eps[2,3,1,4]=eps[1,2,3,4];
eps[2,3,4,1]=-eps[1,2,3,4];
eps[2,4,1,3]=-eps[1,2,3,4];
eps[2,4,3,1]=eps[1,2,3,4];
eps[3,1,2,4]=eps[1,2,3,4];
eps[3,1,4,2]=-eps[1,2,3,4];
eps[3,2,1,4]=-eps[1,2,3,4];
eps[3,2,4,1]=eps[1,2,3,4];
eps[3,4,1,2]=eps[1,2,3,4];
eps[3,4,2,1]=-eps[1,2,3,4];
eps[4,1,2,3]=-eps[1,2,3,4];
eps[4,1,3,2]=eps[1,2,3,4];
eps[4,2,1,3]=eps[1,2,3,4];
eps[4,2,3,1]=-eps[1,2,3,4];
eps[4,3,1,2]=-eps[1,2,3,4];
eps[4,3,2,1]=eps[1,2,3,4];

ruleEps0123 = {eps[1, 2, 3, 4] -> 1};Theta]};\)\)

\!\(\(p\[Gamma] = {E\[Gamma], 0, 0, E\[Gamma]};\)\[IndentingNewLine]
  \(pi = {E\[Gamma], 0, 0, \(-E\[Gamma]\)};\)\[IndentingNewLine]
  \(pV = {EV, Ef\ sin\[Theta], 0, Ef
cos\[Theta]};\)\[IndentingNewLine]
  \(pf = {Ef, \(-Ef\)\ sin\[Theta],
        0, \(-Ef\)
cos\[Theta]};\)\[IndentingNewLine]
  \(k0 = {1, 1, 0, 0};\)\[IndentingNewLine]
  \(k1 = {0, 0, 1, 0};\)\[IndentingNewLine]
  \(\[Epsilon]\[Gamma] = {0, \(-1\)/Sqrt[2]\ \[Lambda]\_\[Gamma], \(-1\)/
            Sqrt[2]\ \ \[ImaginaryI], 0};\)\[IndentingNewLine]
  \(\[Epsilon]V1s = {0, \(-1\)/Sqrt[2]
\[Lambda]\_V\ cos\[Theta],
        1/Sqrt[2]\ \ \[ImaginaryI],
        1/Sqrt[2]\ \[Lambda]\_V
sin\[Theta]};\)\[IndentingNewLine]
  \(\[Epsilon]V0s = \(1\/mV\) {Ef, EV
sin\[Theta], 0, EV\ cos\[Theta]};\)\)

EpsContr[fa_, fb_, fc_, fd_] := (
    sum = 0;
    Do[sum = sum +
          eps[n, i, j, k] fa[[n]] fb[[i]] fc[[j]] fd[[k]], {n, 1, 4}, {i, 1,
        4}, {j, 1, 4}, {k, 1, 4}];
    Simplify[sum])

EpsContrNEWa[fa_, fb_, fc_, fd_] :=
  Signature[{fa, fb, fc, fd}]EpsContr[
        ReleaseHold[Sort[{fa, fb, fc, fd}][[1]]],
        ReleaseHold[Sort[{fa, fb, fc, fd}][[2]]],
        ReleaseHold[Sort[{fa, fb, fc, fd}][[3]]],
        ReleaseHold[Sort[{fa, fb, fc, fd}][[4]]]] /. ruleEps0123

EpsContrNEWb[fa_, fb_, fc_, fd_] :=
  Signature[{fa, fb, fc, fd}]EpsContr[Sort[{fa, fb, fc, fd}][[1]],
        Sort[{fa, fb, fc, fd}][[2]], Sort[{fa, fb, fc, fd}][[3]],
        Sort[{fa, fb, fc, fd}][[4]]] /. ruleEps0123