Difference between revisions of "Category:ApCoCoA-1:Package weyl"

From ApCoCoAWiki
(New page: In the previous version of the ApCoCoA, one can use Groebner basis computation in commutative polynomial rings. However, Groebner basis can also be computed in non-commutative algebras. On...)
 
m
Line 1: Line 1:
In the previous version of the ApCoCoA, one can use Groebner basis
+
The package `Weyl' is designed to perform various computations in the Weyl algebras. In particular, one can compute a left Groebner basis of the left ideals in Weyl algebras.  
computation in commutative polynomial rings. However, Groebner basis can
 
also be computed in non-commutative algebras. One such computation for Groebner
 
basis in Weyl algebras was implemented in CoCoALib. Weyl package is designed
 
to use this implementation and other operations in Weyl algebra.
 
  
The <math>n</math> dimensional Weyl algebra <math>A_n = K<x_1,...,x_n,y_1,...,y_n></math> over a field <math>K</math>, is a
+
Recall that the <math>n</math> dimensional Weyl algebra <math>A_n = K<x_1,...,x_n,y_1,...,y_n></math> over a field <math>K</math>, is a
 
non-commutative free associative algebra modulo the following commutation relations:  
 
non-commutative free associative algebra modulo the following commutation relations:  
 
   
 
   
Line 14: Line 10:
 
<math>[y_i, x_i] = 1,</math>  
 
<math>[y_i, x_i] = 1,</math>  
  
where <math>[a, b] = ab-ba</math>. Thus <math>y_i\cdot x_i = x_i\cdot y_i + 1</math> in <math>A_n(K)</math>.
+
where <math>[a, b] = ab-ba</math>. From the last relation we have  <math>y_i\cdot x_i = x_i\cdot y_i + 1</math>, i.e. <math>A_n(K)</math> is non-commutative. If <math>K</math> is a field of characteristic 0 then <math>A_n(K)</math> is simple. For the positive characteristic there exist non-trivial two-sided ideals of <math>A_n(K)</math>. The package Weyl also provides a function for computing the reduced two-sided Groebner basis of these two-sided ideals.
 
   
 
   
 
<math>A_n(K)</math> may be considered as a ring of differential operators with polynomial coefficients
 
<math>A_n(K)</math> may be considered as a ring of differential operators with polynomial coefficients
 
in <math>K[x_1,..,x_n]</math> and <math>y_i</math> denotes the differentiation with respect to <math>x_i</math>. According to the
 
in <math>K[x_1,..,x_n]</math> and <math>y_i</math> denotes the differentiation with respect to <math>x_i</math>. According to the
 
commutation relation, elements of <math>A_n(K)</math> can be represented as a <math>K</math>-linear combination
 
commutation relation, elements of <math>A_n(K)</math> can be represented as a <math>K</math>-linear combination
of monomials <math>x_1^{i_1}\cdot ... \cdot x_n^{i_n}\cdot y_1^{j_1}\cdot ... y_n^{j_n}</math>. The element in this form is then called in '''Normal Form'''.
+
of monomials <math>x_1^{i_1}\cdot ... \cdot x_n^{i_n}\cdot y_1^{j_1}\cdot ... y_n^{j_n}</math>. Such a representation of an element <math>f</math> of <math>A_n(K)</math> is called the '''Standard Form''' of <math>f</math>.
  
 
In Weyl package, we represent such monomial as <nowiki>x[1]^i[1]*...*x[n]^i[n]*y[1]^j[1]*...*y[n]^j[n]</nowiki>
 
In Weyl package, we represent such monomial as <nowiki>x[1]^i[1]*...*x[n]^i[n]*y[1]^j[1]*...*y[n]^j[n]</nowiki>
 
like in the case of commutative polynomial. That is, Weyl Polynomials of <math>A_n(K)</math> that are
 
like in the case of commutative polynomial. That is, Weyl Polynomials of <math>A_n(K)</math> that are
in Normal Form are given as polynomials in ApCoCoA. However, Weyl polynomials that are  
+
in the Standard Form are given as polynomials in ApCoCoA. However, Weyl polynomials that are  
not in Normal form should be first converted into Normal form using the function  
+
not in their standard form should have to be first converted into the standard form using the function  
Weyl.WNormalForm(L). Where L is a list of Lists. See below for description of the use
+
Weyl.WStandardForm(L). Where L is a list of Lists. See below for the description of the use
 
of this function.
 
of this function.
 
   
 
   
 
Addition and subtraction can be done by +, -, but because of the non-commutativity of
 
Addition and subtraction can be done by +, -, but because of the non-commutativity of
<math>A_n(K),</math> multiplication is performed by calling the function Weyl.WMul(). Hence in Weyl
+
<math>A_n(K),</math> the multiplication is performed by calling the function Weyl.WMul(). Hence in Weyl
package, one can work with Weyl algebra using commutative polynomial rings in 2n
+
package, one can work with the Weyl algebra by using the ApCoCoA ring environment for the commutative polynomial rings in 2n
 
indeterminates over the field <math>\mathbb Q</math> or <math>\mathbb Z/p</math> where <math>p</math> is a prime number.
 
indeterminates over the field <math>\mathbb Q</math> or <math>\mathbb Z/p</math> where <math>p</math> is a prime number.
  
 
'''Note:'''  
 
'''Note:'''  
  
1) Due to commutativity of ApCoCoA, yx=xy. So for every function
+
1) Due to commutativity of ApCoCoA, we have yx=xy. Therefore, for every function
in the package, it is not possible to check if the input polynomial F is in  
+
in the package, it is not possible to check if the input polynomial F is in the standard form or not. Thus if any of the monomial in F is of the form y^A*x^B  
normal form or not. Thus if any of the monomial in F is of the form y^A*x^B  
+
then 1st use WStandardForm(L) to convert F into its standard form (here L is a  
then 1st use WNormalForm(L) to convert F into its normal form (here L is a  
 
 
list of lists representing monomials in F).
 
list of lists representing monomials in F).
  
 
2) To make all functions in Weyl package different from functions
 
2) To make all functions in Weyl package different from functions
in other packages of ApCoCoA, each function name in Weyl package starts with
+
in other packages of ApCoCoA, some of the function names in the Weyl package starts with the
letter 'W'. For example, WNormalForm(), WGB(), etc.
+
letter 'W'. For example, WStandardlForm(), WGB(), etc.
  
 
[[Category:ApCoCoA_Manual]]
 
[[Category:ApCoCoA_Manual]]

Revision as of 11:31, 4 May 2011

The package `Weyl' is designed to perform various computations in the Weyl algebras. In particular, one can compute a left Groebner basis of the left ideals in Weyl algebras.

