Skip to main content
added 41 characters in body
Source Link
rhermans
  • 37.7k
  • 4
  • 64
  • 156
Mi = DiagonalMatrix[{1,-1,-1,-1}] Dotp[{qm[0], qm[1], qm[2], qm[3]}, {qn[0], qn[1], qn[2], qn[3]}] /. Dotp[t1_List, t2_List] :> (t1.Mi.t2) 

Or

Block[ { Dotp= Function[{t1, t2},(t1.Mi.t2)] }, Dotp[{qm[0], qm[1], qm[2], qm[3]}, {qn[0], qn[1], qn[2], qn[3]}] ] 
Dotp[{qm[0], qm[1], qm[2], qm[3]}, {qn[0], qn[1], qn[2], qn[3]}] /. Dotp[t1_List, t2_List] :> (t1.Mi.t2) 

Or

Block[ { Dotp= Function[{t1, t2},(t1.Mi.t2)] }, Dotp[{qm[0], qm[1], qm[2], qm[3]}, {qn[0], qn[1], qn[2], qn[3]}] ] 
Mi = DiagonalMatrix[{1,-1,-1,-1}] Dotp[{qm[0], qm[1], qm[2], qm[3]}, {qn[0], qn[1], qn[2], qn[3]}] /. Dotp[t1_List, t2_List] :> (t1.Mi.t2) 

Or

Block[ { Dotp= Function[{t1, t2},(t1.Mi.t2)] }, Dotp[{qm[0], qm[1], qm[2], qm[3]}, {qn[0], qn[1], qn[2], qn[3]}] ] 
Source Link
rhermans
  • 37.7k
  • 4
  • 64
  • 156

Dotp[{qm[0], qm[1], qm[2], qm[3]}, {qn[0], qn[1], qn[2], qn[3]}] /. Dotp[t1_List, t2_List] :> (t1.Mi.t2) 

Or

Block[ { Dotp= Function[{t1, t2},(t1.Mi.t2)] }, Dotp[{qm[0], qm[1], qm[2], qm[3]}, {qn[0], qn[1], qn[2], qn[3]}] ]