(a GS[q].GS[l] )/.Dot -> mydot /. {a*mydot[x___, GS[l], y___] :> mydot[x,GS[J],y]} /. mydot -> Dot
This has to do with the way the Mathematica pattern matcher works. Please read the Mathematica book.
Rolf
This archive was generated by hypermail 2b29 : 09/04/20-12:55:05 AM Z CEST