reduce_delta
Simplify a self-contracted generalised delta.
Reduce a self-contracted generalised Kronecker delta symbol to a simpler
expression without self-contractions, according to
n!δa1⋯anb1⋯bnδb1a1⋯δbmam=[m∏i=1(d−(n−i))](n−m)!δam+1⋯anbm+1⋯bn.
Here is an example:\delta{#}::KroneckerDelta;
{m,n,q}::Integer(0..3);
ex:=\delta_{m}^{n}_{n}^{q};
Attached property KroneckerDelta to δ(#).
Attached property Integer to (m,n,q).
δmnnq
reduce_delta(_);
−32δmq
Note that this requires that the indices on the Kronecker
delta symbol also carry an
Integer
property to specify
their range.