# Noncommutative computational package

I am wondering if there is a program which can do simple operations over noncommutative rings, like expand products and substitute one expression for another.

To clarify, consider the following situation. I have two reductions $ab\mapsto 1$ and $ca\mapsto c-1$. If I consider the monomial $cab$ I can reduce it in two ways: $cab=c(ab)=c$ or $cab=(ca)b=(c-1)b=cb-b$. I can combine these computations to arrive at a third reduction $cb\mapsto b+c$.

I'm in a situation where I have upwards of twelve reduction rules, and it gets very complicated doing the reductions. I find myself making small errors. Thus, the need for a machine to do these computations for me.

To make this more precise, is there a program where I can first input a number of reductions, and then second have it work on a monomial and spit out a reduced form?

You may be satisfied by some noncommutative Gröbner basis programs: I know of the standalone Bergman and the GAP package GBNP.

• +1. "Bergman" is a very helpful program. – Vladimir Dotsenko Feb 9 '13 at 22:46

There is this non-commutative algebra package for Mathematica that is quite extensive

It can handle the symbolic computations in the question, among many other things.

Magma can certainly deal with that. Not sure about other packages; Singular has been approaching a non-commutative extension for years, but I'm not sure of its status.

You can do quick computations with http://servus.math.su.se/bergman/demo.html

(The page deals with homogeneous relations, but you can add a new variable $t$, homogenise the relations you want using it, and the add relations saying that $t$ commutes with $a$, $b$ and $c$. Doing this with your relations gives what seems to be infinitely many elements in the (lexicographic) Groebner basis)

You could try SAGE. They have an online version (free) where everything is in python and you can run programs from the cloud. The downloadable version has a bit more functionality but is harder to use.