# Symbolic non-commutative algebra

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 ?

• 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). Commented Mar 21, 2019 at 8:25
• try www.github.com/NCAlgebra/NC Commented Mar 21, 2019 at 8:39
• This package deals with non commutative algebra but it doesn't seem to treat tensor products Commented Mar 21, 2019 at 10:16
• You don't need a package. Just give Mathematica the rules for working with non-commutative multiplication and tensor product. Commented Mar 21, 2019 at 14:46
• Commented Dec 5, 2021 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]

• What does this symbol "/:" do? (not easy to google such a thing) Commented Aug 15, 2021 at 15:08
• @StevenSagona Look up "/:" in the help. It stands for either TagSet or TagSetDelayed. Commented Aug 17, 2021 at 1:50