
Description


•

Weyl algebras are algebras of linear differential operators with polynomial coefficients. They are particular cases of Ore algebras.

•

A Weyl algebra is an algebra of noncommutative polynomials in the indeterminates ${x}_{1},...,{x}_{n},{\mathrm{D}}_{1},...,{\mathrm{D}}_{n}$ ruled by the following commutation relations:

${\mathrm{D}}_{i}{x}_{i}\={x}_{i}{\mathrm{D}}_{i}\+1\,\mathrm{for}i\=1\,...\,n$

Any other pair of indeterminates commute.

•

In the previous equation, x_i and D_i represent multiplication by x_i and differentiation with respect to x_i respectively. The (noncommutative) inner product in the Ore algebra represents the composition of operators. Therefore, the identity reduces to the Leibniz rule:

$\mathrm{diff}\left({x}_{i}f\left({x}_{1},\mathrm{...},{x}_{n}\right),{x}_{i}\right)={x}_{i}\mathrm{diff}\left(f\left({x}_{1},\mathrm{...},{x}_{n}\right),{x}_{i}\right)+f\left({x}_{1},\mathrm{...},{x}_{n}\right)$
•

Since Weyl algebras are particular cases of Ore algebras, you can use most commands of the Ore_algebra package on Weyl algebras without knowing the definition of Ore algebras. For details, see Ore_algebra.

•

More specifically, Weyl algebras are defined as operators with polynomial coefficients.

•

The commands available for Weyl algebras are most of those of the Ore_algebra package, namely the following.


Calculations in an algebra

•

The skew_algebra and diff_algebra commands declare new algebras to work with. They return a table needed by other Ore_algebra procedures. The diff_algebra command creates a Weyl algebra. The skew_algebra command creates a general Ore algebra, but can also be used to create a Weyl algebra. (The latter alternative is in fact more convenient in the case of Weyl algebras with numerous commutative parameters.)

•

The skew_product and skew_power commands implement the arithmetic of Weyl algebras. Skew polynomials in a Weyl algebra are represented by commutative polynomials of Maple. The sum of skew polynomials is performed using the Maple `+` command. Their product, however, is performed using the skew_product command. Correspondingly, powers of skew polynomials are computed using the skew_power command.

•

The rand_skew_poly command generates a random element of a Weyl algebra.

•

The applyopr command applies an operator of a Weyl algebra to a function.

•

The annihilators, skew_pdiv, skew_prem, skew_gcdex, and skew_elim commands implement a skew Euclidean algorithm in Weyl algebras and provide with related functionalities, such as computing remainders, gcds, (limited) elimination. The annihilators command makes it possible to compute a lcm of two skew polynomials. The skew_pdiv command computes pseudodivisions in a Weyl algebra, while skew_prem simply computes corresponding pseudoremainders. The skew_gcdex command performs extended gcd computation in a Weyl algebra. When possible, the skew_elim command eliminates an indeterminate between two skew polynomials.



Examples


>

$\mathrm{with}\left(\mathrm{Ore\_algebra}\right)\:$

>

$A\u2254\mathrm{diff\_algebra}\left(\left[\mathrm{Dx}\,x\right]\,\left[\mathrm{Dy}\,y\right]\,\left[\mathrm{Dz}\,z\right]\right)\:$

>

$\mathrm{skew\_product}\left(\mathrm{Dx}\,x\,A\right)$

${\mathrm{Dx}}{}{x}{+}{1}$
 (1) 
>

$\mathrm{skew\_product}\left(\mathrm{Dy}\,y\,A\right)$

${\mathrm{Dy}}{}{y}{+}{1}$
 (2) 
>

$\mathrm{skew\_product}\left(\mathrm{Dz}\,z\,A\right)$

${\mathrm{Dz}}{}{z}{+}{1}$
 (3) 
>

$\mathrm{skew\_product}\left(\mathrm{Dx}\mathrm{Dy}\mathrm{Dz}\,xyz\,A\right)$

${\mathrm{Dx}}{}{\mathrm{Dy}}{}{\mathrm{Dz}}{}{x}{}{y}{}{z}{+}{\mathrm{Dx}}{}{\mathrm{Dy}}{}{x}{}{y}{+}{\mathrm{Dx}}{}{\mathrm{Dz}}{}{x}{}{z}{+}{\mathrm{Dy}}{}{\mathrm{Dz}}{}{y}{}{z}{+}{\mathrm{Dx}}{}{x}{+}{\mathrm{Dy}}{}{y}{+}{\mathrm{Dz}}{}{z}{+}{1}$
 (4) 
>

$\mathrm{skew\_product}\left({\mathrm{Dx}}^{3}\,{x}^{5}\,A\right)$

${{\mathrm{Dx}}}^{{3}}{}{{x}}^{{5}}{+}{15}{}{{\mathrm{Dx}}}^{{2}}{}{{x}}^{{4}}{+}{60}{}{\mathrm{Dx}}{}{{x}}^{{3}}{+}{60}{}{{x}}^{{2}}$
 (5) 


