ApCoCoA-1:Weyl.WGB

Weyl.WGB

Computes the Groebner basis of an ideal I in Weyl algebra A_n.

Syntax

```Weyl.WGB(I:IDEAL, N:INT, L:LIST):LIST
```

Description

Please note: The function(s) explained on this page is/are using the ApCoCoAServer. You will have to start the ApCoCoAServer in order to use it/them.

This function computes a Groebner Basis for an Ideal I = (f_1,f_2, ..., f_r) where every generator f_i should be a Weyl polynomial in Normal form. The Groebner basis is computed by using corresponding implementation in CoCoALib. If no integer value to an optional parameter N is given, the function will assign a default value of 1 to N and returns reduced Groebner basis of the ideal I by using an implementation in ApCoCoALib for the reduction process. One can also use another parameter L, a list of distinct positive integers corresponding to the number of indeterminate (1,2,..., 2n) to be eliminated while computing Groebner basis of the ideal I.

• @param I An ideal in the Weyl algebra.

• @return A Groebner Basis of the given ideal.

The following parameters are optional:

• @param L An optional list of distinct positive integers. The default value is empty list L:=[]. With this parameter, one can pass the list positive integers corresponding to the indeterminates to be eliminated during GB computation.

• @param N An optional integer 0 or 1. The default value is N:=1 for computing reduced GB. If N=0, complete GB is returned without reduction.

The order of the optional parameters is not important.

Example

```A1::=QQ[x,d];	--Define appropriate ring
Use A1;
I:=Ideal(x,d);  -- Now start ApCoCoA server for executing next command
Weyl.WGB(I);
-- CoCoAServer: computing Cpu Time = 0
-------------------------------
[1]
-------------------------------
-- Note that Groebner basis you obtained is minimal.
```

Example

```A2::=QQ[x[1..2],y[1..2]];
Use A2;
I1:=Ideal(x[1]^7,y[1]^7);
Weyl.WGB(I1);
-- CoCoAServer: computing Cpu Time = 0.094
-------------------------------
[1]
-------------------------------
```

Example

```W3::=ZZ/(7)[x[1..3],d[1..3]];
Use W3;
I2:=Ideal(x[1]^7,d[1]^7);  --is a 2-sided ideal in W3
Weyl.WGB(I2);   --ApCoCoAServer should be running
-- CoCoAServer: computing Cpu Time = 0
-------------------------------
[x[1]^7, d[1]^7]
-------------------------------

I3:=Ideal(x[1]^3d[2],x[2]*d[1]^2);
Set Indentation;

Weyl.WGB(I3,0);
-------------------------------
-- CoCoAServer: computing Cpu Time = 0.016
-------------------------------
[
x[2]d[1]^2,
x[1]^3d[2],
x[1]^3d[1]^2 + x[1]^2x[2]d[1]d[2] + x[1]x[2]d[2],
x[1]^2x[2]d[1]d[2]^2 + 2x[1]^2d[1]d[2] + x[1]x[2]d[2]^2 + 2x[1]d[2],
x[1]^2x[2]^2d[1]d[2] + x[1]x[2]^2d[2],
x[1]x[2]d[1]d[2]^2 + 2x[1]d[1]d[2] - 2x[2]d[2]^2 + 3d[2],
x[1]^2x[2]d[2]^2 + 2x[1]^2d[2],
x[1]x[2]^2d[1]d[2] - 2x[2]^2d[2],
x[1]^2x[2]^2d[2],
x[2]d[1]d[2]^2 + 2d[1]d[2],
x[1]x[2]d[2]^2 + 2x[1]d[2],
x[2]^2d[1]d[2],
x[1]x[2]^2d[2],
x[2]d[2]^2 + 2d[2],
x[2]^2d[2]]
-------------------------------
-- Done.
-------------------------------
Weyl.WGB(I3); --reduced GB will be returned
-------------------------------
-- CoCoAServer: computing Cpu Time = 0
-------------------------------
[
x[2]^2d[2],
x[2]d[2]^2 + 2d[2],
x[1]^3d[1]^2 + x[1]^2x[2]d[1]d[2] + x[1]x[2]d[2],
x[1]^3d[2],
x[2]d[1]^2]
-------------------------------
-- Done.
-------------------------------
Unset Indentation;
```

Example

```WA::=QQ[u,w,t,x,v[1..2],d,y],Elim(u);Use WA;
I:=Ideal(ut - x^3 + 9, 3wx^2d + y, uw - 1);
GbI:=Weyl.WGB(I);
-- CoCoAServer: computing Cpu Time = 0.016
-------------------------------
GbI;
[uw - 1, ut - x^3 + 9, tx^2d + 1/3x^3y + x^2 - 3y, wd + 1/9td + 1/27xy + 1/9, uy + 3x^2d]
-------------------------------
GbI_elim:=Weyl.WGB(I,[1,2]); --eliminate u and w
-- CoCoAServer: computing Cpu Time = 0.031
-------------------------------
GbI_elim;
[ut - x^3 + 9, uw - 1, wx^3 - 9w - t, wd + 1/9td + 1/27xy + 1/9, tx^2d + 1/3x^3y + x^2 - 3y, uy + 3x^2d]
-------------------------------
GbI_elim:=Weyl.WGB(I,[3,7]); --eliminate  t and d
-- CoCoAServer: computing Cpu Time = 0.015
-------------------------------
GbI_elim;
[uw - 1, ut - x^3 + 9, wx^3 - 9w - t, wx^2d + 1/3y, uy + 3x^2d]
-------------------------------
--the 2nd optional parameter L can have max. of 8 = NumIndets() integers from 1 to 8
```