Recall that the dimensional Weyl algebra over a field , is a non-commutative free associative algebra modulo the following commutation relations:

for

and

where . From the last relation we have , i.e. is non-commutative. If is a field of characteristic 0 then is simple. For the positive characteristic there exist non-trivial two-sided ideals of . The package Weyl also provides a function for computing the reduced two-sided Groebner basis of these two-sided ideals.

may be considered as a ring of differential operators with polynomial coefficients in and denotes the differentiation with respect to . According to the commutation relation, elements of can be represented as a -linear combination of monomials . Such a representation of an element of is called the Standard Form of .

In Weyl package, we represent such monomial as x[1]^i[1]*...*x[n]^i[n]*y[1]^j[1]*...*y[n]^j[n] like in the case of commutative polynomial. That is, Weyl Polynomials of that are in the Standard Form are given as polynomials in ApCoCoA. However, Weyl polynomials that are not in their standard form should have to be first converted into the standard form using the function Weyl.WStandardForm(L). Where L is a list of Lists. See below for the description of the use of this function.

Addition and subtraction can be done by +, -, but because of the non-commutativity of the multiplication is performed by calling the function Weyl.WMul(). Hence in Weyl package, one can work with the Weyl algebra by using the ApCoCoA ring environment for the commutative polynomial rings in 2n indeterminates over the field or where is a prime number.

Note:

1) Due to commutativity of ApCoCoA, we have yx=xy. Therefore, for every function in the package, it is not possible to check if the input polynomial F is in the standard form or not. Thus if any of the monomial in F is of the form y^A*x^B then 1st use WStandardForm(L) to convert F into its standard form (here L is a list of lists representing monomials in F).

2) To make all functions in Weyl package different from functions in other packages of ApCoCoA, some of the function names in the Weyl package starts with the letter 'W'. For example, WStandardlForm(), WGB(), etc.