So far we have explained Groebner basis computation in commutative polynomial rings. However Groebner basis can be considered in more general non-commutative rings. Weyl algebra is one of such rings and Risa/Asir implements fundamental operations in Weyl algebra and Groebner basis computation in Weyl algebra.
The n dimensional Weyl algebra over a field K,
D=K<x1,...,xn,D1,...,Dn> is a non-commutative
algebra which has the following fundamental relations:
xi*xj-xj*xi=0, Di*Dj-Dj*Di=0, Di*xj-xj*Di=0 (i!=j),
Di*xi-xi*Di=1
D is the ring of differential operators whose coefficients
are polynomials in K[x1,...,xn] and
Di denotes the differentiation with respect to xi.
According to the commutation relation,
elements of D can be represented as a K-linear combination
of monomials x1^i1*...*xn^in*D1^j1*...*Dn^jn.
In Risa/Asir, this type of monomial is represented
by <<i1,...,in,j1,...,jn>> as in the case of commutative
polynomial.
That is, elements of D are represented by distributed polynomials.
Addition and subtraction can be done by +, -,
but multiplication is done by calling dp_weyl_mul() because of
the non-commutativity of D.
[0] A=<<1,2,2,1>>; (1)*<<1,2,2,1>> [1] B=<<2,1,1,2>>; (1)*<<2,1,1,2>> [2] A*B; (1)*<<3,3,3,3>> [3] dp_weyl_mul(A,B); (1)*<<3,3,3,3>>+(1)*<<3,2,3,2>>+(4)*<<2,3,2,3>>+(4)*<<2,2,2,2>> +(2)*<<1,3,1,3>>+(2)*<<1,2,1,2>>
The following functions are avilable for Groebner basis computation
in Weyl algebra:
dp_weyl_gr_main(),
dp_weyl_gr_mod_main(),
dp_weyl_gr_f_main(),
dp_weyl_f4_main(),
dp_weyl_f4_mod_main().
Computation of the global b function is implemented as an application.
Go to the first, previous, next, last section, table of contents.