Hello, list, i would like to use the diff() function within the itensor package, but it returns the unexpected answer. Let's consider
the code:
(%i1) load(itensor);
(%o1) /usr/local/share/maxima/5.25.1/share/tensor/itensor.lisp
(%i2) test: exp(R([i,j],[])*a([],[i])*b([],[j]))$
(%i3) ishow(test);
i j
a b R
i j
(%t3) %e
a([], [i]) b([], [j]) R([i, j], [])
(%o3) %e
(%i4) res:contract(diff(test,a([],[m])))$
(%i5) ishow(rename(res));
i %1
a b R
%1 i %1
(%t5) b %e R
m %1
a([], [i]) b([], [%1]) R([i, %1], [])
(%o5) b([], [%1]) %e R([m, %1], [])
(%i6)
=================================
The result of this calculation is
a([], [i]) b([], [%1]) R([i,%1], [])
(%o5) b([], [%1]) %e R([m,%1], []),
but the correct answer is something like
a([], [i]) b([], [%1]) R([i,%1], [])
(%o5) b([], [%2]) %e R([m,%2], []).
So, the diff() function does not rename dummy indices. Is there any way to rename dummy indices automatically?