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

From ApCoCoAWiki
m (insert version info)
 
(12 intermediate revisions by 5 users not shown)
Line 1: Line 1:
   <command>
+
   {{Version|1}}
 +
<command>
 
     <title>Weyl.WGB</title>
 
     <title>Weyl.WGB</title>
     <short_description>Computes the Groebner basis of an ideal I 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):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/>
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.
+
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 its standard 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>
Line 14: Line 15:
 
<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. 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>
A1::=QQ[x,d]; --Define appropraite ring
+
A1::=QQ[x,d]; --Define appropriate ring
 
Use A1;
 
Use A1;
 
I:=Ideal(x,d);  -- Now start ApCoCoA server for executing next command
 
I:=Ideal(x,d);  -- Now start ApCoCoA server for executing next command
Weyl.WeylGB(I);
+
Weyl.WGB(I);
 
-- CoCoAServer: computing Cpu Time = 0
 
-- CoCoAServer: computing Cpu Time = 0
 
-------------------------------
 
-------------------------------
 
[1]
 
[1]
 
-------------------------------
 
-------------------------------
Note that Groebner basis you obtained is minimal.
+
-- Note that Groebner basis you obtained is minimal.
 +
</example>
 +
<example>
 
A2::=QQ[x[1..2],y[1..2]];
 
A2::=QQ[x[1..2],y[1..2]];
 
Use A2;
 
Use A2;
Line 38: Line 47:
 
Use W3;
 
Use W3;
 
I2:=Ideal(x[1]^7,d[1]^7);  --is a 2-sided ideal in W3
 
I2:=Ideal(x[1]^7,d[1]^7);  --is a 2-sided ideal in W3
Weyl.WGB(I2);  --ApCoCOAServer should be running
+
Weyl.WGB(I2);  --ApCoCoAServer should be running
 
-- CoCoAServer: computing Cpu Time = 0
 
-- CoCoAServer: computing Cpu Time = 0
 
-------------------------------
 
-------------------------------
Line 45: Line 54:
  
 
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>
 +
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
 
</example>
 
</example>
 +
 
   </description>
 
   </description>
 
     <seealso>
 
     <seealso>
       <see>Weyl.WNormalForm</see>
+
       <see>ApCoCoA-1:Weyl.WStandardForm|Weyl.WStandardForm</see>
 +
      <see>ApCoCoA-1:Weyl.WRGBS|Weyl.WRGBS</see>
 +
      <see>ApCoCoA-1:Weyl.TwoWGB|Weyl.TwoWGB</see>
 +
      <see>ApCoCoA-1:Introduction to Groebner Basis in CoCoA|Introduction to Groebner Basis in CoCoA</see>
 +
      <see>ApCoCoA-1:Introduction to CoCoAServer|Introduction to CoCoAServer</see>
 
     </seealso>
 
     </seealso>
 
     <types>
 
     <types>
       <type>cocoaserver</type>
+
       <type>apcocoaserver</type>
 
       <type>ideal</type>
 
       <type>ideal</type>
       <type>Groebner, and more</type>
+
       <type>groebner</type>
 
     </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>ApCoCoA-1:Package_weyl</wiki-category>
 
   </command>
 
   </command>

Latest revision as of 10:38, 7 October 2020

This article is about a function from ApCoCoA-1.

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 its standard 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. 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

Weyl.WStandardForm

Weyl.WRGBS

Weyl.TwoWGB

Introduction to Groebner Basis in CoCoA

Introduction to CoCoAServer