compute the generalized exponents of a difference operator
GeneralizedExponents(L, x, tau, K)
linear difference operator
name for the independent variable
name for the shift operator
(optional) set of algebraic extensions
If E is the shift operator, then a difference operator L = ad⁢Ed + ... + a0 represents a recurrence relation ad⁡x⁢u⁡x+d + ... + a0⁡x⁢u⁡x = 0. A generalized exponent of L is an algebraic expression that encodes the asymptotic behavior (as x -> ∞) of a solution of L. A precise definition is found in section 4 in the reference below, but a description in terms of examples is given here.
A non-zero solution u of L corresponds to a first-order right-hand factor E−r of L where r = E⁡uu = u⁡x+1u⁡x. If r is a rational function then u is called a hypergeometric solution but that is not assumed here.
The asymptotic behavior of u as x -> ∞ is determined by the asymptotic behavior of r as x -> ∞, which in turn can be represented with a series expansion at x=∞. Ignoring logarithmic terms, this expansion takes the form r = c⁢xv (1 + c1⁢x−1n + c2⁢x−2n + ...) for some constants c, c1, c2, ..., a rational number v, and positive integer n.
The only terms ci⁢x−in in this sum with a significant contribution to the asymptotic behavior of u are terms with in≤1. Discarding terms with 1<in and logarithmic terms, what remains is the generalized exponent e := c⁢xv (1 + c1⁢x−1n + c2⁢x−2n + ... cnx) for a solution u.
For example, if u is a polynomial solution of degree N, then u = constant (xN + less dominant terms). Then E⁡uu = 1 + Nx + less dominant terms, and so e=1+Nx is the generalized exponent of u.
If u=cx then E⁡uu=c, so in this case the generalized exponent of u is c. If u=Γ⁡x then E⁡uu=x and so e=x in this example.
Multiplying solutions corresponds to multiplying generalized exponents (and deleting terms ci⁢x−in with 1<in). So if u=cx⁢xN⁢Γ⁡xv is a solution of L, then e=c⁢xv⁢1+Nx is a generalized exponent of L. This is used in LREtools[hypergeomsols] to narrow the search.
Fractional powers of x can only appear if L has order > 1, in which case the order will be at most n. The GeneralizedExponents command will represent e in the form T1⁢1+T2 ... 1+Tk⁢1+Nx where T1=c⁢xv for some constant c and rational number v. Each T2, T3, ... is of the form ci⁢x−in for some constant ci and rational number 0 < in < 1, and will be given implicitly in the form of an equation. In the output, each e is presented as a list, in which each variable is T1, T2, ... is defined in terms of prior variables. The notation N = list means that N runs through all elements of that list, which may contain duplicates because generalized exponents have multiplicities.
Counting with multiplicities, the number of generalized exponents will be equal to the order of L, however, the algorithm will only give one e in every conjugacy class over C⁡1x, where C is the smallest field of constants that contains the coefficients of L as well as the extensions in the optional argument K.
The generalized exponents of any right-factor R of L form a subset of the generalized exponents of L. This is used to compute right-factors efficiently, and makes it possible to quickly compute degree-bounds for right-factors of L.
The optional argument K was omitted, so the field of constants is Q here. The equation T1^2 = x has two solutions, and so although the output lists only one e, it represents T1 (1 - (1/4)/x) for both T1 = x^(1/2) and for T1 = -x^(1/2). Counted this way, the number of generalized exponents matches the order of the input.
The names for the independent variable and the shift operator may be omitted from the input when they have been assigned to _Env_LRE_x and _Env_LRE_tau:
Any operator with L as right-factor will have L's generalized exponents (for left factors, this holds for terms other than the N/x term). This helps to detect factors efficiently.
This contains the generalized exponents of each right-factor of L2, see
Y. Cha, M. van Hoeij, G. Levy. "Solving Recurrence Relations using Local Invariants." ISSAC'2010 Proceedings.
The LREtools[GeneralizedExponents] command was introduced in Maple 2021.
For more information on Maple 2021 changes, see Updates in Maple 2021.
Download Help Document
What kind of issue would you like to report? (Optional)