g1 = { {0,0,0,-I}, {0,0,-I,0}, {0,I,0,0}, {I,0,0,0} } ;

MatrixForm[g1]

g2 = { {0,0,0,-1}, {0,0,1,0}, {0,1,0,0}, {-1,0,0,0} } ;

MatrixForm[g2]

g3 = { {0,0,-I,0}, {0,0,0,I}, {I,0,0,0}, {0,-I,0,0} };

MatrixForm[g3]

g4 = { {1,0,0,0}, {0,1,0,0}, {0,0,-1,0}, {0,0,0,-1} } ;

MatrixForm[g4]

MatrixForm[ g1 . g1 ]

MatrixForm[ g2 . g2 ]

MatrixForm[ g3 . g3 ]

MatrixForm[ g4 . g4 ]

MatrixForm[ g1 . g2 + g2 . g1 ]

MatrixForm[ g2 . g3 + g3 . g2 ]

MatrixForm[ g3 . g1 + g1 . g3 ]

MatrixForm[ g1 . g4 + g4 . g1 ]

a1 = I g4 . g1 ;

MatrixForm[ a1 ]

a2 = I g4 . g2 ;

MatrixForm[ a2 ]

a3 = I g4 . g3 ;

MatrixForm[ a3 ]

MatrixForm[ a1 . a2 + a2 . a1 ]

MatrixForm[ a2 . a3 + a3 . a2 ]

MatrixForm[ a3 . a1 + a1 . a3 ]

MatrixForm[ a1 . g4 + g4 . a1 ]

s1 = -I a2 . a3 ;

MatrixForm[s1]

s2 = -I a3 . a1 ;

MatrixForm[s2]

s3 = -I a1 . a2 ;

MatrixForm[s3]

g5 = g1 . g2 . g3 . g4 ;

MatrixForm[g5]

MatrixForm[ (g1 . g2 - g2 . g1)/(2 I) ]

MatrixForm[ (g2 . g3 - g3 . g2)/(2 I) ]

MatrixForm[ (g3 . g1 - g1 . g3)/(2 I) ]

MatrixForm[ (g1 . g4 - g4 . g1)/(2 I) ]

MatrixForm[ (g2 . g4 - g4 . g2)/(2 I) ]

MatrixForm[ (g3 . g4 - g4 . g3)/(2 I) ]

Eigenvalues[ g1 ]

Eigenvalues[ g2 ]

Eigenvalues[ g3 ]

Eigenvalues[ g4 ]

do = m c^2 g4 + c a1 px + c a2 py + c a3 pz ;

MatrixForm[ do ]

Det[ do - e IdentityMatrix[4] ]

Factor[%]

Solve[ % == 0, e ]

c1 = px a1 . ( a1 . a2 ) - px ( a1 . a2 ) . a1 ;

MatrixForm[ c1 ]

c2 = py a2 . ( a1 . a2) - py ( a1 . a2 ) . a2 ;

MatrixForm[ c2 ]

c3 = pz a3 . ( a1 . a2 ) - pz ( a1 . a2 ) . a3 ;

MatrixForm[ c3 ]

sumall = Expand[ I (c1 + c2 + c3)/2 ] ;

MatrixForm[ sumall ]

MatrixForm[ Expand[ - I ( py a1 - px a2 ) ]]

ma = ax a1 + ay a2 + az a3 ;

MatrixForm[ma]

mb = bx s1 + by s2 + bz s3 ;

MatrixForm[mb]

mc = Expand[ma . mb] ;

mc[[1,1]]

mc[[1,2]]

mc[[1,3]]

mc[[1,4]]

mc[[2,3]]

mc[[2,4]]

mguess = Expand[ - g5 (ax bx + ay by + az bz ) +
      I a1 (ay bz - az by) +
      I a2 (az bx - ax bz) +
      I a3 (ax by - ay bx) ] ;

MatrixForm[ mguess ]

MatrixForm[ mc - mguess ]