That will not in general do the right thing, at least not as it stands, but read on. Cadabra interprets the ';' as just another index name. So M_{; a ; b}
is a tensor with 4 indices, two of which are the same and called ;
, instead of e.g. c
. You can see what can go wrong if you try to enter
ex:= A_{; a} + B_{a};
This is a valid mathematical expression, but Cadabra thinks the first term has two indices, and refuses to accept this.
Now you can try to work your way around this by declaring ;
as a Symbol
,
;::Symbol;
which happily gets parsed and interpreted correctly. Now the ex
as written above is accepted. You can probably get quite far with this. Let me know if you run into any issues and we'll see what can be done.
Note also that users will be tempted to write these things as
ex:= A_{;a} + B_{a};
(without the space between the ;
and the a
), in which case you again get warned about an expression with two different indices (one called ;a
and one called a
).