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

I wonder where I could find the complete description of Cadabra's data structure, this and this are a little simple, I need more details. More examples about how to program in Cadabra is also OK.

asked in General questions by (660 points)
edited by

The latest fix by @cbehan is now in github master.

Ok, It works fine. Thanks.

Hi@cbehan@kasper, following code is still invalid

{\mu,\nu}::Indices(vector).
u^{\mu}::ImplicitIndex.
u^{\mu}::SelfNonCommuting.
tr{#}::Trace.
ex:=tr{u^{\mu} u^{\mu} u^{\nu} u^{\nu}}-tr{u^{\mu} u^{\nu} u^{\nu} u^{\mu}};
sort_product(_);

Version 2.2.9 (build 2310.4b47f18980 dated 2019-12-28), Linux

Ok. In this case, the letters are the same and the free indices are the same which means that a single sort order has not been determined yet. We will need to detect that this has happened and then put an ordering on the set of dummy index topologies.

In the above example, this means deciding whether we prefer {{1,2}, {3,4}} or {{1,4}, {2,3}}. More generally, we should expect to see all possible ways of breaking up {1, ..., 2n} into unordered pairs.

I knew this was coming... By far the easiest way to solve this is to piggyback on work Dom has been doing to make multi-term symmetries more manageable. @cbehan, I'll email you privately with details.

Please log in or register to answer this question.

...