Ore_algebra - Maple Programming Help

Home : Support : Online Help : Mathematics : Algebra : Skew Polynomials : Ore Algebra : Ore_algebra/shift_algebra

Ore_algebra

 shift_algebra
 create an algebra of linear difference operators
 qshift_algebra
 create an algebra of linear q-difference operators

 Calling Sequence shift_algebra(l_1, ..., l_n) qshift_algebra(lq_1, ..., lq_n)

Parameters

 l_i - list $\left[{S}_{i},{n}_{i}\right]$ or list $\left[\mathrm{comm},{a}_{i}\right]$ lq_i - list $\left[{S}_{i},{n}_{i},{q}_{i}\right]$ or list $\left[\mathrm{comm},{a}_{i}\right]$ S_i - indeterminates (shift and q-shift operator names) n_i - indeterminates (variable names) a_i - indeterminates (parameter names)

Description

 • The shift_algebra(l_1, ..., l_n) and qshift_algebra(lq_1, ..., lq_n) functions each declare an Ore algebra and return a table that is used by other functions of the Ore_algebra package.
 • A difference algebra is an algebra of noncommutative polynomials in the indeterminates ${n}_{1},...,{n}_{p},{S}_{1},...,{S}_{p}$ ruled by the following commutation relations:

${S}_{i}{n}_{i}=\left({n}_{i}+1\right){S}_{i}$

 for $i=1,...,p$.  Any other pair of indeterminates commute.
 • A q-difference algebra is an algebra of noncommutative polynomials in the indeterminates $q,{n}_{1},...,{n}_{p},{S}_{1},...,{S}_{p}$ ruled by the following commutation relations:

${S}_{i}{n}_{i}=q\left({n}_{i}+1\right){S}_{i}$

 for $i=1,...,p$.  q is a constant and any other pair of indeterminates commute.
 Note: Difference and q-difference algebras are special cases of Ore algebras. For more information, see Ore_algebra.
 • The name n_i can be unassigned.
 • The name S_i can be unassigned.  It is used to denote the difference or q-difference indeterminate S_i associated to the base indeterminate n_i, that is, the operator of shift or q-shift with respect to n_i.
 • When the list l_i is of the form $\left[{S}_{i},{n}_{i}\right]$ (difference case) or $\left[{S}_{i},{n}_{i},{q}_{i}\right]$ (q-difference case), the names n_i and S_i can be unassigned.  Both indeterminates commute with any other indeterminate of the algebra.
 • When the list l_i is of the form $\left[\mathrm{comm},{a}_{i}\right]$, the name a_i can be unassigned.  It denotes a parameter that commutes with any other indeterminate of the algebra.
 • Though difference and q-difference algebras are noncommutative algebras, their elements are represented with the standard commutative Maple product.  Every Ore_algebra function dealing with elements of a difference of q-difference algebra uses its normal form where all S_i appear on the right of the corresponding n_i.  A monomial ${n}^{a}{\mathrm{Sn}}^{b}$ can therefore be printed either ${n}^{a}{\mathrm{Sn}}^{b}$ or ${n}^{a}{\mathrm{Sn}}^{b}$.
 • The sum in difference or q-difference algebras is performed by simply using the Maple +, while the product is performed by the Ore_algebra function skew_product (see examples below).
 • It is also possible to declare a difference or a q-difference algebra by using Ore_algebra[skew_algebra].  Moreover, the algebras declared by Ore_algebra[shift_algebra] and Ore_algebra[qshift_algebra] are difference and q-difference algebras based on shift and q-shift operators S_i, but it is also possible to declare algebras based on finite difference and q-difference operators ${\mathrm{D}}_{i}={S}_{i}+1$ (see Ore_algebra[skew_algebra], predefined types delta and qdelta).
 • Options are available to control the ground ring of the algebra and the action of the operators on Maple objects.  See Ore_algebra[declaration_options].
 • These function are part of the Ore_algebra package, and so can be used in the form shift_algebra(..) and qshift_algebra(..) only after performing the command with(Ore_algebra) or with(Ore_algebra,).  The functions can always be accessed in the long form Ore_algebra[shift_algebra](..) and Ore_algebra[qshift_algebra](..).

