Hi Alexei,

thanks for your advice. I've changed my code, implementing all in the scalar products, instead using matrices explicitly. But epsilon tensor fully contracted with vectors still being a problem, since its isn't transformable in the ordinary product of this vectors. 
My problem is after compute a expression use it to do a Monte Carlo integration of this values.
Regards,

Marco 

On Sun, Feb 26, 2012 at 1:54 PM, Alexei Sheplyakov <alexei.sheplyakov@gmail.com> wrote:
Hello,

On Sun, Feb 26, 2012 at 12:06:37PM -0300, Marco André Ferreira Dias wrote:

> I have a very naive question: my program compute some dirac_traces, and
> some epsilon_tensors arises in this process. I have to convert the
> tensorial structure to matricial

I don't think it's a good idea (see http://www.ginac.de/FAQ.html#matrix_indexed)

> to compute it numerically

And I don't think it's necessary for numeric computation.

> but until now I don't figure out how to manipulate expressions like this
> =============
> [[31],[0.0],[0.0],[-31]]~sigma*[[6.3],[0.0],[0.0],[6.30]]~alpha*
> [[19.33],[-1.108],[-5.4],[18.6]].gamma*eps.delta.sigma~gamma.alpha*
> [[16.781197650788506337],[4.96],[11.38],[11.2]]~gamma
> =============

Don't convert tensor expressions to matrices, instead express them via
invariant quantities, like this:

#include <iostream>
#include <ginac/ginac.h>
using namespace std;
using namespace GiNaC;

int main()
{
       symbol q("q"), l("l"), m("m"), ldotq("ldotq"), D("D");
       varidx mu(symbol("mu"), D), nu(symbol("nu"), D);

       scalar_products sp;
       sp.add(l, l, pow(l, 2));
       sp.add(l, q, ldotq);

       ex e = dirac_gamma(mu)*
               (dirac_slash(l, D) + dirac_slash(q, D) + m*dirac_ONE())*
               dirac_gamma(mu.toggle_variance())*
               (dirac_slash(l, D) + m*dirac_ONE());
       e = dirac_trace(e).simplify_indexed(sp);
       e = e.collect(lst(l, ldotq, m));
       cout << e << endl;
       // -> (8-4*D)*l^2+(8-4*D)*ldotq+4*D*m^2
       return 0;
}


See the fine manual (specifically, the paragraph 4.15.1.1, titled as
`Dirac gamma matrices') for more details.

Hope this helps,
       Alexei