Difference between revisions of "ApCoCoA-1:Weyl.WGB"

From ApCoCoAWiki
Line 3: Line 3:
 
     <short_description>Computes the Groebner basis of an ideal <tt>I</tt> in Weyl algebra <tt>A_n</tt>.</short_description>
 
     <short_description>Computes the Groebner basis of an ideal <tt>I</tt> in Weyl algebra <tt>A_n</tt>.</short_description>
 
<syntax>
 
<syntax>
Weyl.WGB(I:IDEAL, L:LIST):LIST
+
Weyl.WGB(I:IDEAL, N:INT, L:LIST):LIST
 
</syntax>
 
</syntax>
 
     <description>
 
     <description>
 
<em>Please note:</em> The function(s) explained on this page is/are using the <em>ApCoCoAServer</em>. You will have to start the ApCoCoAServer in order to use it/them.
 
<em>Please note:</em> The function(s) explained on this page is/are using the <em>ApCoCoAServer</em>. You will have to start the ApCoCoAServer in order to use it/them.
 
<par/>
 
<par/>
This function computes a Groebner Basis for an Ideal <tt>I = (f_1,f_2, ..., f_r)</tt> where every generator <tt>f_i</tt> should be a Weyl polynomial in Normal form. One can also use a list L of distinct positive integers corresponding to the number of indeterminate (1,2,..., 2n) to be eliminated while computing Groebner basis of the ideal I.
+
This function computes a Groebner Basis for an Ideal <tt>I = (f_1,f_2, ..., f_r)</tt> where every generator <tt>f_i</tt> 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.
  
 
<itemize>
 
<itemize>
 
<item>@param <em>I</em> An ideal in the Weyl algebra.</item>
 
<item>@param <em>I</em> An ideal in the Weyl algebra.</item>
<item>@param <em>L</em> An optional list of distinct positive integers.</item>
 
 
<item>@return A Groebner Basis of the given ideal.</item>
 
<item>@return A Groebner Basis of the given ideal.</item>
 
</itemize>
 
</itemize>
 +
The following parameters are optional:
 +
<itemize>
 +
<item>@param <em>L</em> 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.</item>
 +
<item>@param <em>N</em> 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. </item>
 +
</itemize>
 +
The order of the optional parameters is not important.
  
 
<example>
 
<example>
Line 48: Line 53:
  
 
I3:=Ideal(x[1]^3d[2],x[2]*d[1]^2);
 
I3:=Ideal(x[1]^3d[2],x[2]*d[1]^2);
 +
Set Indentation;
  
Weyl.WGB(I3);
+
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
 
-- 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]
+
[
 +
  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>
 
</example>
 
<example>
 
<example>
Line 91: Line 129:
 
     </types>
 
     </types>
 
     <key>weyl.wgb</key>
 
     <key>weyl.wgb</key>
 +
    <key>Weyl.WGB</key>
 
     <key>wgb</key>
 
     <key>wgb</key>
 
     <wiki-category>Package_weyl</wiki-category>
 
     <wiki-category>Package_weyl</wiki-category>
 
   </command>
 
   </command>

Revision as of 12:48, 24 May 2010

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

Introduction to CoCoAServer

Weyl.WNormalForm