Good day everyone,

I want to construct groebner bases over rings of differential Operators.

Thus I used the following:

with(Ore_algebra);

with(Groebner); N := 3;

A := skew_algebra(diff = [D[1], x[1]], diff = [D[2], x[2]], diff = [D[3], x[3]], comm = i, alg_relations = i^2+1); T := MonomialOrder(A, tdeg(D[1], D[2], D[3]));

A["polynomial_indets"]; [returns {D[1], D[2], D[3]}]

A["rational_indets"]; [returns {i, x[1], x[2], x[3]}]

So far everything seems as it should be: The ring i wanted to define here is the third Ring of Differential operators over the field of complex 'rational' functions and maple returns that indeed it will handle the D[i] as monomials and the rest as coefficients for them.

Hover, when i use the Skew product, the following happens:

skew_product(x[1],D[1],A) [returns D[1]x[1]+1}]

skew_product(x[1],D[1],A) [returns D[1]x[1]]

Both is wrong, but maple seems to 'know' this. It used the correct relation to in the first product, the only thing it didn't do was switch D[1] and x[1]. I think maple handles the result of the skew product as if it was a commutative product and always places the D[i] at the left but still 'knows' what the actual result is.

The actual results should have been x[1]D[1]+1 for the first and x[1]*D[1] for the second product.

In the second product, it seems like maple treated x[1]*D[1] as if the Elements were switched already.

What i want though is for maple to correctly display the skew products and return the products so that in every summand the D[i] are at the right side and their coefficients are at the left side (and if possible (i do not know how to do that yet) sort the result of a skew product in a way that displays every different Power product of the D[i] with their coefficients, so that i get (x[1]+x[2])*D[2] and not x[1]*D[2]+x[2]*D[2]).

Can anyone help me here?