OK, now I have come to the generalized case. As of now we have two 
algorithms in SymPy's master:

   1. Kahane's algorithm
   2. gamma trace algorithm for simplified expressions (simplified = no 
   Lorentz contractions)
   
There are some limitations, namely:

   1. in dimensional regularization, self-contracted Lorentz metric equals *4 
   - epsilon* instead of *4*, where *epsilon* is the regularization 
   parameter. Kahane's algorithm works in four dimensions only.
   2. gamma matrices can be represented in *2^n* dimensions, same argument 
   as before applies.
   3. if in a Feynman diagram there are distinct spinor lines, and Lorentz 
   contractions among gamma matrices of different spinor lines, Kahane's 
   algorithm as it is implemented now does not work.

The Kennedy-Cvitanovic algorithm would solve these issues

https://www.google.it/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CDEQFjAA&url=http%3A%2F%2Fwww.cns.gatech.edu%2Fgrouptheory%2Fversion9.0%2FGroupTheory.pdf&ei=Z-AwUtXEDqbE7Abl-4GIBg&usg=AFQjCNGJ8Xm-CdLNblQnPmYLj22tzAiJMA&sig2=22O-vRUWwNVYA-ii4JEuMA&bvm=bv.52109249,d.ZGU

On chapter 11 there's the explanation.

By the way, the birdtrack notation for tensors could be nice to implement 
for general purposes in the tensor module (maybe a plotting facility too).

I'm going to write the connection topology of index contractions as a 
system of Python dictionaries, after which it is necessary to:

   1. be able to apply the recoupling relation (which splits a spinor line 
   in case of an internal Lorentz lines).
   2. see if it is worth to write a trace algorithm on partly symmetrized 
   expressions of gamma matrices.

Point 2 is good for performance, but the existing trace algorithm should be 
already enough if performance is not an issue.

Do you have any suggestion about how to represent the birdtrack notation in 
Python? Any alternatives to a set of dictionary? I already wrote a draft 
which stores contraction topology in two dictionaries: for Lorentz and 
Spinor indices.

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sympy.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to