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

Hi is there a way to specify how canonicalise should act on dummy indices? What I am interested in is to prevent canonicalise raise and lower dummies by itself. For example

{\mu, \nu}::Indices(vector); 
ex:= v^{\mu} G_{\mu \nu} v^{\nu};
canonicalise(_);

I would like to leave the indices the way I introduced rather than raising \nu in G and lowering it in v.

Thanks

in General questions by (320 points)

1 Answer

+2 votes

Use the position=independent attribute to Indices, so

{\mu, \nu}::Indices(vector, position=independent); 
ex:= v^{\mu} G_{\mu \nu} v^{\nu};
canonicalise(_);
by (83.1k points)

Great! I used position=fixed and I tought it could not be anything stronger than that. Thanks a lot. Andrei

position=fixed means that Cadabra (and you) has to respect upper/lower pairs to be balanced. So you cannot write A_{m} B_{m} for those indices, which you can when position=free. But Cadabra can still move pairs, as long as it raises one index for every index lowered. WIth independent it will not even attempt that.

Ok, thanks for the explanations. I think I was not aware of all that.

...