Processing math: 100%
Cadabra
a field-theory motivated approach to computer algebra

expand_delta

Expand generalised Kronecker delta symbols
In Cadabra the KroneckerDelta property indicates a generalised Kronecker delta symbol. In order to expand it into standard two-index Kronecker deltas, use expand_delta, as in the example below.
\delta{#}::KroneckerDelta;
Attached property KroneckerDelta to δ(#).
ex:=\delta^{a}_{b}^{c}_{d};
δabcd
expand_delta(_);
12δabδcd12δcbδad
ex:=\delta^{a}_{m}^{l}_{n} \delta_{a}^{c}_{b}^{d};
δamlnδacbd
expand_delta(_); distribute(_); eliminate_kronecker(_); canonicalise(_);
(12δamδln12δlmδan)(12δacδbd12δbcδad)
14δamδlnδacδbd14δamδlnδbcδad14δlmδanδacδbd+14δlmδanδbcδad
14δlnδmcδbd14δlnδbcδmd14δlmδncδbd+14δlmδbcδnd
14δbdδcmδln14δbcδdmδln14δbdδcnδlm+14δbcδdnδlm
Note that it is in principle possible to get a result similar to the expanded form by using the Young projector and then canonicalising, but this is more expensive:
ex:=\delta^{a}_{b}^{c}_{d};
δabcd
young_project_tensor(_);
δabcd
Copyright © 2001-2024 Kasper Peeters
Questions? info@cadabra.science