Category:Package weyl

From CoCoAWiki
Jump to: navigation, search

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 <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:

<math>[x_i, x_j] = 0, [y_i, y_j] = 0, [y_i, x_j] = 0</math> for <math>i\neq j,</math>


<math>[y_i, x_i] = 1,</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 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 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 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 <math>A_n(K)</math> 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 <math>A_n(K),</math> 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 <math>\mathbb Q</math> or <math>\mathbb Z/p</math> where <math>p</math> is a prime number.


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.