sympy/sympy — pull request #2416 by Upabjojr (2013-08-27 20:21:10+00:00)
Title: Kahane's algorithm for reducing contracted products of gamma matrices

This is an algorithm for reducing an expression with contracted gamma matrices in four dimensions.

Unfortunately this algorithm works in four dimensions only and is not generalizable, because it relies on the Chisholm identities.

In any case a 1989 paper claims that it is faster than other algorithms, and can handle very long and complex expressions in a very short time (I do not know if someone has devised a faster algorithm since then).

I have found a paper referring to another algorithm which operates on all dimensions: the Kennedy-Cvitanovich algorithm. Unfortunately on four dimensions it is slower than Kahane's algorithm, besides I have not yet carefully examines the details of Kennedy-Cvitanovich algorithm, so it will temporarily be ignored.

TODO list:
* [ ] decide whether the result has to contain the metric or its equivalent gamma matrix expressions.