Hi,
Is there a quick way to get around the error
RuntimeError: substitute: Index error in replacement rule. Triple index \sigma? inside a single factor found.
which appears even if all the indices involved are treated as symbols?
I'm attaching below a short code for this issue. It will be generalized to obtain some recurrence relations for operators in a nuclear physics setting.
{\dagger}::Symbol.
{a,n,\sigma,\tau}::Symbol;
{\Gamma^{\dagger}_{\tau?}, N_{a? \tau?}, G_{n? \sigma?}}::NonCommuting.
{\Gamma^{\dagger}_{\tau?}, N_{a? \tau?}}::Depends(\commutator{#});
rule:={N_{a? \tau?} G_{n?? \sigma?} -> n?? G_{(n??-1) \sigma?}
\commutator{N_{a? \tau?}}{\Gamma^{\dagger}_{\sigma?}} +1/2 n?? (n??-1)
\commutator{\commutator{N_{a? \tau?}}{\Gamma^{\dagger}_{\sigma?}}}{\Gamma^{\dagger}_{\sigma?}} G_{(n??-2) \sigma?}};
ex:=N_{a \tau} G_{n \sigma};
substitute(_,rule);
Thank you very much!
PS our paper introducing Cadabra to the nuclear physics community is out arXiv:1901.04759, hopefully soon to be published; thank you again!