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

I have three examples

(I) Combine automatically assumes object commuting.
ex:=(A^a)^\alpha (B^b)_{\alpha};
combine(ex);

gives, (B^b A^a). How did it know they are commuting?

(II) If I explicitly tell A^a and B^b AntiCommute then i.e.

{A^a,B^b}::AntiCommuting;
ex:=(A^a)^\alpha (B^b)_{\alpha};
combine(ex);

Gives (-B^b A^a). This is technically correct, but, would prefer it still gives (A^a B^b).

(III) This one is perhaps even more serious?

{A^a,B^b}::NonCommuting;
ex:=(A^a)^\alpha (B^b)_{\alpha};
combine(ex);

still gives, (B^b A^a). It fails to understand that I told A^a and B^b should not be commuted.

I think all of the problems will go away once it just gives (A^a B^b) as the answer in all the cases. Please have a look. Thanks

asked in Bug reports by (550 points)

Please log in or register to answer this question.

...