1
#include "Spacetime/AntisymmetricFourTensor.h"
2
#include "Spacetime/LorentzTransformation.h"
6
// Lorentz Transformation:
7
AntisymmetricFourTensor operator *(const LorentzTransformation & L, const AntisymmetricFourTensor & v) {
8
typedef std::complex<double> Complex;
10
const double sqrt2=sqrt(2.0), sqrt8=sqrt(8);
13
S1((-v(1,0)-I*v(3,2) + I*v(2,0)-v(1,3))/sqrt2,
15
(v(1,0)+I*v(3,2) + I*v(2,0)-v(1,3))/sqrt2);
18
S2((-v(1,0)+I*v(3,2) + I*v(2,0)+v(1,3))/sqrt2,
20
(v(1,0)-I*v(3,2) + I*v(2,0)+v(1,3))/sqrt2);
22
Eigen::Vector3cd S1Prime=L.rep1(3)*S1, S2Prime=L.rep2(3)*S2;
24
AntisymmetricFourTensor T;
25
T(1,0) = real(S1Prime(2)-S1Prime(0) + S2Prime(2)-S2Prime(0))/sqrt8;
26
T(2,0) = real (-I*(S1Prime(2)+S1Prime(0)+S2Prime(2)+S2Prime(0)))/sqrt8;
27
T(3,0) = real(S1Prime(1)+S2Prime(1))/2.0;
29
T(3,2) = imag(S1Prime(2)-S1Prime(0) - S2Prime(2) +S2Prime(0))/sqrt8;
30
T(1,3) = imag (-I*(S1Prime(2)+S1Prime(0)-S2Prime(2)-S2Prime(0)))/sqrt8;
31
T(2,1) = imag(S1Prime(1)-S2Prime(1))/2.0;