Consider 3 non-commutative elements $A,B,C$ and we have the relation $CB=\alpha BC$.

I want to compute things like : $(A\otimes BC ) ( B \otimes B) = AB \otimes \alpha B^2C$

Is there any package doing this ?

  • 4
    $\begingroup$ Check the NCAlgebra package (I am not very familiar with it so I can't give an answer, but it's the biggest/oldest package dealing with such problems). $\endgroup$
    – Szabolcs
    Mar 21 '19 at 8:25
  • $\begingroup$ try www.github.com/NCAlgebra/NC $\endgroup$ Mar 21 '19 at 8:39
  • $\begingroup$ This package deals with non commutative algebra but it doesn't seem to treat tensor products $\endgroup$
    – Nico045
    Mar 21 '19 at 10:16
  • 1
    $\begingroup$ You don't need a package. Just give Mathematica the rules for working with non-commutative multiplication and tensor product. $\endgroup$
    – Somos
    Mar 21 '19 at 14:46
  • $\begingroup$ See also mathematica.stackexchange.com/questions/126671/… $\endgroup$ Dec 5 '21 at 20:50

Using Dot for your noncommutative multiplication, we can encode your relation with:

B /: C . B := α B . C

Using KroneckerProduct for your "⊗" operation, the output you want to get can then be obtained with:

KroneckerProduct[A, B.C].KroneckerProduct[B, B] //TensorExpand

α KroneckerProduct[A.B, B.B.C]

  • $\begingroup$ What does this symbol "/:" do? (not easy to google such a thing) $\endgroup$ Aug 15 '21 at 15:08
  • $\begingroup$ @StevenSagona Look up "/:" in the help. It stands for either TagSet or TagSetDelayed. $\endgroup$
    – Carl Woll
    Aug 17 '21 at 1:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.