Ore_algebra[shift_algebra]  create an algebra of linear difference operators
Ore_algebra[qshift_algebra]  create an algebra of linear qdifference operators

Calling Sequence


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


Parameters


l_i



list or list

lq_i



list or list

S_i



indeterminates (shift and qshift 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 ruled by the following commutation relations:


for . Any other pair of indeterminates commute.

•

A qdifference algebra is an algebra of noncommutative polynomials in the indeterminates ruled by the following commutation relations:


for . q is a constant and any other pair of indeterminates commute.


Note: Difference and qdifference 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 qdifference indeterminate S_i associated to the base indeterminate n_i, that is, the operator of shift or qshift with respect to n_i.

•

When the list l_i is of the form (difference case) or (qdifference 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 , the name a_i can be unassigned. It denotes a parameter that commutes with any other indeterminate of the algebra.

•

The sum in difference or qdifference 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 qdifference algebra by using Ore_algebra[skew_algebra]. Moreover, the algebras declared by Ore_algebra[shift_algebra] and Ore_algebra[qshift_algebra] are difference and qdifference algebras based on shift and qshift operators S_i, but it is also possible to declare algebras based on finite difference and qdifference operators (see Ore_algebra[skew_algebra], predefined types delta and qdelta).

•

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,<function>). The functions can always be accessed in the long form Ore_algebra[shift_algebra](..) and Ore_algebra[qshift_algebra](..).



Examples


>


Difference algebras:
>


 (1) 
>


 (2) 
>


 (3) 
>


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


 (5) 
>


 (6) 
>


 (7) 
Both following algebras are different points of view for the same algebra of operators
>


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


 (9) 
qdifference algebras:
>


 (10) 
>


 (11) 
>


 (12) 
>


 (13) 
There can also be distinct qs.
>


 (14) 
>


 (15) 
>


 (16) 
>


 (17) 


Download Help Document
Was this information helpful?