# Evaluating the contraction with Gamma matrices

+1 vote

Hello,

I have a question about the evaluation of a tensor contracted with Gamma matrices. First I defined the indices and Gamma matrices by

{a,b,c,d}::Indices(position=fixed);
{a,b,c,d}::Integer(0..2);
\Gamma{#}::GammaMatrix(metric=\eta);
\eta_{a b}::KroneckerDelta;
C_{a b c}::AntiSymmetric;

Then what I want to evaluate is

ex:= C_{a b c} \Gamma^{a b c};

by using an explicit value:

rl:= [ C_{0 1 2} = \alpha ];

However, performing evaluate(ex, rl); , I got 0, which is different from what I expected to get, 6 \alpha \Gamma^{0 1 2}. Could anyone help me? Many thanks.

+1 vote

To follow-up on this: with the current version of Cadabra in github, you can do e.g.

{a,b,c,d}::Indices(values={0,1,2},position=fixed);
\Gamma{#}::GammaMatrix(metric=\eta);
\eta_{a b}::KroneckerDelta;
C_{a b c}::AntiSymmetric;
ex:= C_{a b c} \Gamma^{a b c};
rl:= { C_{0 1 2} = \alpha };
evaluate(ex, rl);

to produce $$\alpha~ \Gamma^{0 1 2}$$

Note that you need to state values={0,1,2} explicitly in the Indices property (just declaring {a,b,c}::Integer(0..2) does not yet work.

by (70.8k points)
selected

Thanks for your update, Kasper. I will try it in a more involved example.

At the moment, there are a few things missing which make this cumbersome. The main stumbling block is that if you do not give any components of a tensor, it assumes that all components are zero. That's of course not what you want; \Gamma^{0 1 2} is non-zero, but you simply don't want to state what it is.