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
See also
Introduction to Groebner Basis in CoCoA