Name: Rolf Mertig Date: 04/11/06-01:33:19 AM Z


>The exchange to tr = TR[Calc[#]]&; doesn’t help. >Expressions multiplied by “real” 0 occur in processing >large expressions involving lots of terms, so it would be >extremely hard to hunt all instances of 0. which occur as >cancellations of terms with “real” coefficients like >0.5*GS[p]-0.5*GS[p]. Is there an easy way to get rid of >this annoying error and get the correct answer for >Tr[0.]=0?
>
> One more question, why Tr[0] doesn’t return 0?

This is a knows strange feature of Mathematica !
Try :
Unprotect[Times];
0.*_=0;
Protect[Times];

Or, if you feel better not modifying Times:
SetOptions[FCI,FinalSubstitutions->{0.*_:>0}];

However, this will not always work (since FCI is not
called always internally).

As for
Tr[0] not giving 0 :
TR[0] will give 0.
The trouble is that Tr has become a Mathematica kernel function in version 4 or so, but Tr existed before in FeynCalc. So I Unprotect[Tr] and call TR, but only if there is DiracGamma etc. in it (do
??Tr
to see what I did).
Feel free to add
Unprotect[Tr];
Tr[0]=0

Rolf