FriCAS can compute Groebner bases
for noncommutative polynomial rings of solvable
type (of category SolvableSkewPolynomialCategory?).
Below we give example using partial differential operators:
fricas
(1) -> Pdo := PartialDifferentialOperator(Polynomial(Integer), Symbol)
Type: Type
fricas
xx := D(x)$Pdo + y*D(z)$Pdo
Type: PartialDifferentialOperator
?(Polynomial(Integer),
Symbol)
fricas
yy := D(y)$Pdo - x*D(z)$Pdo
Type: PartialDifferentialOperator
?(Polynomial(Integer),
Symbol)
fricas
L := xx*xx + yy*yy
Type: PartialDifferentialOperator
?(Polynomial(Integer),
Symbol)
fricas
gPak := NGroebnerPackage(Polynomial(Integer), IndexedExponents(Symbol), Pdo)
Type: Type
fricas
groebner([L, xx])$gPak
Type: List(PartialDifferentialOperator
?(Polynomial(Integer),
Symbol))