Go to the first, previous, next, last section, table of contents.

## Weyl algebra

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.