Ore_algebra, a Package for Skew Operators - Maple Programming Help

Home : Support : Online Help : Applications and Example Worksheets : Algebra : examples/Ore_algebra

Ore_algebra, a Package for Skew Operators

Several algorithms for integration and summation have a natural description in terms of linear differential and difference operators, which in turn are well described by skew (or Ore) polynomials. This was the starting point for the Ore_algebra package.

 > $\mathrm{restart}:$
 > $\mathrm{with}\left(\mathrm{Ore_algebra}\right);$
 $\left[{\mathrm{Ore_to_DESol}}{,}{\mathrm{Ore_to_RESol}}{,}{\mathrm{Ore_to_diff}}{,}{\mathrm{Ore_to_shift}}{,}{\mathrm{annihilators}}{,}{\mathrm{applyopr}}{,}{\mathrm{diff_algebra}}{,}{\mathrm{dual_algebra}}{,}{\mathrm{dual_polynomial}}{,}{\mathrm{poly_algebra}}{,}{\mathrm{qshift_algebra}}{,}{\mathrm{rand_skew_poly}}{,}{\mathrm{reverse_algebra}}{,}{\mathrm{reverse_polynomial}}{,}{\mathrm{shift_algebra}}{,}{\mathrm{skew_algebra}}{,}{\mathrm{skew_elim}}{,}{\mathrm{skew_gcdex}}{,}{\mathrm{skew_pdiv}}{,}{\mathrm{skew_power}}{,}{\mathrm{skew_prem}}{,}{\mathrm{skew_product}}\right]$ (1)

Declaration of an Ore algebra

To work with an Ore algebra, we first have to declare it. The package creates a table that implements and remembers the operations in this algebra. Here is the example of the algebra of linear differential operators in the differential operator $\mathrm{Dx}$ with (rational) coefficients in $x$.

 > $A:=\mathrm{diff_algebra}\left(\left[\mathrm{Dx},x\right]\right)$
 ${A}{:=}{\mathrm{Ore_algebra}}$ (1.1)

(This is the name of the table.)

Although the usual product in Maple is commutative, we use $\mathrm{*}$ to denote skew products, with the convention that powers of $\mathrm{Dx}$ are on the right.

Multiplication of operators is obtained by the function skew_product.

 > $\mathrm{P1}:=x{\mathrm{Dx}}^{2}-1:$$\mathrm{P2}:=\mathrm{Dx}-x:$$\mathrm{P1_P2}:=\mathrm{skew_product}\left(\mathrm{P1},\mathrm{P2},A\right)$
 ${\mathrm{P1_P2}}{:=}{x}{+}\left({-}{2}{}{x}{-}{1}\right){}{\mathrm{Dx}}{+}{x}{}{{\mathrm{Dx}}}^{{3}}{-}{{x}}^{{2}}{}{{\mathrm{Dx}}}^{{2}}$ (1.2)

Remember that in skew algebras of linear operators, factorizations are seldom unique.

 > $\mathrm{DEtools}\left[\mathrm{DFactor}\right]\left(\mathrm{P1_P2},\left[\mathrm{Dx},x\right]\right)$
 $\left[{x}{}\left({{\mathrm{Dx}}}^{{2}}{-}\frac{{1}}{{x}}\right){,}{\mathrm{Dx}}{-}{x}\right]$ (1.3)

An algorithm is also available to compute (one-sided) Groebner bases in Ore algebras. This is demonstrated in the presentation of the Groebner package.