GCRD - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.

Online Help

All Products    Maple    MapleSim


LREtools

  

MultiplyOperators

  

multiply linear difference operators

  

GCRD

  

Greatest Common Right Divisor of linear difference operators

  

LCLM

  

Least Common Left Multiple of linear difference operators

  

RightDivision

  

divide two linear difference operators

  

RecurrenceToOperator

  

convert a recurrence relation to a difference operator

  

OperatorToRecurrence

  

convert a difference operator to a recurrence relation

 

Calling Sequence

Parameters

Description

Examples

Compatibility

Calling Sequence

MultiplyOperators(L1, L2, ...)

GCRD(L1, L2, ...)

LCLM(L1, L2, ...)

RightDivision(L1, L2)

RecurrenceToOperator(R, dvar)

OperatorToRecurrence(L, dvar)

Parameters

L1,L2, ...

-

linear difference operators

R

-

recurrence

dvar

-

dependent variable

Description

• 

The shift operator (often denoted as E, S, or τ) acts on functions by adding +1 to the independent variable (often denoted as n or x). If for example the shift operator is denoted with E, and the independent variable by x, then E is the operator that sends an expression ux to ux+1.

• 

One can choose the name of the shift operator by assigning it to _Env_LRE_tau, and the name of the independent variable by assigning it to _Env_LRE_x. If these environment variables are assigned then they will be used to denote the shift operator and independent variable.

• 

An operator L in Cx[E] can be written as L = anxEn + ... + a0x for rational functions aix in Cx. If the dependent variable dvar is for example ux, then the equation Lux=0 is the recurrence relation anxux+n + ... + a0xux = 0. So a difference operator represents a linear homogeneous recurrence relation. Converting representations can be done with the RecurrenceToOperator and OperatorToRecurrence commands.

• 

The product L := MultiplyOperatorsL1,L2 corresponds to composition of linear difference operators. For example, if E is the shift operator and x is the independent variable, then E will send any expression ux to ux+1, while the operator x sends ux to xux. The product xE sends ux to xEux = xux+1 = xux+1 while the product E x sends ux to Exux = Exux = x+1ux+1. So E x acts the same as x+1E, which means that the operator E x equals the operator x+1E.

• 

If L := MultiplyOperatorsL1,L2 and if ux is a solution of L2, in other words L2ux=0, then Lux = L1L2ux = L10 = 0. So right-factors of L are important for solving L because solutions of right-factors are also a solutions of L (this is not true for left-factors, which is why GCLD/LCRM/LeftDivision are omitted here).

• 

The assignment L := LCLML1,L2 computes the Least Common Left Multiple of operators L1 and L2, which means that L1 and L2 are right-factors of L, and L is minimal with this property. Then the solution space of L is the sum of the solution spaces of L1 and L2. The same functionality is provided by gfun[`rec+rec`]. Difference operators are also a special case of Ore operators.

• 

The assignment L := GCRDL1,L2 computes the Greatest Common Right Divisor of L1 and L2, which means that L is a right-factor of both L1 and L2, and is maximal with this property. Then the solution space of L is the intersection of the solution spaces of L1 and L2.

• 

One may specify more than two operators in MultiplyOperators, GCRD, or LCLM. For instance, L := LCLML1,L2,L3 is the Least Common Left Multiple of L1, L2, L3, so solutions of L are sums of solutions of L1, L2, and L3.

• 

The assignment Q,R := RightDivisionL1,L2 right-divides L1 by L2. This means that L1=QL2+R where the order of R is less than that of L2. R will be 0 if and only if L2 is a right-factor of L1.

Examples

withLREtools:

_Env_LRE_tauE;_Env_LRE_xx

_Env_LRE_tauE

_Env_LRE_xx

(1)

MultiplyOperatorsE,x

x+1E

(2)

L1E2x

L1E2x

(3)

L2E2Ex

L2E2Ex

(4)

LLCLML1,L2

LE4E3+2x3E2+x+1E+x2+x

(5)

L3MultiplyOperatorsEx,L1

L3E3xE2+x1E+x2

(6)

GCRDL,L3

E2x

(7)

Q,RRightDivisionL,L3

Q,RE+x,x2x1E2x3+x2+x

(8)

R is not zero so L3 is not a right-factor of L

LnewMultiplyOperatorsQ,L3+R

LnewE4E3+x2x2E2+x+1E+x2x1E2+x2+x

(9)

expandLLnew

0

(10)

OpRecurrenceToOperatorun+3+2un+1+5nun=0,un

OpE3+2E+5x

(11)

recOperatorToRecurrenceOp,un

recun+3+2un+1+5nun=0

(12)

Compatibility

• 

The LREtools[MultiplyOperators], LREtools[GCRD], LREtools[LCLM], LREtools[RightDivision], LREtools[RecurrenceToOperator] and LREtools[OperatorToRecurrence] commands were introduced in Maple 2021.

• 

For more information on Maple 2021 changes, see Updates in Maple 2021.

See Also

DEtools[mult]

gfun[`rec+rec`]

LREtools

LREtools[RightFactors]

OreTools