create an algebra of linear difference operators
create an algebra of linear q-difference operators
shift_algebra(l_1, ..., l_n)
qshift_algebra(lq_1, ..., lq_n)
list Si,ni or list comm,ai
list Si,ni,qi or list comm,ai
indeterminates (shift and q-shift operator names)
indeterminates (variable names)
indeterminates (parameter names)
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 n1,...,np,S1,...,Sp ruled by the following commutation relations:
for i=1,...,p. Any other pair of indeterminates commute.
A q-difference algebra is an algebra of noncommutative polynomials in the indeterminates q,n1,...,np,S1,...,Sp ruled by the following commutation relations:
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 Si,ni (difference case) or Si,ni,qi (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 comm,ai, 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 na⁢Snb can therefore be printed either na⁢Snb or na⁢Snb.
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 Di=Si+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,<function>). The functions can always be accessed in the long form Ore_algebra[shift_algebra](..) and Ore_algebra[qshift_algebra](..).
A ≔ shift_algebra⁡Sn,n,Sm,m
Both following calls are equivalent. The first syntax is more convenient to input numerous commutative parameters.
Both following algebras are different points of view for the same algebra of operators
(or equivalently skew_algebra(shift=[Sn, n]);).
A ≔ qshift_algebra⁡Sn,qn,Sm,qm
There can also be distinct qs.
A ≔ qshift_algebra⁡Sn,qn,Sm,pm
Download Help Document