Examples

 > with(Ore_algebra):

Difference algebras:

 > A:=shift_algebra([Sn,n],[Sm,m]);
 ${A}{≔}{\mathrm{Ore_algebra}}$ (1)
 > skew_product(Sn,n,A),skew_product(Sm,m,A);
 $\left({n}{+}{1}\right){}{\mathrm{Sn}}{,}\left({m}{+}{1}\right){}{\mathrm{Sm}}$ (2)
 > skew_product(Sn*Sm,n*m,A);
 $\left({n}{}{m}{+}{m}{+}{n}{+}{1}\right){}{\mathrm{Sn}}{}{\mathrm{Sm}}$ (3)
 > skew_product(Sn,n^10,A);
 $\left({{n}}^{{10}}{+}{10}{}{{n}}^{{9}}{+}{45}{}{{n}}^{{8}}{+}{120}{}{{n}}^{{7}}{+}{210}{}{{n}}^{{6}}{+}{252}{}{{n}}^{{5}}{+}{210}{}{{n}}^{{4}}{+}{120}{}{{n}}^{{3}}{+}{45}{}{{n}}^{{2}}{+}{10}{}{n}{+}{1}\right){}{\mathrm{Sn}}$ (4)

Both following calls are equivalent.  The first syntax is more convenient to input numerous commutative parameters.

 > skew_algebra(comm={a,b,c,d,e,f,g,h},shift=[Sn,n]);
 ${\mathrm{Ore_algebra}}$ (5)
 > shift_algebra([comm,a],[comm,b],[comm,c],[comm,d],[comm,e],[comm,f],     [comm,g],[comm,h],[Sn,n]);
 ${\mathrm{Ore_algebra}}$ (6)
 > evalb((5)=(6));
 ${\mathrm{true}}$ (7)

Both following algebras are different points of view for the same algebra of operators

 > shift_algebra([Sn,n]);
 ${\mathrm{Ore_algebra}}$ (8)

(or equivalently skew_algebra(shift=[Sn, n]);).

 > skew_algebra(delta=[Dn,n]);
 ${\mathrm{Ore_algebra}}$ (9)

q-difference algebras:

 > A:=qshift_algebra([Sn,q^n],[Sm,q^m]);
 ${A}{≔}{\mathrm{Ore_algebra}}$ (10)
 > skew_product(Sn,q^n,A),skew_product(Sm,q^m,A);
 ${q}{}{{q}}^{{n}}{}{\mathrm{Sn}}{,}{q}{}{{q}}^{{m}}{}{\mathrm{Sm}}$ (11)
 > skew_product(Sn*Sm,q^n*q^m,A);
 ${{q}}^{{2}}{}{{q}}^{{n}}{}{{q}}^{{m}}{}{\mathrm{Sn}}{}{\mathrm{Sm}}$ (12)
 > skew_product(Sn,(q^n)^10,A);
 ${{q}}^{{10}}{}{\left({{q}}^{{n}}\right)}^{{10}}{}{\mathrm{Sn}}$ (13)

There can also be distinct qs.

 > A:=qshift_algebra([Sn,q^n],[Sm,p^m]);
 ${A}{≔}{\mathrm{Ore_algebra}}$ (14)
 > skew_product(Sn,q^n,A),skew_product(Sm,p^m,A);
 ${q}{}{{q}}^{{n}}{}{\mathrm{Sn}}{,}{p}{}{{p}}^{{m}}{}{\mathrm{Sm}}$ (15)
 > skew_product(Sn*Sm,q^n*p^m,A);
 ${q}{}{{q}}^{{n}}{}{p}{}{{p}}^{{m}}{}{\mathrm{Sn}}{}{\mathrm{Sm}}$ (16)
 > skew_product(Sn,(q^n)^10,A);
 ${{q}}^{{10}}{}{\left({{q}}^{{n}}\right)}^{{10}}{}{\mathrm{Sn}}$ (17)