Welcome to Cadabra Q&A, where you can ask questions and receive answers from other members of the community.
+1 vote

EDIT: ealier I gave bad example, so let me again write post with proper ones.

I find quite problematic using generalized delta. For example:


\epsilon_{a b c d}::EpsilonTensor(delta=\delta).

delta1:=\delta_{a b c d};

delta2:=\delta_{a c b d};

delta3:=\delta^{a b}_{c d};


I would expect that \delta_{abcd} would give me middle outcome. What I'm missing?

Ps. I use cloud cadabra.

asked in General questions by (280 points)
edited by

1 Answer

+1 vote

The help for KroneckerDelta states that indices are 'paired' in the way it comes out here. It is perhaps more transparent if you write upper and lower indices, so

$$2 \delta_{a}{}^{b}{}_{c}{}^{d} = \delta_{a}{}^{b} \delta_{c}{}^{d} - \delta_{c}{}^{b} \delta_{a}{}^{d}.$$

Your version just has all indices moved to subscript position.

It's all a matter of convention of course (there's nothing wrong with defining things 'your' way), but this is the convention Cadabra uses.

answered by (60.9k points)