GiNaC/ginac clifford.cpp clifford.h indexed.cpp tensor.cpp

Christian Bauer cbauer at doraemon.physik.uni-mainz.de
Thu Jul 26 21:28:09 CEST 2001


Update of /home/cvs/GiNaC/ginac

Modified Files:
	clifford.cpp clifford.h indexed.cpp tensor.cpp 
Log Message:
- epsilon*epsilon contractions work
- dirac_slash(a, D) now constructs a special kind of clifford object (printed
  as "a\") instead of creating a "a.symbol42*gamma~symbol42" product. This
  helps avoiding problems when doing something like
    ex prop = (dirac_slash(p, D) - m * dirac_ONE());
    ex I = prop * dirac_slash(l, D) * prop;
  where the same dummy index would be used for both p-slash in I. Now it's
  perfectly safe to do this. Dummy indices are only created when taking
  traces or contracting indices. A nice side-effect of this is that "a\*a\"
  immediately gets simplified to a^2.
- The "contraction of symmetric and antisymmetric objects is zero" rule
  in simplify_indexed() has been generalized. Now expressions like
  "epsilon.i.j.k*A.j*A.k" also get simplified to zero (what GiNaC does is
  to assert dummy index exchange symmetry).




More information about the GiNaC-cvs mailing list