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.
