[GiNaC-devel] Less indices in epxressions.

Chris Dams Chris.Dams at mi.infn.it
Wed Feb 7 09:53:12 CET 2007


Dear all,

I already mentioned this idea quite a few years ago, but I think it really
would be good to have. The idea is to turn contractions of an object with 
something else that has a single index into one object. A new notation for 
the output would be necessary for this and I guess using a colon would not 
be bad. That way we would get A~mu~nu*v.mu*w.nu -> A:v:w. The advantages 
are:
* More compact expressions, hence more efficient to store;
* More efficient to manipulate because functions like simplify_indexed 
would have fewer indices to rename. Not to mention automatic dummy index 
renaming.
* More readable output, because if the factors in the example just-given 
end up somewhere near the beginning of a large product, somewhere near the 
middle and somewhere near the end it realy isn't readable.

Also a notation for the inner product would be necessary. I think
something like v:w or maybe inp(v,w) would be nice. I think in the case of
a contraction with a tensor I could simply add a flag to the class idx
that indicates whether the index is really an index or is a contraction.  
The point is that we should still store the dimension in the case one is
doing dimensional regularization.

What do you think?
Chris



More information about the GiNaC-devel mailing list